Managing Work Without Resource Managers
Recently, my daughter passed her driving test. She’s now legally able to drive on her own on the roads of British Columbia. Experts have ruled that she has the necessary skills; she is able to control a ton or more of steel in a fluid environment filled with other drivers at the wheel of their own ton or more of steel. Mum and dad aren’t so sure. Well, let’s be fair. We are confident in the skills of our daughter. She’s an excellent driver. But letting her drive unsupervised on the roads of BC fills us with trepidation. What if this happens? Or that? How will she cope? Surely she needs more supervision, more lessons, more experience? Letting go is hard.
As a resource manager, the feeling can be the same. Your team is skilled, they know what needs to be done. But what about when this escalation comes in? Or when they need to touch this part of the system? Or they have to collaborate with other experts from other parts of the company? How will they manage? Letting go is hard.
Moving to dedicated, self-organized teams will cause a manager’s role to change substantially. Your skills as a firefighter, jumping to the needs of your business and rapidly deploying the right people at the right place are not as valuable as they once were. In fact, they are a distraction, causing chaos and mayhem where once they created order and satisfaction. Instead, you should focus on three specific areas: 1) creating a safe-to-fail environment, 2) creating a learning path and 3) facilitating collaboration.
Creating a safe-to-fail environment
First, you need to allow teams to work safely. They need to be free to make mistakes without causing disruption to your customers or delivery delays to your stakeholders. You achieve this through collaboration, short iterations and regular delivery of a working increment of software. These are techniques that demonstrably work and validate the decisions made by the team. This means more than simply insisting on short sprints, it means helping teams share what they are working on with other teams dependent on their work. You might use a scrum-of-scrums for this. It means making sure teams don’t use technical or organizational complexity to delay creating a working testable increment. It means working with teams to define what done looks like and wherever possible automating the validation of those done criteria. You want the team to know what “good” looks like and where possible, automatically feedback to the team (and the stakeholders) the achievement of those criteria. Rapid visible feedback provides a safety net for all concerned. Stakeholders can build confidence in what the teams build and development teams get quick feedback that they are on the right track. Critically, your role becomes a monitoring and oversight role, making sure the right things are being done and progress is being made while protecting the integrity of your product.
Creating a Learning Path
Second, you want to create a learning path. This includes both cross-fertilization and individual growth. You must determine how teams build competency in skills or areas of your product they normally aren’t familiar with. Your goal is T-shaped individuals rather than I-shaped individuals. That is, experts in their own fields/domains (I-shaped) plus a working knowledge around their fields/domains (the cross-bars on the T-shape). Encourage pairing. Demand shared code ownership over deep specialization. Facilitate share-backs and technical discussions across teams. You also need to provide a path for growth as well. For example, allowing developers to gain expertise in architectural design. You can use communities of practice (or the ever-present guilds concept) to allow teams to stay connected and learn from one another. As an ex-resource manager, you can now provide direction and inspiration for learning new skills, evolving and growing your group’s understanding and creating a more productive and fine-tuned capability. You can collaborate with your team to create a shared strategic vision for the development of your functional capability and then facilitate your practice or guild meetings to achieve these goals.
Facilitating Collaboration
Encouraging collaboration takes effort. As you can see from the above examples, there are several forums for collaboration, such as a scrum-of-scrums or a practices meeting. Holding the meetings isn’t enough. Remember, many of your team members may not be used to collaborating. They may not feel safe, they may be unsure what is required, they may just be shy. As Hemingway said: “Never confuse movement with action” — good process and good results are different things. Having a scrum-of-scrums booked doesn’t mean dependencies are identified and discussed. Nothing makes this more transparent than watching what happens when teams need skills outside of their group. You can see this when there is too much work coming into the backlog that is dependent on a single skill set on the team, or the need for an expert in a part of the system that isn’t well understood on the team. In these situations, it is difficult as an ex-resource manager to facilitate and get the team members to solve the problem themselves, it is all too easy for the resource management gene to rear its head again. Be careful not to backslide into command-and-control. Which teams might be able to help? Bring them together, and then get out of their way. Allow product owners to negotiate moving items from one backlog to another. Or teams to arrange for pairing, cross-learning or temporary secondment of skilled developers from one team to another. Whatever the solution, your role is to facilitate independently, ensure a safe-to-fail environment and help teams learn from their experiences so that the need for cross-team coordination is reduced over time as teams build broader capabilities in their domain.
So is my daughter driving unaccompanied? Of course she is. She is taking longer and longer trips. Pushing the envelope with more miles and more complicated routes. Learning as she goes. We still take every opportunity to ride shotgun, to see how things are going. And we still track progress, arrivals and departures. That’s just good parenting. But we’ve had to let go a lot more than planned. Just to keep us honest to our principles, now she’s asking to go bungee jumping. *sigh* Letting go is hard!