¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io

[TDD] Behavioral challenges in adopting TDD


 

¿ªÔÆÌåÓý

Hi there,

A short answer: Patience, love, and understanding, fostered by someone who's been there/done that. Do you have any TDD-experienced folks in the team who can work with your senior dev?

A primary goal when I start pairing with devs is help them out with their current challenges, by showing them useful legacy code techniques to start getting their code under control and by helping them figure out other problems and coming up with better solutions (the primary goal of pairing). Sitting with them allows me to start working in test-first as we go along, talking about techniques, values, etc. as we go. This is effective for most devs, including senior ones. (I had one lead dev tell me "I've learned more in the past two weeks than in the past two years.")

The legacy themes and techniques quickly demonstrate how it's possible to make changes and minimize fear.

As far as the dip in productivity, it's not hard to get someone to agree that it makes logical sense and is worth the initial dip in productivity. On one simple score, most shops don't quantify a cost to develop a given feature, since they don't take into the account the cost of rework, the additional cost to understand poor code, and the true costs of defects.

Regards,
Jeff

Langr Software Solutions, Inc.


Pragmatic Unit Testing in Java?()
Modern C++ Programming with TDD ()
Agile in a Flash ()
Agile Java: Crafting Code with Test-Driven Development?()
Essential Java Style ()

On Apr 13, 2016, at 8:48 AM, poojawandile@... [testdrivendevelopment] <testdrivendevelopment@...> wrote:



HI,

I am anticipating following challenges in TDD adoption. Any suggestion how to deal with such situations?


The list is long :-). Thanks,?


  1. 1.? ? ??You have a very experienced, senior and technically sound developer who has designed and developed solutions in a traditional way. This person has not completely bought in to the idea of TDD. How will you motivate such people??

  2. 2.??????The program that you are working on is complex, for that matter every program is complex, has dependencies on other systems/program/modules/components, how and where do you start with TDD? Developer fear making change/refactor as they believe any such attempt can break existing working system. They don't want to mess with something that is working.?

  3. 3.? ? ??Your team has traditionally worked in a test after situation, first write code and then write unit test cases. Time and again their mind first think of implementation logic since it has been trained that way for a long time, how do you make them unlearn this habit??

  4. 4.??????TDD will take time initially. The estimation of your project was done when TDD was not in picture. Now that you have to use TDD, how would you now negotiate with your manager and business for this extra time??

  5. 5.??????Why is singleton not considered a good design pattern. what are Technical challenges in using TDD in web applications.?


W


An