Top 5 Skills & Practices You Need to be a Good Project Manager
Project Management in an agency is a difficult role to prepare for. You need to balance keeping customers happy while making sure that you aren't overpraising, potentially compromising the budget and timeline of a project. Over the years of working with great project managers I have taken note of the following skills and practices that are critical to success as a PM:
- Be Good at Saying No
- Know Thy Budget
- Buffer Your Estimates
- Give the Customers the Bad News Quickly
- Learn about Process
1. Be Good at Saying No
The most important skill that a successful Project Manager needs is the ability to say no gracefully. The template for a graceful no, is beautifully described in the book The Power of a Positive No. In the book, it's framed as a respectful and principled no, with a redirection to a positive alternative. This requires sincerely listening and empathizing without caving to your customers wishes if you can't make them a reality. Ultimately making promises that can't be kept does no one any good.
2. Know Thy Budget
Knowing where the budget of your project is when compared to your estimates is critical. Close-to-real-time time tracking is essential here (we use and love Harvest) as is competence using a spreadsheet program like Excel. That said, your spreadsheets should be very simple - meaning both easy to read and easy to maintain. My favorite is a simple sheet that loos like this:
|Estimated (Hours)||Spent (Hours)||Task/Feature|
|2||3||Planning & documentation (10%)|
|2.5||0||Quality Assurance (15%)|
|4||1||Project Management & Meetings (15%)|
A spreadsheet like this tells you a few critical things:
- How much time you have remaining per task
- Where your overage is
- How much time you have remaining on the project
If your spreadsheets have a delta (Δ) symbol in them or require more than 30 seconds to explain, they are too complex. From what I've seen this is directly the opposite of what is taught in the PMP program. As near as I have been able to tell, the PMP is at best meaningless and quite possibly is counter productive.
3. Buffer Your Estimates
Things almost never go according to plan, don't assume that your projects will. All of your estimates presented to a customer should always account for planning, quality assurance time, deployment time and project management time. I generally use the percentages outlined above. Once that's included any calendar time committed to should be ~150% of the man-hours required. This means a 40 hour task should be budgeted at least 60 work hours. Give people the chance to make mistakes, get sick and go on vacation without ruining your chances to deliver on time. Don't assume that you'll be able to throw more people on a project and/or work weekends to make something happen - this practice almost always leads to burning out your workers. For more information on this and why it should be avoided, the seminal book the Mythical Man-Month is absolutely required reading for any aspiring project manager.
4. Give the Customers the Bad News Quickly
If you have bad news on a project, and you've already gone through contingency planning internally, tell your customer as soon as you can. Whether it's a budget overrun or a calendar delay the sooner the customer finds out about it the better off they are. In a best case scenario the customer may be able to come up with a solution you haven't thought of and in a worst-case you want to give them as much time as possible - even if that means finding another company to do the work. Trust and open lines of communication are more important than any single missed deliverable.
5. Learn about Process
Process is not a silver bullet, and strict adherence to a (or worse the) process is a recipe for frustration for both your customers and your workers. That said, every process you are familiar with puts certain tools in your arsenal. In the web development world some of the best books on process that I have read are Extreme Programming Pocket Guide (a quick read) and Agile Software Development (an epic read). These are far from the only ones and if you are passionate about your job (or future job) every book on process you read will give you more tools to bring to bear. Some approaches/methodologies to be aware of include:
- Scrum (Agile)
- eXtreme Programming (Agile)