Creating High-Performance, Cross-Functional DevOps Teams
DevOps provides strategies to successfully automate and streamline your application build, package, and deployment. Excellent tools and technology are imperative, but even more essential is leading your team to work together effectively.
Sometimes I feel a little like a marriage counselor when I run DevOps sessions analyzing exactly what went wrong during an ill-fated application deployment. I often hear about ancient history and a long list of painful moments that led up to the team not being able to get its act together. The finger-pointing just deepens the hurt, and if this were actually a marriage, one would conclude that divorce was the only course of action.
But most organizations have essential personnel with expertise that is extremely valuable, so instead we try to find a way to make things work. The best approach is to invest in the human capital that is needed to achieve excellence.
High-performance teams result from learning organizations that value sharing information among all stakeholders. My approach to make this happen often involves setting up an online session where we can share a screen and either review documents and scripts or actually walk through the steps necessary to complete the application build, package, and deployment.
To make this happen I must drive out fear and ensure that all stakeholders are comfortable going through peer review without any criticism or adverse action. As technology professionals we have great pride in our work, and sometimes our egos can get in the way.
Another aspect of this problem is that too often colleagues are punished for reporting problems that exist in the organization. When fear is driven out, the vacuum is often filled by a strong can-do attitude that helps the team work together effectively. High-performance teams fearlessly analyze their own mistakes and focus on how they can improve the way they do things.
There are many experts in each organization. DevOps requires that we involve smart people from each of the existing functions, including development, operations, database administrators, systems administrators, QA testers, and product managers. There is great synergy in the cross-functional, high-performance team.
If you want to be successful, then your senior management must create an environment where everyone can succeed and achieve. Leadership starts with empowering each member to be the best they can be. It also requires that everyone on the team feels safe when communicating what they believe to be the truth. Most of all, team members must know that their recommendations for improvement will be heard and respected. If you want a high-performance organization, you need to make sure that the work is being accomplished by high-performance, cross-functional teams.