Here’s a summary of the six cultural patterns of software organizations we’ve been writing about the last months.
The Oblivious culture has taken away fear of computers and brought IT within reach of ordinary people (i.e. non-IT people). There is no separation of user and developer, which makes this culture very agile, adaptive, and customer oriented. The risk of an Oblivious culture is that the systems being developed grow complex without anyone noticing. If people finally notice, the impact of errors can be huge.
The Variable culture values craftsmanship and fosters innovation. There is close collaboration between user and developers. This culture is results oriented, management is hands off. Performance and quality are fully dependent on specific individuals. Sometimes it’s a culture of heroism. The risk of a Variable culture is the lack of knowledge sharing between individuals, and, as a result, no development of the organization as a whole.
The Routine culture brings order to chaos. It applies feedforward control, assuming a well known and predictable environment. The culture is process oriented. People assume there is one best way of developing software (methodologies) and look for silver bullets. Management manages by controlling, often resulting in micro management. In this culture you often encounter blaming and lack of trust. The risk of a Routine culture is going awry when getting into unforeseen circumstances.
The Steering culture makes extraordinary things ordinary. It applies feedback control, is results oriented and based on trust – act early, act small. Testing is an essential part of many feedback loops. The risk of a Steering culture is getting stuck in a local optimum: by focusing on stability you can miss process changes that lead to a much cheaper, better, faster way of working.
The Anticipating culture makes everything more efficient, moving out of local optima. Change is managed consciously and introduced deliberately. Everyone is involved with change. This culture is process oriented, continuously reflecting and improving – if it ain’t broke, fix it! Typical practices are full blown retrospectives, risk management, and scenario planning. The risk of an Anticipating culture is getting so involved with processes and meta processes that you miss out small, subtle possibilities for improvement.
The Congruent culture makes sure continuous change, reflection, and improvement are rooted in the culture: these become part of the organization’s DNA. A Congruent culture is highly customer oriented.
A nice article about moving towards a more congruent organization, is Beyond Blaming: Congruence in Large Systems Development Projects by Jean McLendon and Gerald M. Weinberg.
Together with Willem, I’m writing a paper about the cultural patterns model. We will first publish a Dutch version, an English version will follow soon. If you’re interested, let me know and I’ll send you a copy. We also welcome volunteers for reviewing – in return, you’ll receive an honourable mention in the paper