Tuesday, November 10, 2009

My Experience with "Test Driven Development"

I first heard about the word "TDD" from my senior colleague Nitin Bhide a few years back. He also conducted a hands-on session for us on how to do TDD using cpp-unit.

The first reaction I had (though I didn't tell this to Nitin) was…
"Its interesting, but is suited for people who have a lot of time to spare and no delivery pressures. It's impractical & really awkward to do it".
However for some reasons I continued doing it (perhaps somewhere I liked it but was not able to convince myself). And … The more I did it; it made more & more sense doing it.


Today I feel "TDD" is one of the most scientific ways of developing software. In fact I think the TDD concept is not born in the software world at all. It is being used by Scientists, Product designers, people making policies & processes, history scholars (and many more…) since long time.

I must admit that I have not read any prescribed book on TDD. So what I say is not necessarily correct. I would greatly appreciate if someone corrects me if I go wrong.

My views are based on some inspirations, some online reading & numerous mistakes I made while practicing it over the years.

I owe a lot to following people who helped me in this journey:

  • Nitin Bhide : from whom I first heard about TDD.
  • Kent Beck : who taught me the rhythm of RED - GREEN - REFACTOR through his beautiful book "Test Driven Development by Example", which has greatly influenced my way of programming
  • Robert C Martin : to whom I'm grateful for Design Principles, Design Patterns Unit testing, TDD and many other things I could learn.
  • Michael Feathers : who taught me who to make it work even for legacy code. (through his book "Working Effectively with Legacy Code")
(It would be a great day for me if I could meet these two gentlemen.)
  • Tathagata Chakraborty : my colleague who renewed my interest in TDD & gave me confidence that I'm thinking in right direction.
  • Last & not the least "Dr. Goldratt" who gave me an entirely different line of thinking.
Keep reading...

No comments:

Post a Comment