Are you creating unit tests for the code you’re developing? What is your current code coverage? Can you easily identify when a change might break your required functionality?
Unit testing offer many advantages. They reduce bugs in both new and existing features. They force you to make better design decisions and help you better understand your code. They increase confidence while refactoring and development teams that unit test spend more time creating new and updated code and less time troubleshooting bug-laden code. Agile teams put time into developing unit tests so they can fulfill the agile principle of simplicity – the art of maximizing the amount of work not done.
It’s possible you have avoided the task of creating unit tests because you don’t have time, there’s no one who can do it, or your team doesn’t see the value. Unfortunately, without unit testing you are impacting your ability to quickly get quality product into your customer’s hands. It’s time to examine the amount of time your team puts into dealing with bugs and the number of bugs that are introduced after refactoring. Now consider how unit testing could reduce this amount of rework. It’s time to hack your development practices and add in unit tests.
(Original article appeared in April 8th 2015 edition of The Tempo)