What Organisational structure should I adopt to maximise my “DevOps” capabilities – in other words – how should I structure my IT organisation to speed up whilst increasing quality?

Today may organisations have a number of siloes – teams that work in splendid separation even though they all deliver / meet the same overall objectives.

Let’s use an example : typically a retailer has separate business organisations where business analysts and business consultants define and identify with business owners new requirements (sometimes referred to as LineOfBusiness). They would work with customer focus groups to ascertain what IT related capabilities would be beneficial on their web site or on their mobile app etc. They would then document these and at some point engage with their IT department to issue a SOW (statement of work) to develop the IT solution. A Developer would create the code, hand it over to a testing team, to then ask the business analyst and the business user to test the code before engaging with the release management team to get the code into production. It’s a bit like a relay race – someone takes a baton that has been handed over the wall to cover a part of the entire solution lifecycle, each losing time as well as getting further away from the actual business.

The result? From idea creation to deployment it can take weeks, month and sometimes years – a client told me that they are still working on their online backlog from 2009 – that is 7 years!!! In addition functional and non-functional requirements are incomplete, with either issues or outages in live and / or gaps in meeting the expectations. And to make matters worse, it stifles innovation as it can only successful flourish within each silo and gets lost as soon as it moves over the wall. This is a typical setup for an enterprise – running well ordered and clearly set out silos of organisational structures that will apply quality assuring measures onto every aspect that is being handed over.

Back in 1967 Melvin Conway [1] said :” organizations which designs solutions are constrained to produce designs that mirrors their organizational and communication structure

So how do you then accelerate deployments (say from once every 6 month to every day), how do you reduce outages caused by these deployments and how do you drive, enable and encourage innovation?

Next to deploying more automation and process optimisation the real answer seems to point to moving to a more horizontally aligned structure where people / team of people take more accountability across the entire lifecycle, working much more autonomous. 

Matthew Skelton [2] defined a number of potential DevOps aligned organisational structures that are outlined in anti-patterns and patterns:

Which ones should you adopt depends on many factors. One aspect is the actual and targeted DevOps maturity – you need to understand what the current setup is and what level of speed you will have to adopt and as Matthew detailed there are many different organisational models possible (see here [3] for yet more variations).

Each model will result in a different organisational structure that will have a different team structure and alignment. Of course the most effective way to set up your organisation is by emulating what others have done – Spotify is a great example and back in 2012 Henrik Kniberg & Anders Ivarsson issued this very detailed description : see here [4]

However, if you cannot jump straight to a Tribes, Squads, Chapters & Guilds based model you might want to consider different setups. The following models are suggestions and many variations are possible so these should not be seen as fixed setups:  

Type 1: Smooth Collaboration

Type 2: Fully Embedded

Type 3 : Infrastructure as a Service

Type 4: DevOps as a Service

Type 5 : Temporary driven DevOps Team

Regardless what model you will implement to drive a DevOps related mentality there are a number key people related principles that will help :

  1. Partner with customers to focus on business value
  2. Work towards a shared vision and objectives to advocate for your constituency
  3. Deliver incremental value and take pride in workmanship
  4. Invest in quality and deliver on your commitments
  5. Empower team members and keep a solution perspective
  6. Set clear accountability and foster a team of peers
  7. Learn from  experiences and practice good citizenship
  8. Foster open communications and improve continually
  9. Stay agile (expect & adapt to change) to understand qualities of service

Which organisational structure is for you depends on many factors and before implementing any of the models above you should have executed a short assessment what model is the best fit for today as well as for the medium and long term. The above are suggestions and many variations are possible.

Thanks for Reading. 

About the Author: Gunnar Menzel has been an IT professional for over 25 years and is the VP and Chief Architect Officer for Capgemini’s Cloud Infrastructure Business. His main focus is business – enabling technology transformation & innovation.

[1] https://en.wikipedia.org/wiki/Conway%27s_law
[2] Matthew Skelton, October 2012, https://blog.matthewskelton.net/2013/10/22/what-team-structure-is-right-for-devops-to-flourish/
[3] http://web.devopstopologies.com/
[4] Henrik Kniberg & Anders Ivarsson, October 2012,  https://dl.dropboxusercontent.com/u/1018963/Articles/SpotifyScaling.pdf