For (team)leaders it becomes most important to lay out the goals, to work on a strategic level instead of an operational one. They need to work on resolving dependencies. If for instance a supply line to a certain station stagnates (they are running out of bolts for instance) they need to go over to the supply line and find out how to help that line speed up production.
The operational level is covered by the people working on the product, they are skilled and trained to work on those stations. No leader is needed to tell them what to do. The team therefor needs a fair understanding of what they can and cannot do. For the latter one, they also need to know what they need to fix the impediment of not being able to perform a certain task to the level they need to. They need to understand their short comings so a leader can help them overcome that. This often means injection of knowledge. This knowledge can only be obtained from an external source, either a specialist that runs with the team for a while or a training course. For the specialist the most important task is not to fix the knowledge gap, but to inject their knowledge into the team, so they can leave safely after a while.
A typical DevOps team incorporates different disciplines. In software engineering this means that there are at least developers, testers and operators in the team. While they have a certain job, working in a DevOps team also means taking interest in the other disciplines as well. Pairing up to fix stuff is one of the major aspects of an effective DevOps team. Therefore I prefer to call all team members in a DevOps team engineers. It doesn't matter which profession somebody has, if they are not able to switch roles and help the team perform better, there should be no place for them in a DevOps team. DevOps teams are about performance and delivering stuff to customers they need.
When you want to start with a high performance team, make sure all the disciplines needed to build a product from concept to grave are in the team. Not all disciplines are roles, some people can perform more than one role. But do try to avoid a local hero, one person that can do everything, this can prevent knowledge sharing. As a leader find out how you can best help the team, remove impediments and resolve dependencies. Start with forming a small team (3-5 members) and formulate the goal of the product. Use an agile work method to create small iterations with a lot of room for inspection and improvement. Keep stakeholders close and get them involved. Take small steps and keep things as simple as possible.
A DevOps team is a high performance team that will take responsibility and pride in their work as long as they can be autonomous and are supported by the leaders. Leaders that help them overcome impediments and resolve dependencies. With clear goals, a small team and a supporting leader, DevOps teams will outperform any other team all the time.
No comments:
Post a Comment