I had a great Christmas this year, eating, drinking and conversing with family (as I always do). This particular year, I got talking with Uncle Bob – a retired product manager from IBM – and we were conversing about what qualities make a good manager. The post feast banter was riveting, so I decided to blog about the qualities that I seek in a good project manager in the software industry:
• The project is the main concern – any manager who is not giving top priority to the project has another agenda. Typically, the project manager is solely responsible for a failed project, but everyone on the team suffers in the long run. The client, the contractor company, middle management, and all the software engineers. If all project decisions made are in the best interest of the project then the project is more likely to be a success.
• Be free with information – Managers should never be “black hole” people when it comes down to important information about a project. A good project manager should be able to share his/her information and be free from concern about reporting employees gaining power from increased knowledge.
• Co-ordinate with staff – Along the lines of being free with information, every employee on the project should be aware of what their peers are doing. In the case that one or more employees are out of commission, the project manager should be able to delegate responsibility of work to another member of staff.
• Control the road map – As a manager, I would not run a project without a project plan any more than I would drive across the country without a road map. The project plan is the living breathing core of any successful project, which evolves with the lifetime of the project. Projects should never start without a baseline project plan and during the life of the project; the plan should always reflect the current progress and next steps in the project direction.
• The client is always right… – within reason. It is the job of a project manager to set the expectations of the client with regards to what work can be completed in a finite period of time with a set budget. The project manager should never promise more than the development team can deliver, causing burnout. On the other hand, it is important to provide the client with solutions to some of their requests, and good communication with the development team can assist in the creation of a good solution.
• Never micro-manage – This is the sin of all manager tactics. When you micro-manage your staff you’re affectively telling them that you do not trust their abilities. Micro-management usually leads to frustrated team members, and the project manager looses respect of his/her peers.
• The buck stops here – Some difficult decisions are sometimes called for in the lifetime of a project. These decisions can be technical, staff related, or just about taking the next step in the project roadmap, but no matter what the quandary there needs to be a team member willing to make the hard decision. It is usually the responsibility of the project manager to make these types of decisions. Everyone on the team is entitled to an opinion (and should be asked), but once a decision has been reached everyone on the team should abide by it. If things work out, great, but if not, the project manager is solely responsible for taking heat on the mistake.
• You’re the leader, so lead – The development staff looks for a clear direction from an individual who can overview the whole project. The project manager should be strong enough to drive the project according to the project plan.
• Be a people person – Project management, and management as a whole, is not just about being in power and delegating work to other individuals. A great project manager knows how to manage his/her people so that they are motivated, non-frustrated, and have a clear understanding of their role in the project. Make no mistake, project management is not an easy job, and it is not a bolt on task to a regular developer role. Management of staff and project can take a while to get right, and not everyone is cut out for the job. Bottom line – if you want a managerial role, you need people skills.