Literally and metaphorically. Tomorrow Marc Evers and I will be presenting the next iteration of Beyond Agile / People versus Process at a meeting of the dutch DSDM Consortium in Houten, Netherlands. Today is a public holiday in the Netherlands, and it is snowing (! not normal late March)… So what better opportunity to stay inside, leave the phone and the mail off and muse a bit more on going round in circles .
Tomorrow we plan to present the material in much the same way as at Qcon London, and spend the extra time we have on doing exercises with the participants, much like we did at XP Days Benelux and London last year, now with new and improved exercises . We’re getting better at presenting the patterns in a non-linear fashion and getting the idea across that one pattern is better than the other, but that they each have a context where they fit best.
After Beyond Agile in France, we took up the nice task of re-ordering most of the presentations, and drawing some of the choreographies you could see in the notes, so that we could tell stories more effectively, show the patterns in a context where they fit and explain why some choreographies are easier than others.
We start off with asking the audience questions about too much or too little process and whether they have been involved in some way in an agile transformation. At qcon, surprisingly little hands went in the air for any of the questions – so that might mean that agile is not that mainstream yet… We expect most people to have worked in either routine and/or variable cultures. Several people raised their hands on all questions . So that means it is a decent starting point – it is easy for most of the audience to picture what these cultures feel like from their own experience. Some of the others require a bit more explanation, as they are more uncommon or less easy to spot.
Routine and Variable can also help explain an endless source of conflicts within an organization. At Agile Open France there was a session on “Dev vs Prod” (Development versus Production – most of the participants worked in some kind of IT organisation where the Developers – people who program the programs – are not responsible for keeping the programs they make up and running – that is the responsibility of Production). Developers often prefer a variable way of working – being flexible, trying out new stuff and making the customer happy. When they hand their stuff over to Production, they are faced with forms and procedures – indicative of a Routine Culture.
Now, why would Production have these procedures?
Because (amongst other things), they have past experiences with Development handing in code that ‘Works On My Machine’, and even if the code does work, most software they have to use is Legacy Code. As Gildas noted at Agile Open France, most production software (e.g. mail servers, databases, some web servers) don’t give feedback until you restart it and go live. Some do some syntax checking (e.g. the apache web server), but even that is uncommon.
So any change to a production environment has a good chance of breaking it, which leads to the Production people getting complaints and working nights to get the whole thing back up and running. Wait, did I say working nights? That doesn’t sound very Routine, now does it…
Often when something goes wrong, a routine organization will temporarily go into a Variable state, in the hope that order will return soon. In the case of Production, going Variable is more unpleasant, because if you’ve been doing this for a while (I have, as a side project), you can feel in your gut that something might go wrong again, requiring even more heroic fixing… And this always happens when you least expect or want it (say, the day before you go on holiday…).
The two pictures with arrows already show two uses of the patterns:
- Predict and explain conflicts between parts of an organization
- Transitions from one pattern to another (and back) and why they happen.
And that ‘fixes’ one of the ‘defects’ we had in our presentation last year: explain early on in the presentation what we use these patterns for – we usually needed the Q&A round to explain the ‘why’… I hope to follow up with another post on another ‘why / how to’ : guide transitions from one cultural pattern to another, and explain why some transitions feel easier to me than others.