Get rid of the project manager, get more value!
I attended a scrum master course with Craig Larman and one thing he kept repeating was that there should not be a project manager in a team and if you have one then you are not using scrum. My first thought was that he was a bit radical. But the more experience I get the more I see what he means and I'm going to take this further and say that it's not about adapting scrum it's about getting value from your team.
How do I define a team and project manager?
A team in my world consists of 3 to 10 members. An example of roles in a web development team are back-end coder, front-end coder, graphic designer, tester, user experience designer, interaction designer and of course the project manager. When I talk about project managers I’m talking about the team’s internal manager, the one that keeps track of what’s happening on the project, talks to external parties, handles the customer requests, books meetings and so on. I think you know who I mean but for clarification it’s not the account manager, the consulting manager, product manager or some external manager.
The classic workflow example
- The product/site owner, the customer, needs a featured developed so they go to the project manager and explains the problem they need to solve.
- The manager tries to extract what the customer wants and takes it to the team and asks for a solution of the problem with an estimate.
- The project manager returns with some description or sketch of the feature and tries to explain the solution to the customer.
- The customer needs to make a decision on what they want to get developed. The customer conveys some scope changes and the project manger takes it to the team and they start to create the feature.
- The team delivers the feature and the project manager presents it to the customer.
The end result is usually not what everyone is expecting.
What’s the problem with this picture?
For every step in the example we have two information hand offs between the customer and the project manager and the project manager and the team or vice versa. If we take a closer look at the hand offs we can see problems like misunderstandings, loss of information all depending on one single person.
We have all seen or participated in some kind of whispering game when one person whispers a sentence to another and another and in the end of the whispering chain the sentence come out different from the original version. For every person in the chain the information will become more corrupt. When the customer talks to the project manager about a feature some information will get lost and when the project manager talks to the team member about that feature more information gets lost making the original message more distorted. What if we skipped the middleman? Then there would only be one hand off, less risk for misunderstanding and less information would get lost. In this example there are ten situations where information could get lost. This will normally result in extra time focused on repairing the information that gets lost in translation between the customer and the team.
If the project manager becomes the communication hub between the customer and team what happens when he/she gets sick? Goes on vacation? If he/she is bad at communicating? If he/she is bad at his job? If your projects follow the classic example above you have created a dependency on a single person and that is what you are dealing with.
One thing that’s important to know is that everyone on the team working on the project is constantly making decisions along the way. To make the best decisions they need all the information they can get. Therefore its important that everyone is able to choose what information they need.
Why do we normally work this way?
Here are the arguments I've heard over the years:
- Team members don't want to be distracted by the customer. Someone needs to keep them away!
- The customer only wants to communicate with one person. Someone needs to be responsible!
- The customer needs someone to help them make decisions about the project.
- Who should update the charts? Backlog? Book meetings?
- Who will have the complete view of the project? Someone needs to own the project!
All arguments are about trying to not communicate with each other and avoid taking responsibility and making decisions. I’m not saying this is the comfortable route to take but there is lots to gain.
Is Scrum Master the answer?
No, the role of the scrum master is to make him self unnecessary. It will not solve the problem by itself but it can be used as a tool to reach the goal of having no managers in the team. The way it can work is that you inject an experienced scrum master (a communication mentor) in to the team to educate the them on how they can manage their communication both internal and external. When the team feels comfortable the next step is to start to rotate the role among all the team members. In the end, hopefully, the role isn’t going to be needed.
A warning sign is when the scrum master is not adding actual value to the project in any way. I'm talking about coding and designing not planning and managing.
What’s the pay off
The customer saves money, one less person to pay for, on the project that can be invested in more time from the team or add another team member that add value to the project. This leads to time for the team to do what they love, create awesome solutions/products. It will also give the team a greater feeling of responsibility thus creating a happier team and team members. For a company this means that you’ll get consultants that want to stay.
And yes we are no longer dependent on one single person, the project manager.
What do I do about this as customer using consultants?
When starting a new project don’t ask for a project manager. Start by talking about how you and the team should communicate to get the best out of the project. From practical stuff of how often meetings should be, what kind of delivery document are you going to have, how often are we going to release to demo, to more domain specific things like what you should call things in the project and so on . This discussion, about how you and the team are communicating, should be on the agenda on a regular basis.
The goal is to find a way so that you can trust each other.
This will put more responsibility on you as a product/site owner and if you feel you need support try to find a person who’s specializing in product/site owning in your domain that has produced the same kind of project. If you want to dig more in the field of product management I can recommend The Product Managers Handbook.
What does this require form the consulting firm?
For this to work you need to have a high level of transparency, everyone in the team is entitled to all information regarding the project, from economics to what everyone is doing. With that they can make the right decisions for the project and for the firm.
The next step is starting a program to educate and mentor everyone in the company in how to manage internal and external communication in a project. Setting up guidelines, starting discussions and make experience mentors available to the teams. It’s important that this work is continually improving to match the changing needs of the business.
What can I do as a consultant to enable this in my project?
This is very dependent on how your working conditions look like but like all change it needs to come from the customer or your firm. That said there are some actions you can take.
- Create a visual work space by putting up design sketches on the wall, architectural diagrams, task board, calendar with who is going to be away when and everything else that can be of value.
- Involve the customer by discussing the part of the project you are working on.
- Invite the customer to meetings and retrospective to involve them in the decision process. It’s important that the team is with you on this point.
Don’t be afraid to interact with the customer.
What should I do if I’m a project manager?
Learn a craft within your domain. Coding? Testing? User experience? Front-end? Something that adds value to your team!