Value creation structures, how your people are organized and allocated to teams, trains, programs, or whatever you call groups of people, is one of the most important aspects of your ecosystem.
There are several ways to organize people. Here are a few of the most common.
- Cross-functional teams.
- Feature teams. Cross-functional teams that can build and deliver features, but not cross-functional enough to create MBIs.
- Component teams. Teams that can create, modify, maintain components that are used by other teams to create and deliver releases.
- Core teams. Collections of people that can mostly build a feature or MBI but sometimes require others to help them. This need may be satisfied with a combination of the "borrow member" or "clean up with kanban" pattern.
- Borrow member. When one team lends a member of their team to another. This is often useful when on team makes enough requests to another team where it warrants the team fulfilling the requests lends a team member to the requesting team. When this happens this person remains on their original team but works with the requesting team while they are useful. They must attend required meetings from both teams (such as daily coordination meetings).
- Clean up with kanban. When one or more individuals are required for more than one team. In this case their workload should be managed with each having their own kanban board.
- Focused solution team. A team-of-teams consisting of feature teams, core teams and a limited number of individuals that have to work across the core teams. They are able to build and deliver either MVPs or MBIs. They are focused on the MVPs and MBIs they have in their backlog but can be available on a limited basis to other teams. They are the key to achieving agile budgeting by having FSTs aligned with the initiatives of the stakeholders. While reasonably stable, they will adjust according to need.
- Dynamic feature team. Dynamic feature teams are useful when several small teams exist that are mostly independent from each other but every now and then must collaborate with each other.
How to Decide Which Approach to Use?
Agile is very much about self-organization. But many in the agile community haven't recognized what lies underneath agile including flow, lean, theory of constraints, and organizational development. Self-organization needs to take place in a manner that is consistent with these theories and with human behaviour.
The first factors to look at are what cuts delays out of the workflow and reduces miscommunications. If rearranging where people work makes sense from this perspective, it's probably the right thing to do. If there is push back, it is worth some root cause understanding. Perhaps the pushback is justified or perhaps they are not seeing the bigger picture to optimize the flow of the overall system.
The director in charge of an agile/lean adoption talked about how they had a development team that required 25% of the capacity of a component team. Instead of just having them load up 25% of their backlog, they decided to assign two of the eight people on the team to the development team. These two people still belonged to their original team but were now working side by side with their new team. This was a great way to improve communications and avoid handoffs. They had implemented the "borrow member" pattern.
However, the director said that these two people complained about going to two daily coordination meetings each day (one for the old team to keep their work consistent with it and one for their new team). Yes, it was costing them a little time but the extra 15 minutes a day more than made up for the gains in the bigger picture.
Agile is not about being able to do what you want to do. About following your own preferences. It's about what works. Not everyone wants to do the right thing. Disciplined agility requires us to be guided by the practices and principles, flow, lean, and theory of constraints. Not my preferences. It is more objective. If there is disagreement, you can run experiments and see which person was correct.
- The value stream impedance scorecard
- Value stream consultant resources
- Organize for Complexity: How to Get Life Back Into Work to Build the High-Performance Organization. Niels Pflaeging. This discusses not just how to organize teams but also better concepts on management and complete organization restructuring. Here are some resources for this book:
- Organize for Complexity slideshare. How to make work work again. “How to break the barrier of command-and-control and create the peak-performance, networked organization.”
- Turn your company outside-in slideshare. “How to build the decentralized network organization, putting an end to centralized command and control. A paper on Cell Structure Design.”
- Team Topologies: Organizing Business and Technology Teams for Fast Flow. Matthew Skelton, Manuel Pais. This is a tour de force on creating teams – including both theories and practices.
- Dynamic Reteaming: The Art and Wisdom of Changing Teams Heidi Helfand. Heidi’s experience with startups and growing organizations provides insights into how to handle teams that are growing as the organization grows.
- Organize Forward Jeff Anderson. This is a very pragmatic book that expands on Organize for Complexity.