While working with customers on DevOps, one of the most repeated questions is: “How should we structure our teams to achieve the benefits of DevOps?”. The answer, for DevOps practitioner, is no-brainer! It should be Feature Teams or Squads. However, in enterprises the situation is usually more complex.
While feature teams resemble the ideal setup to produce a continuous value to business, many organizations already have a solid hierarchy structure which they cannot easily adjust for many reasons. Maneuvering around such situation and create the right setup for the DevOps teams might be a real challenging exercise. However, this should not mean that they should not embark on their DevOps Journey.
Searching the internet, one might find hundreds of resources suggesting different setups to match different organizational hierarchies. However, I believe all these proposed solutions are missing the point; DevOps is not about team structure or hierarchy. Though a proper team structure enables DevOps culture to thrive. Different organizations might use different approaches to “unify” people, process and technology to achieve continuous value, and that is DevOps!
Whatever hierarchy in place, It is vital to ensure that there s continuous and streamlined collaboration between all stakeholders involved in value creation with DevOps. Below, I am sharing some key points to ensure continuous collaboration:
- For people working on the same product i.e. value stream, work with their direct managers to ensure that their performance KPIs or OKRs are aligned with the product OKRs. It should also be shared with others in the same value stream but working in different department.
- Align OKRs and KPIs with collaboration and interactions
- Encourage face to face interaction as much as possible. A Daily standup could be idea to ensure daily sync up, however, a colocation would even be better.
- Pay attention to the 5 dysfunctions of teams which are: absent of trust, fear of conflict, lack of commitment, avoidance of accountability and inattention to results at all times as the possibilities of having them is higher in complex environments. If you face any of these challenges make sure to address them at earliest.
- Ensure that managers of resources involved are leading the DevOps Transformation. As leaders they should work with their resources to identify needed change, creating a vision to guide the change through inspiration, and executing the change in tandem with committed members. Transformational leadership, if executed properly, has a direct influence on how team members respond to DevOps changes in processes, technology, roles, and mindsets.
Finally, remember that DevOps is a transformation journey, it comes with its own challenges. It has ups and downs. However, you should always look ahead, challenge the norm and maneuver around blockers and challenges. Wishing you a safe journey to the future!