Generating Changes

This post is not going to be technical at all - pure theory of how to generate a change in minds of those who cannot accept what agility and test driven development are proposing.

One of the biggest questions is "why". Why would someone bother to code to interfaces, if could deliver a working application without it. Why to have the hassle of creating test first, interface and then concrete implementation, going through enormous amount of code changes, if you can code the class, and in 'worse' case extract an interface 'just-in-case'? Why to give a method a fluent name and worry about simplicity, if you can 'dig the code to see what it's doing'? Why to bother test in isolation, if you can do the integration test. Hell, why even to bother doing integration, let the user do the testing...

So I tried to step back, and rethink how to generate the change in minds, because once the mind is accepting the idea, techniques will definitely come after. One of the ideas I am trying to stick to is to serve an example (thanks JP for constantly reminding this) - let others see that you are standing behind your words and don't be afraid of admitting the fact that the learning curve for you has the same slope as for others.

Keep challenging those that are in doubt - do not let them stay in the cozy spot thinking that since they won a single argue, they won the whole battle.

Figure out the weak spots in the old school doctrine, and show how you can make it better.

Experiment and benchmark - the best way to blow away assumptions is to show how they fail in reality. Get someone to read a procedural code of  a page and a half, or show how a call to stand-alone utility method fails the logic of an average developer to understand why there's a need to go to a utility that has no relationship to the subject at all.

Give them the material for a thought. The true developer wants to know what's behind the door. If you leave the door slightly opened, the real developer will have a sneak look through it. And if so, then allow some time for ideas to be digested. It will grow in something bigger out of a curiosity. And if it won't, well, that was just a first level. The game is more appealing at the next one - keep trying!

No Comments