Having led lots of development teams and projects, I have occasionally been asked by clients “Why do we need a project manager? The developers know what we want to do; can’t they just do the work? We can maintain the schedule.” Due to my position, it’s hard not to get a little defensive and wonder, “why do they ask?” Do they just really want to update their own project plans?
However, I know deep down why they ask and the reason, of course, is often related to cost. Developers create tangible things that customers can see and therefore value. A Project manager (PM) on the other hand…well, not always. So what exactly are you getting when you pay to have a project manager? A good project manager manages the project’s team, the project’s scope, handles any issues that arise and can remain your reliable and knowledgeable single point of contact.
Management of the Team
To begin with, there’s management of the project team. Technical workers are creative, productive, downright wonderful resources, but they need direction. Most projects include many highly-specialized resources such as developers, analysts, testers, graphic designers, and technical writers. One of the key functions of your project’s PM is to coordinate all those resources and their tasks – to make sure that work is done in the proper sequence with a minimum of time (and money) wasted, and to facilitate communication between these highly-focused (but not necessarily “big picture” aware) members of the project team.
So, okay, that sounds important. But, really, isn’t that just sending a few emails and having some meetings? Well… no, and it’s not the only reason you need a PM. Good coordination and communication are essential to a well-run project. So is managing project scope.
Management of Project Scope
Scope is the way PM’s refer to the body of work to be accomplished in a project. What’s our favorite phrase? “That’s out of scope.” Controlling scope is critical. When a project is planned, everything (resources, cost and the project delivery date) is based on what needs to be delivered. When that changes, at least one of those other factors needs to change. This doesn’t mean that scope can never change. However, it does mean that every change must be controlled and considered relative to the rest of the project. The amount of time your PM will spend on scope management will largely depend on how well and how soon the overall goal of your project is understood by you, the customer.
Now that we have the resources and the work under control, the project is destined to go smoothly, right? Again, the answer is not necessarily what we would like it to be. There are these things called issues that can get in the way of your project getting done. They can be all sorts of things (external vendor delays, staffing changes, business process changes that affect your new software, budget issues, etc.), and they need to be managed. The PM is responsible for making the work go as smoothly as possible, so management of issues is another critical PM function. And, due to the almost unlimited variety of project issues that can be encountered, this is also a time-consuming activity. PM issues management includes identifying issues, tracking them to completion and (often) creating the solution.
All of these are important functions when you’re working through a project. In my opinion, though, the greatest value that a PM brings to your software development project is the assurance that you have a single point of contact, aware of every aspect of your project, who will oversee the work, communicate with you, and keep work moving forward smoothly. Your PM is the project gatekeeper whose only goal is to make the project (and you) successful.