Stability is boring… – spiral upwards instead!
Tuesday, October 30th, 2007Preparations for the trial run of People vs Process: Cultural Patterns of Software Organisations this Wednesday are starting to wind down. The presentation, exercises and stories we want to do are virtually done. Marc uses cultural patterns to describe some common failure modes when starting with an agile way of working : Agile choreographies in the culture space:
Most of the time, transitioning to an agile approach means going from a Variable or Routine culture to a Steering culture.
Practices like daily stand-up meetings, short iterations, frequent releases, iteration retrospectives, test driven development, continuous integration, big visible charts, stop the production line mentality all help improve the visibility and stability of the software development system.
These are all indicators for a steering culture.
The transitioning process itself often escapes the attention of the unwary. That can result in an oblivious or variable transformation process, which in turn can result in one of the failure modes Marc mentions. A heroic (variable) or unconscious transformation can result in reduced performance, that you often won’t be able to notice… Or you’ll get lots of ‘resistance’ and think ‘how did that happen?’
The process of transformation itself can be done in a steering way, for instance by using a change backlog. It helps if one knows, for instance by experience, where to look. Because we don’t have a stable process yet, we have to rely on observation. To know what to observe, we can rely on experience. Either our own, as we go along, or re-using past experiences, e.g. from an experienced mentor/coach who knows where to look.
Using past experiences in various contexts to choose practices that apply in a new context, and doing risk analysis combined with scenario planning (elaborate, or back-of-the-envelope, depending on the complexity of the environment) already gives the change effort itself some characteristics of an anticipating culture.
For risk analysis, some of the failure modes Marc mentions are valuable input. Up-front identification and analysis of risks, their likelihood and mitigation strategies can be done in a simple ‘agile’ fashion as well – get the people involved in a room around a flip chart and brainstorm away for an hour or so. Then keep the flip chart on the wall, and re-visit it every iteration or two. As in all things ‘agile’ we do an ongoing assessment – of risks materializing, as well as potential new risks…
Otherwise, the result of an oblivious or variable transformation process might be, ‘that agile method does not work, let’s try to surf to the next wave…’
Photo Credits: