I'm a mechanical engineer & I turned to programming because I love doing it. However soon after I started working in industry; my excitement turned into frustration.
I'm not alone with this experience; because most of us work on Legacy Code.
Doing TDD has made me more productive. The stress I used to experience in earlier way of working no more exists. Code no more comes into my dreams & spoil my sleep. I can get creative & aggressive; experiment different approaches. It's because of that great feeling :- My code is protected by Tests.... The tests that run fast & give me immediate feedback what I have done.
In spite of this; I wonder why TDD finds so hard to get accepted in programmers' community. When I give little thought over this; it seems obvious. Even when I started TDD; I failed; I failed many times. It's a awkward concept. Awkward because most of the programmers are not used to work this way. And changing the way of working always faces resistance.
In this presentation I'm sharing the hurdles that come in way to TDD. Overcoming these hurdles takes efforts; but its possible; and its worth for the benefits it gives. Hope you find this useful.
I'm writing a series of posts on this blog about my experience with TDD in not just with Programming but in many other things.
- My Experience with TDD
- TDD and Science
- TDD and Product Definition
- Want to get rid of Beurocracy; then you need TDD!
Your views are welcome.