Thursday, December 22, 2011

The Secret Sauce of Project Management

I just got back from a 3-day seminar called Turning Knowledge into Performance - A Learning Simulation, which was put on by the Project Management Institute. The seminar was part discussion, part game, and full-time engagement. This was the first training I have ever attended where you were not looking at your watch or drinking caffeine to stay awake.

A Game? Tell me more!

A basic timeline and complete requirements were already created, so the first step was to set up a kickoff meeting with the customer and stakeholders. Even though this was a simulation, I experienced much of the same politics where everyone feels their perspective is "right" and that you should listen to only them. As the virtual project manager, I was in charge of everything on the project including:
  • Hiring and releasing team members
  • Scheduling team, stakeholder, customer, and sponsor meetings
  • Populating the work breakdown structure
  • Setting the timeline for all of the major tasks
  • Monitoring the budget and allocating money to one of dozens of line items
  • Praising and disciplining the team
  • Generating reports
  • Monitoring expected completion dates and critical paths
  • Putting out fires and make sure the project is moving forward
The simulation used a typical waterfall approach and I asked if it could be done with agile methodologies, but the instructor made it clear that agile will not work. I was hoping that we could be a little less rigid in our approach, but the application was not programmed to work how we wanted it to. Our team decided to use some parts of the waterfall methodology with a sprinkle of agile, and it really paid off for us.

The seminar was 20% classroom discussion and 80% running a computer-based simulation on the building of a web-based product. The project would include hardware, software, and a virtual team of 30 people. We had a $512,000 budget and 22 weeks to launch the application.

Who attended?

There were 14 people in the seminar, and the first day started out with introductions around the room. There were a lot of people who were project or program managers for large companies like FedEx and Lockheed Martin. Many of the people in the room had fancy titles and a lot of formal project management experience. Half of the attendees were existing Project Management Professionals (PMP) and were throwing out many acronyms that are the staples of how most traditional companies run projects.

I was on a team of 3 people, and we quickly realized that we would work well together given our personalities and background. I explained that Mozilla has traditionally work well with very little process, but growth and competition are driving us to adopt best practices. It was hard for most people in the seminar to come to terms that at Mozilla we don't have personal offices, they provide free food and drinks, pets are welcome, and that many of us love our jobs. All those things seemed very foreign to many in the room.

I did feel a little out-ranked, given that many of the attendees were corporate people with seasoned background and big titles. I was the odd person with my Mac, iPhone and jeans, since most other attendees had PCs, Blackberrys, and wore dress pants. Even though I have been doing project management for nearly a decade, I have worn many hats, and it was never my only role. I remember that I was once going down the corporate-world path, but my stint in higher education and now at Mozilla has gotten me back to where I think I can be most effective and happy. I traded in my Blackberry over a year ago and will never look back!

How did your team do?

At the start of the project, we decided on the following project standards based on feedback from executive management meetings:
  • Schedule: Fixed
  • Scope: Chosen
  • Cost: Adjustable
We got feedback from the CEO of the virtual organization that the schedule was extremely important due to a competitor releasing their product in the near future. We decided keep the scope somewhat in check and adjust the cost to make sure we hit the schedule on or before the 22-weeks.

To make the project even more challenging, the simulation was programmed to introduce to random major change to the project to see how we would adapt. During week 9, executive management asked us to move our launch date back two weeks to 20 weeks total. This was halfway through our project; we had to re-adjust many of our timelines, and non-critical paths now became critical.

After the 3-day simulation, our team did really well. Of the 4 teams, we finished further ahead of schedule than anyone else, had the lowest amount of defects, and had the highest team satisfaction. Our team was pretty happy and it was a great experience.

We finished simulation with the following project metrics:
  • 1 week ahead of schedule (including the 2 week schedule compression)
  • $9,800 over budget (less than 2% of the overall budget and we expected this)
  • 82 defects (100 defects was the maximum defects)
  • Team satisfaction: high
  • Client/customer/sponsor satisfaction: high
Why did your team rock?
  • Hired the best people for the team with the most appropriate qualifications for the task
  • Scheduled two scrum-like 1/2 hour meetings every other day to remove blockers and discuss quality or schedule
  • Praised people on any sign they were doing a good job or showing effort
  • Scheduled a two-day team building event after we hired most of the people on the team
  • Limited overtime to when schedule was behind on the critical path
  • Rewarded people with gifts when they went above and beyond
  • Asked a team member who put in their resignation and who was needed on a critical path task to work an extra 20 hours his last week. We felt slightly bad about this situation, but he pulled it off perfect and kept the project on track.
  • ...and the final element of our success: We had a pizza lunches every week for everyone on the team!
In conclusion, what worked for our team and project was to hire good people, keep team moral high, and ensured transparency and clear priorities. If you have good people on your team and they know what they should be working on, you only have to make minor adjustments to the project to keep it on track.

So, what is the secret sauce?

Great People + Good Environment + Clear Direction + Free Food

What have you found that works well to keep project teams successful? Please comment below and let me know your thoughts.