mixing web, code and humans by Emil Cardell
UNWILLINGCODER
Published 2009-10-07 06:27 in Life in consulting

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

  1. 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.
  2. 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.
  3. The project manager returns with some description or sketch of the feature and tries to explain the solution to the customer.
  4. 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.
  5. 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:

  1. Team members don't want to be distracted by the customer. Someone needs to keep them away!
  2. The customer only wants to communicate with one person. Someone needs to be responsible!
  3. The customer needs someone to help them make decisions about the project.
  4. Who should update the charts? Backlog? Book meetings?
  5. 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.

  1. 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.
  2. Involve the customer by discussing the part of the project you are working on.
  3. 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!

"@rands Is there any way to get out from the management track? #readingBeingGeek"
about 58 minutes ago
7 comments
  • 2009-10-08 09:00
    Good thoughts! The problem is like just the one you bring forward. It's a hard days work to educate the customer and management for that matter. But we have to start somewhere right.
  • Kalle Paulsson
    2009-10-09 12:55
    Thanks for a good read! Coincidentally, me, Samuel and Linkan are preparing a lecture for wednesday, where we'll be talking about bringing customer, design and development together in a more transparent iterative process, and the tools and deliveries that can be used to help it along. We are touching some of the same points here, so this is good inspiration!
  • 2009-10-15 12:53
    While there are practical problems, much due to traditions, I couldn't agree more about the need for a direct line of communication between the customer and those who actually build the site/product/whatever. Something that, from my experiences, unfortunately almost always is missing.
  • 2009-10-19 09:57
    I'm glad you found some ideas worth taking with you. I think one of the most important things are that we need to work to establish the link between the customer and the team doing the work.
  • Mattias Nordgren
    2009-11-18 01:19
    Hi, Yeah, Craig can be a bit radical when discussing managers in software development (in general). But I agree. What I learnt from Mike Cohn while taking his Product Owner course (CSPO) is that some/all work traditionally carried out by the project manager is divided to the two Scrum roles; Product Owner and Scrum Master. Example; executing the backlog in a scrum fashion = scrum master. Risk assessment = product owner.
  • Johan Falkenström
    2009-11-22 10:24
    I totaly agree, PMs for small size (3-10) teams are a total waste. BUT to keep track on multi team projects interacting with other multi team projects I think it's imperative to have the same person interfacing the other projects but this persons roll will not be getting requierments and taskt from customer, but to synchronize deliveries, communicate plans and getting the money. I agree that the most efficient way to really get something done (technology/implementation vise) is to get a dialog going between a customer and the imlementing team, but don't think we can completely write of the role of the PM.
  • 2009-12-02 11:30
    I think we need to be radical. I've seen so many "scrum masters" think just because we have iterations and a backlog I can go back to my project manager role. I've not looked into scaling, because its not an issue where I work. But I agree there is a need of an administrative role to enable communication between the teams. A book to read on the subject is Scaling Lean & Agile Development by Craig Larman and Bas Vodde
Disagree, agree or got a question?
Make a comment

Email Twitter