Recently (and finally), I watched the film “Oppenheimer”.
They won’t fear it until they understand it. And they won’t understand it until they’ve used it. — “Oppenheimer” (film)
I don’t know whether it’s a quote from the real Oppenheimer or a creation from the movie, but this impressed me the most.
Typically, we can’t change people’s minds directly. Often, they change because they realise that the change improves their lives. People often fail to realize the dangers of constantly staring at their phones on the street until they experience a vehicle collision. In the Agile world, people won’t understand the concepts we teach until they’ve tried them.
During the Agile engagement, one of the common problems we encountered was that the developers (and managers) were doubtful about using Test-driven development (TDD) or even writing unit tests.
Fear of change is part of human nature. Perhaps they don’t understand it. Perhaps they are afraid of failure. Perhaps they are worried about the extra workload. These are all matters of lacking confidence, and people usually resist change until they have actually tried it.
“Why do I have to write unit tests? Why can’t I just skip them?” a few developers approached me at various moments, asking the same question.
“If you don’t write unit tests, how can you quantitatively justify that the code you have written works as expected every time?” I often replied by asking this question. None of them could answer me.
I paired up with one or two developers once a week, guiding them to simplify their testing by using Test Doubles. Once they had learned the basics of testing and mocking techniques, I guided them to refactor the code. Whenever there was a small change, I asked the developers to rerun the tests. Every “green” test result boosted their confidence.
After one month, these developers encouraged their teammates to write unit tests and try TDD together. In just a month, I managed to shift the developers from denial to embracing the new technique. They now appreciate the power of unit testing.
If people are doubtful about making changes or trying new approaches, usually it’s because they don’t have a deep understanding of the new concept. As an Agilist, I value empiricism. I suggest offering them a couple of weeks to fully immerse themselves in the new approach. After two weeks, they should feel the difference. Hold a retrospective to evaluate whether they should continue with the new approach or drop it.
Let’s get our hands dirty. This is also the art of Shu-ha-ri."