Occasionally, I am asked, "Why do I need a Project Manager on my project? Can't I just work directly with your Developer?"
The truth is, when someone is thinking only about the cost of a Project Manager, they are rarely, if ever thinking about the cost of not having one. So let's examine the cost to a project when this critical resource is not part of the equation:
1. Time - The delivery date of milestones, particularly the final launch date of a website or application must be closely managed. A Developer will be focused on the logic of your application, writing good code and the technology aspect of your solution. While the Developer needs to be accountable for hitting milestones, keeping track of dates and details in a project schedule should be handled by the Project Manager. This will allow the Developer to stay focused, while still being accountable to someone about the end date. Delivering late is rarely a luxury you or your organization can afford.
2. Scope - Your project should have an agreed upon feature set. If you make a feature request that is either outside the scope of the project or part of a "wish list", a good Developer might be inclined to say "yes". That's a good quality in a Developer. We like people with a "can do" attitude, right? However, the Developer might be thinking about how exciting and cool it would be to implement that new idea, without having any regard to the end delivery date or the budget. You, the client might not want someone to push back on a new feature, but you are more likely to get upset if a new feature is added at the expense of the delivery date or the budget. Someone needs to discuss the pros and cons of adding that new feature in a way that addresses the business needs in a comprehensive way.
3. Budget - It always comes down to money. Given enough time and enough money, we can accomplish anything right? But the reality is that funds are not unlimited. You need someone keeping an eye on how many hours (and therefore how many dollars) are being spent on specific tasks. A Developer simply doesn't have the time to perform this task, as his or her main goal is to stay focused on the code. Don't you want to know how many hours are being burned on a weekly basis? Taking time to put together that type of report means, you guessed it--time taken away from writing good code.
4. Communication - The more time a Developer spends in meetings, writing emails, discussing project status etc., the less time he or she is doing the actual job of a Developer--writing good code. (Okay, am I starting to sound like a broken record?) It is also rare that a Developer is a master communicator, and when we find a Developer who has that rare combination of skills, he or she often gets promoted to be an Architect or, yes--a Project Manager!
5. Risk Management - Every project has risks. Schedule risks. Budget risks. Quality risks. Communication risks. Someone needs to identify those risks early and often, and come up with a risk mitigation strategy, and then communicate that strategy. Did I mention that Developers would rather be writing good code?
6. Documentation - Documentation is an important part of every project to a greater or lesser degree depending on the project. Developers sometimes also function as Architects, and they are responsible for documenting their solution either before or after the solution is built. Someone else, namely the Project Manager has to spend the time documenting meeting minutes, action items, project plans, etc. Otherwise your Developer will be saddled with this task, and that's clearly not the best use of a Developer's time.
7. Quality Assurance - Eventually, everything that gets developed will need to be tested. You will want a fresh set of eyes on the code to test and make sure that your project is not full of show stopping bugs. You not only don't want your Developer to be your QA Tester, you will want to make sure that the QA Tester is also held accountable to the Project Manager for the time, scope and budget.
So the next time you think about cutting corners by not investing in Project Management, think again. Rather than asking "Why do I need a Project Manager on my project? Can't I just work directly with your developer?", better to ask, "What will the cost to me and my organization be if the project gets delivered late, is over budget or is riddled with quality issues?" Or worse yet, "What will happen if the project fails?"