I am Robert C. Martin (Uncle Bob). Ask me anything.

View original thread
Matt Madson's photo

How do you handle more senior engineers who are resistant to evolutionary design / iterative refactoring and TDD? How best do you shape the hearts and minds of your fellow colleagues.

Robert Martin's photo

Tough question. You can try to change people's minds, but don't expect much. People don't like to change their minds.

The best strategy is to be a role model. Adopt the disciplines yourself, and allow people to follow you. You can do some lunch-and-learns, and you can talk with folks about the benefits.

In the end, you are likely to convince a few people. But the majority will not be convinced.

This divides the programmers into two populations. These two populations have very different values. People from those two populations find it very difficult to work together. In the end they will separate. People who like TDD will tend to congregate within the same company, or may leave in search of other companies who share their values.

This migration in search of values has been going on for twenty years now. There are whole companies who have adopted TDD/Refactoring etc. I expect them to outperform those who don't.