The path to TDD and software excellence…

The more I study TDD, and the more I read Robert C. Martin’s study on clean code principals, the more I see this pyramid of development maturity.

TDD feels like the icing on the cake. The cake must come first. In this case, the cake is the principles and practices of clean code. Without clean code and the knowledge of Agile software principals, TDD is a very difficult practice to do. In my mind, the maturity model goes like this:

TDD Maturity ModelThe model shows level of difficulty and experienced needed, the further up the model you go. I have no doubt that some companies have taken TDD and enforced the process on their teams, without first going through the preliminary processes of learning. This is dangerous. I have seen projects eventually bury themselves in complexity and grind themselves down to a stop because of lack of clean code principles. When TDD is applied that way, not only will your software have fields of bad code inside of it, but you now have a test library to maintain with an equal amount of, if not more, bad code. The levels of complexity long running software projects can build up is scary. Maintenance costs and improvements become 10 times more expensive.

The investment in the above principles and practices are absoloutely golden to maintaining cost effective development of software.

“Agile Principles, Patterns, and Practices in C#” is a fantastic book from Robert C. Martin. Also, check out his Bad Code presentation over at InfoQ. It definitily got me laughing.

Advertisements
This entry was posted in Uncategorized. Bookmark the permalink.

One Response to The path to TDD and software excellence…

  1. Pingback: Test Driven Development by Martin Blore « Delicious Mangoes

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s