Test-driven development (TDD) ‘Tipping Point’
In his seminal work “The Tipping Point,” Malcom Gladwell describes ideas that take hold as epidemics – viral, if you will. Gladwell identifies key factors that play a role in determining whether a particular trend will “tip” into wide-scale popularity. He calls these factors the Law of the Few, the Stickiness Factor, and the Power of Context.
The Law of the Few contends that before widespread popularity can be attained, a few key types of people must champion an idea. Gladwell defines the Stickiness Factor as the quality that compels people to pay close, sustained attention to a product, concept, or idea.
The Power of Context
The concept that Gladwell terms the Power of Context is enormously important in determining whether a particular phenomenon will tip into widespread popularity. Even minute changes in the environment can play a major factor in the propensity of a given concept attaining the tipping point. It’s this area that really turned things around on our current project.
Reaching the Tipping Point with TFD / TDD
We developed a game that awarded points based upon measured code coverage supplied by tests. Our automated Continuous Integration system ran these automated tests and produced the results. We have detailed on-line reports showing how much of the code base is “under test.” Points were awarded for new tests, fixed bugs, improved code (based upon static code analysis) and delivered features. Points were deducted for broken builds and improper coding idioms introduced. And we made the “Leader Board” highly visible.
In a single three-week Sprint, more than 400 tests were created that increased code coverage by more than 10%. Defect density plummeted and the developers were freed from bug fixes and spent their time in more interesting pursuits. We now have the beginnings of a Regression Test Suite that will mitigate the introduction of new bugs and recurrence of old bugs as new features are added to the project. The same tests also act to verify and clarify requirements and head off many misunderstandings. And, of course, the business group appreciates the noticeable improvement in code quality.
I believe that we reached the tipping point and now, on our next Sprint, everyone seems to be moving towards a TFD/TDD mindset. Of course time will tell – I’ll keep you posted.
Partner, Web Financial Solutions (WFS)
Agile Coach, Certified ScrumMaster
Principle Training Instructor & Software Architect
Web Financial Solutions provides expert Software Development Life Cycle process improvement.
The services we offer include:
For more information about our services you can fill out our online contact form and someone will follow up with you shortly. You can also call John 416-505-4756