Organizing Your Teams
Realigning your teams around common goals, processes, and tools may be necessary during DevOps transformation. Development and operations must function together as one agile team to deliver value. This can be achieved with cross-functional teams that are fully empowered and self-sufficient. These teams can be formed temporarily to work on time-boxed projects with resources pulled in from different departments. With fewer hand-offs and shared goals, such teams work efficiently.
A fully embedded operations team, where the systems engineer can code or the developer has deep infrastructure knowledge to deploy and scale the application is rarely feasible. Instead, you could go for a model based on close-knit collaboration between your Dev and Ops teams. Both teams should collaborate and share responsibilities from the initial planning phase to the continual monitoring of the production environment.
You could even opt to have a dedicated DevOps team providing shared services to address challenges such as version control, continuous integration, and deployment automation. This is a kind of functional organization and care must be taken to avoid its inherent pitfalls.
Sometimes, you may be able to retain your existing organizational structure (functional/divisional/matrix) with certain modifications. Our DevOps consultant will guide your choice considering available resources, the relationship between your teams, and the flexibility of your current organizational structure.
Regardless of the organizational model you may implement, these are some key team characteristics to keep in mind.
- Shared vision, objectives, plus a solution perspective
- Ability to deliver incremental value
- Quality and pride in workmanship
- Clear accountability and a flat structure
- Open communications and continuous improvement