Unpicking spaghetti

Why is software governance complex?

Posted by Graham

We’ve talked previously about the three gates of software development and why organisations make this more complex, but why is it more complex? Why can’t we fix it?

Understand the complexity

The first reason things become complex in organisations is “scale”. Simply put, while a startup might be able to concentrate all its power in one individual, when you have a large organisation with different Finance, Legal, Ops, Dev, Test, Procurement, and other, departments then it takes a lot more people to say “yes”. And that’s without even considering the stakeholders in “the business”. Moving through the stages from small to large introduces complexity that is not always aligned with the needs of rapid software development.

A second reason that the process becomes complex is when organisations change. This might be because of a change in direction for a division, or due to an acquisition, or enforced through outsourcing. During periods of large organisational change choices can be made that make perfect sense from certain viewpoints and may even be necessary within the context of the change itself; but which have the unfortunate effect of tying the process into knots.

One example of this is where two large organisations have come together, each with its own financial and regulatory control structures in place. The initial organisational change mashes these structures together and then each of the governance “pieces” begins to reach out into the overall process. The intent of the new organisation is to realise the synergies of bringing its component parts together but the reality of these mashed processes is governance steps that no longer “flow” but solely serve the steps immediately preceding and following each step; this risks the introduction of loops into the process, which leads to delays. Delays lead to failed projects, and the organisation as a whole wondering why they can’t successfully complete projects, despite being “Agile”.

Are we doomed? Can we fix it?

Organisations struggle to fix this because of their complexity, this is magnified by the inherent protectionism that large change promotes. Hoping that an organisation will fix itself from within is certainly an attractive option, but often does not bear fruit; people in the process are inwardly focussed on their own small part of the overall end-to-end process and simply cannot see the broader challenges that need to be addressed. When they do, they have neither the remit nor the opportunity to implement that change on a scale large enough to effect the change.

For many organisations, it’s only by engaging with an external, independent, voice that the breadth and depth of challenges can be fully articulated, allowing the organisation to make meaningful change and returning their overall process flow back to something that allows software to be developed following the most efficient route.

If you're ready to investigate the realities of where you are, and what might be a good next step then please get in touch.

Photo credit: "Breakfast" by trekkyandy is licensed under CC BY-SA 2.0


3 gates for Software Development

A simple model of software governance

Failure is not an option

Why do Digital Transformations fail?