Product manager: the unsung hero of any successful software project
Most people in the software industry know what a project manager is, but not so many know what a product manager is, and yet this is one of the most critical figure when building a successul software. These two roles are not equivalent at all and require completely different skills. Let’s review them.
A project manager main responsability is to make sure the project proceeds smoothly. Usually, the tasks involved are making calls, sending email, checking progress, schedule meetings, making sure deadlines are matched (and that they are the right deadlines). Depending on personal skills and attitude, an advanced project manager may also able to deal with people and team problems, or be able to use tools to measure, assess and visualize project status.
A product manager (aka product owner) does nothing of the above: the main responsability of a product manager is to decide about the features of the software. In details, this means he/she has to:
* decide if a given feature is actually required
* set the priority of any given feature
* declare when a feature can be marked as done
While the project manager may not even use the product which is being built, as long as the work proceeds according to plans, the product manager must know exactly what the product is about, what is its purpose, who are its users, what is the meaning of each feature.
In many projects the product owner may be the customer who is paying for the development, but this is not necessarily the case and in fact it may not be the best choice. A product owner has good testing skills, knows how to set priorities, makes difficult decisions to deal with time or budget constraints. A customer cannot be expected to have such skills, even if he/she can certainly be trained to do this. We are lucky to work with many customers who – through frequent short meetings – have become expert product owner, have a clear overview of the situation and add reasonable features in the queue.
A good product manager can make all the difference in the success of a software project. He/she makes sure the project has a clear direction, giving enthusiasm and purpose to coders, making things easier for the project manager.