I have often heard people using sports metaphors when talking about high performing teams. I wanted to bring a slightly different view to the table. Sports teams work within a set of well defined boundaries and rules. Most teams within a company do not necessarily have such rigidly defined boundaries and rules that they must play within. They almost always have shifting goalposts too.
The key goal for a team in a company is to maximize the impact (i.e test the boundaries of what can be done) over time. In my experience, some kinds of teams work better than others. Let’s explore what kind of team structures work for best under which circumstances.
When predictability is the primary metric to maximize impact, process oriented teams work best. To have high predictability, you really need a well defined process as well as enough metrics over time to make some predictions. High performance process oriented teams typically track process metrics over time to get better.
If time to market is the primary metric to maximize impact, you are always better off having agile teams. Agile teams aim to produce something usable in every sprint. They will typically figure out what needs to be worked based on a backlog of items prioritized in collaboration with the system owners. High performance agile teams typically have people who are multi-skilled. Teams are typically small and focused on a single system or maybe even a single problem in a large system.
Let me elaborate on some more additional characteristics of high performance agile teams. They focus on automating the routine and mundane. Without automation, short sprints are next to impossible. They have many people who are multiskilled. This helps in getting enough hands and eyes and brains on the problem being solved during a particular sprint. They also have frequent high bandwidth communication with the system’s business owners. The communication makes sure everybody knows how their work fits in the big picture and helps the team reach a global optimum rather than a local one. The biggest difference maker in a successful agile team is the product owner. The product owner brings deep domain and technical expertise to the table and can steer both technical and feature conversations.