I’ve just been through the updates from the groups I’m connected with on LinkedIn, and I read an interesting quote about Agility and speed.
If you focus on Quality, through effective refactoring and test coverage, speed will be maintained in the long term. When the code base gets quite large, speed of change can be difficult when there is poor quality code and little test coverage to support the code base.
You would be fooling yourself if speed was more important.
This has got me thinking about Test Driven Development (TDD) all over again.
Writing tests upfront for projects always seems like a massive over head, but as any project gets larger, and more functionality is added, without any tests you just wont know what effect those changes are having on the rest of the system. To run tests and see them fail means you can deal with an unexpected corner case before a client discovers it, and you know they will. This will save time in the long run, and will also leave you with happy clients.