Will TDD become mainstream?
I have been asked a number of times in the last few years if I think TDD (Test Driven Development) will go mainstream. Firstly, we need to agree on what mainstream is – Wikipedia does not give any hard numbers (http://en.wikipedia.org/wiki/Mainstream) but it seems like 20% would be a good number for software development (I pulled this out of thin area – please share your thoughts). For TDD to have that much mindshare (in the stubborn software development world) would firmly seat TDD as an established and accepted way of developing code. So how much mindshare does it have now? Again I don’t know how you would get a measure (Gartner studies maybe?) but my experiences with software development in the Washington DC Metro area makes me think it is far less than 20%.
Will this change – will it gain wider support? I don’t think so for the following reasons:
- TDD takes discipline – many developers don’t have discipline when coding.
- TDD requires “buy in” at all levels within an organization.
- TDD takes time to learn the practice effectively – this is difficult given the deadlines most teams face.
- TDD works well with Pair Programming which tends to be too contentious to get by most management teams.
- It is difficult to produce hard evidence for TDDs benefits since software is abstract and hard to compare across projects (and seldom would you build the same software twice just to compare techniques). This evidence will be necessary to persuade many decision makers.
Please don’t think that I am bashing TDD or Pair Programming – we use both everyday and believe in their enormous value! I am happy that TDD is not mainstream since this gives a great competitive edge over other software development teams.
If you are looking for a position with a company that believes in and practices TDD and Pair Programming, we are hiring.
Jonathan Cogley is the CEO and founder of Thycotic Software, a .NET consulting company and ISV in Washington DC. Thycotic Secret Server is a secure web-based solution to both "Where is the password for this router?" and "Who has the password for our domain hosting?". Secret Server is the leader in secret management and sharing within companies and teams.