As a programmer told me:
One programmer is fanatical about code quality, he is especially strong against duplication. He is also the one who maintains an install program for our servers, and one for development workstations. They should be quite similar in operation – however they are two different scripts, one was once a copy from the other, but they have now diverged. This means defects have to be repaired twice, and the scripts are a complicated mess that only that programmer can maintain, with a lot of effort.
When I asked him “why did you duplicate these scripts” he said: “The what? oh yes, that is not a program. That is something I just put together so we can install our program. It’s not a program, it’s just a script… “
For some reason this second programmer sees the install script as a
non-program, so the same routine that applies to programs, does not apply to ‘scripts’, therefore duplication is not a ‘problem’ – he can not see it as a problem, even when the first programmer asks him about it.
The second Programmer has an oblivious pattern for one part of the project where he may apply a routine or steering pattern to other parts.
The first Programmer seems to be aiming for a congruent culture (albeit, so far a culture of one person only, a micro-culture so to say):
Congruent culture – everyone is involved in improving everything all the time; it is a culture of ongoing reflection and improvement.
So in that view
Scripts are programs too
And if there is a problem (defects caused by duplication in this case), you stop, work on the problem, find out what caused it and what we can do to prevent it from happening again. And, last but not least, we do this with the whole team, so everybody can step away from their micro-culture.
In a way, a congruent pattern makes it irrelevant whether something is a program or not…. if something gets in the way, we do something about it.
(This post is part of a series on cultural patterns of organisations. Marc Evers and I are hosting a trial workshop next week, so we’ll be posting some more stories and pattern descriptions as we are working on our introductory presentation this week).
(photos under a creative commons 2.0 ‘by’ license)
“Oblivious” by James Craig (picture of a standing duck oblivious of a waterfall, because it faces the other way)
“Oblivious” by Emily Nieves (picture of a lady in the water with her eyes closed)