I've been working with several clients on their transition to agile. Yes, the technical staff needs training. Yes, they often need coaching on how to choose small chunks, estimate and commit to an iteration's worth of work, and then to deliver that work. And, I am beginning to think the biggest problem in transition is the management.
Managers do not know what to do. For years, they've been thinking about a Taylor-like approach to projects: get specialists, put them on the project when they are needed, tell people what to do when, and you'll have a successful project and a good product. Oh boy. That sure has not been my experience.
Back when I was a new developer, my managers never gave me that much direction. They said, “I want this outcome. Do you know what to do?” I often said yes, even when I should have said no. When I did say no, they either gave me more information or arranged for me to gather that information.
I've been working with several clients whose managers do not work like that. They are intimately familiar with the product, and don't just coach their people, they tell them what to do. “Design it like this. Do this. Do that.” As a result, the people are not empowered to do what's needed and they are frustrated. The managers are not doing management work.
If managers do management work, they perform this work:
- Manage the project portfolio. That means defining and refining the strategy for the organization, deciding which projects should start when. Maybe even deciding to stop a project for now, or even killing a project. To effectively manage the project portfolio, you need to refine strategy iteratively. Someone needs to talk to customers. You might even need to fund a pie-in-the-sky project for a while to do some experimentation. Managing the project portfolio means you spend hours each week on refining the strategy and making sure the strategy is reflected in the projects currently funded.
- Build trusting relationships with the people whom you manage. That means a one-on-one each week or every other week depending on your iterations. It means developing a relationship where you provide feedback and meta-feedback, coaching and meta-coaching, as well as having career development conversations. That's 15-20 minutes per week or biweekly with each person on your team. You will have action items out of those meetings, and those will take time for you to complete.
- Leading the hiring work. Managers are ideally placed to perform a job analysis. Do not use generic job descriptions. There is no generic person, why would you want a generic job description? You can use expertise criteria, and start from generic job descriptions. But you need to look at the team and ask yourself, what kind of person does this team need? A manager does not do all the job analysis, but managers can draft an analysis for the team to discuss. Once the team agrees, now the manager can lead the work with HR, organize the phone screens, organize the interviews, organize the post-interview decision-making meeting.
- Creating an environment for success. That means seeing when the team needs more people to build capacity, or if the team or team members need training of some sort. It also means dealing with the furniture police, the network nazis, the people who insist that you can't get the tools you need to do your job. Managers remove those systemic obstacles. Individual reviews are a systemic obstacle and do not optimize the throughput of the organization. Managers work with HR or anyone else who thinks individual reviews are a Good Thing. Under this general category is noticing when the ad hoc work starts to overwhelm the project work. And, noticing when a team does not have sufficient capability to do the job. And, understanding how to design the organization so you can create a successful environment for each team and team member.
That's management work. And, too few managers are equipped to deal with it. Agile demands this management work.
If you are a manager in an agile transition, think about the work you do. Does it fit into these categories? If you are doing other work, please let me know. Maybe my list is not sufficient. But if you are doing project-based work, you are not doing the right work for a manager. You may be doing work that needs to be done. Do you need to do it? Why? I suspect you are missing a piece of the management job.
Think hard about your management work in an agile organization. Do you know what to do?