XP Reflections - Test Driven Development
Submitted by Dave Chaplin on Thu, 16/09/2004 - 11:40.
test driven development
After 10 years development experience and 3 years active experience leading teams practising Test-Driven Development (TDD) I decided to conduct a brain dump of observations and offer advice to those embracing the techinque.
Here are some snippets from the original article XP Reflections - Test Driven Development
In my opinion Test Driven Development is the greatest asset to come out of the agile movement. Significant quality and productivity gains are made by using TDD. Hence it is very rapidly spreading through development circles...
Before learning TDD it is like owning a car and always driving around in fourth gear when in fact it has five. Then someone comes along and shows you how to use fifth gear (TDD). The journey becomes smoother and faster. Considering going back to continued use of fourth gear is futile...
TDD aligns itself with the best practice of ‘Test Automation’. Basically, do lots of testing, do it often, and make it darn quick to do. This then ensures it is fast, exhaustive and 100% repeatable...
So, whilst TDD is new in terms of its branding, essentially it just brings the best practice of Test Automation to the development level. We all should have been doing this for years anyhow!
In terms of developer capability my view is that TDD requires very good developers who have at least 5 years development experience in an OO language combined with knowledge and experience of using design patterns. TDD is certainly not for hackers.
Whilst TDD produces massive productivity gains, bear in mind that its tests are applied at the functional level – not the business. You could build yourself a very fast development capability like a well oiled machine. But if your business requirements are wrong, and you’ve been driving up the wrong road, the application is worthless. Getting to the wrong place in a broken car or a fighter jet is the same. It is still the wrong place.
I'll post some further articles on XP Reflections soon.
Here are some snippets from the original article XP Reflections - Test Driven Development
In my opinion Test Driven Development is the greatest asset to come out of the agile movement. Significant quality and productivity gains are made by using TDD. Hence it is very rapidly spreading through development circles...
Before learning TDD it is like owning a car and always driving around in fourth gear when in fact it has five. Then someone comes along and shows you how to use fifth gear (TDD). The journey becomes smoother and faster. Considering going back to continued use of fourth gear is futile...
TDD aligns itself with the best practice of ‘Test Automation’. Basically, do lots of testing, do it often, and make it darn quick to do. This then ensures it is fast, exhaustive and 100% repeatable...
So, whilst TDD is new in terms of its branding, essentially it just brings the best practice of Test Automation to the development level. We all should have been doing this for years anyhow!
In terms of developer capability my view is that TDD requires very good developers who have at least 5 years development experience in an OO language combined with knowledge and experience of using design patterns. TDD is certainly not for hackers.
Whilst TDD produces massive productivity gains, bear in mind that its tests are applied at the functional level – not the business. You could build yourself a very fast development capability like a well oiled machine. But if your business requirements are wrong, and you’ve been driving up the wrong road, the application is worthless. Getting to the wrong place in a broken car or a fighter jet is the same. It is still the wrong place.
I'll post some further articles on XP Reflections soon.
