The sixth blog, in a blog series about the upcoming book: Creating Agile Organizations - A Systemic Approach, by Cesario Ramos & Ilia Pavlichenko.
A successful team works together towards serving the business goals. The team skills required to do that are always changing. For example, a top technology at the moment will likely not be so in a couple of years. New technologies emerge, and your product groups need to acquire a deep understanding of them to stay competitive. To adapt to this changing world, people who frequently learn a deep understanding of new areas are the standard rather than the exception.
Multi-Functional Learning Impacts Agility
When an Agile team preserves the goal of maximizing utilization of single skill specialties, it has multiple implicit backlogs, not one. Multiple implicit backlogs in a team with interdependent tasks, which is mostly the case in product development, leads to a serialization of the team’s work, which increases the end-to-end time to get it done. The typical phrase you can hear is, "I will do this task because I can do this most efficiently." A focus on individual skills also forces the business to change the order of the product backlog to ensure there are tasks for each individual’s single specialty. Thus, the team doesn't work on the most critical features from a customer perspective and sub-optimize value delivery.
Another strategy to optimize individual performance would be to introduce more team backlogs for the same product, then teams tend to focus on a part of the whole product and become less cross-functional as Figure 1 illustrates. That inevitably leads to artificial dependencies and even longer lead times.
Figure 1 Feature dependencies between teams
Teams working on their own team backlog have a narrow view of the whole product and do not realize when they are working on low value work from a customer perspective.
Working from a single product backlog creates an inevitable knowledge gap in single-skilled team members. The larger the knowledge gap, the more need for the developers to work together and help others in the team acquire additional skills. Over time, team members develop secondary or even tertiary skills and become multi-skilled specialists.
We often hear the argument: “We understand the idea behind that. But still, a deep specialist will be more effective and knowledgeable than a cross-trained one”. And we agree with the argument. But Agile organizations do not train people to create efficient resources. Instead, they form teams capable of embracing change and minimizing bottlenecks.
This ability of autonomous teams to align resources to bottlenecks is extremely important because it minimizes queues in the development process. Since these bottlenecks can shift rapidly and unpredictably during a program, the flexibility of team members to work outside of speciality is a critical tool for dealing with such bottlenecks (Donald G. Reinertsen, Managing the Design Factory)
When the system is heavily loaded, even a small change in capacity can lead to a significant difference in cycle time.
What can you do to help the organization?
Prefer a cross-functional line manager that focuses on the whole team
Typical organizational design encourages people to grow in narrow, single-skill career paths, optimizing the performance of individuals, not necessarily the performance of the team they work in. For instance, in one setting the chapter leads acted as line managers towards their people and were responsible for appraisals and people development. There were chapter leads for technologies like Java or UX, and their goal was to help people develop in that specific skill.
So, instead of having single-skill line managers focusing on individual performances, prefer a cross-functional line manager that focuses on the whole team.
Such a design should lead to:
- Instead of having single-skill line managers focusing on individual performances, prefer a cross-functional line manager who focuses on the whole team.
- Cross-functional line managers—without any authority to give work to the teams—should focus on improving the organizational design and team effectiveness. They also help individuals to develop in service of overall team performance.
- Expert leads (otherwise regular team members) who facilitate the development of employees. These individuals have no HR responsibility or authority for giving work to the teams.
Create a System of Human Operations to Support Multi-skilled Specialists
Ideally, you would have people in your teams that are experts in multiple skills, but unfortunately, these people are hard to find. However, what you can do is create the conditions that encourage people to develop into multi-skilled specialists over time.
Therefore, create a system of human operations that:
- Values employees by a combination of personal and team accomplishments.
- Values people to become multi-skilled specialists.
- Values a balance between deep specialists and generalists in the teams.
An organization can do that by creating a multi-skilled growth system that allows people to create their own job paths. Figure 2 shows a general value system.
Figure 2 Multi skilled value system
The exact skills needed within a team change over time, so the specific skills are better not fixed. Also, the exact balance between deep specialists and generalists depends upon the team context and the required skills to develop the product. Therefore, the human operations systems let the teams figure out:
- What is the best balance?
- Which team members develop what skills?
The teams have the responsibility to ensure that they grow into effective Agile teams, and the management is there to support them in doing so.
Working from a single product backlog creates an inevitable knowledge gap in single-skilled team members. Over time, team members develop secondary or even tertiary skills and become multi-skilled specialists. On an organizational level introduce cross-functional managers that focus on the whole team development. Also you need to create a system of human operations that supports multi-skilled specialists.
In our next two blog posts, we give an overview of:
- Guiding the teams in multi-skill development
- Transitioning to the Product Owner at scale