When developers talk about projects, they probably are talking about software. But however hard they try, they cannot completely escape "real" world projects. This is especially true when it comes to home ownership. When my wife and I noticed our garage roof deteriorating, I realized I was going to be confronted with an especially nasty real-world undertaking. By looking at it through the eyes of a project manager however, I was able to take an unpleasant task and turn it into a successful learning experience.
Like any project, replacing a roof requires planning and my plan focused on a single goal: there will be a new roof on my garage come Sunday night. The five basic items on my task list - schedule a weekend, purchase supplies, order a dumpster, remove the old roof and install the new roof - were all focused toward achieving that goal. I was concerned about inclement weather, unforeseen repairs and lack of personnel, so I created a plan for each risk and a trigger for implementing it. What I did not plan was HOW to roof the garage. I simply had to be confident that the implementation team could do the work using pre-defined best practices.
Lesson 1: Planning is about achieving a goal, identifying general tasks and knowing how to deal with risks. Planning is NOT about implementation details.
I felt the project could be completed quickly though I didn't have the experience to say for certain. I contacted someone with more experience (my dad) and he confirmed that one day should be enough time for a 2-man crew to roof a one-car garage. My experience however, told me to include extra time and any additional personnel I felt I could keep consistently busy. In the end, myself and 2 people were able to replace the roof in one very long Saturday. If additional time was required, we still had Sunday as a buffer.
Lesson 2: Experience is invaluable. If you don't have it, find it.
Risk exists. Acknowledge it up front or spend your life being constantly surprised by it's consequences. When I chose my weekend to roof, I knew three days in advance that rain was a possibility. I knew that afternoon thunderstorms were a certainty the night before. To mitigate the rain risk, I bought a tarp large enough cover only a portion of my garage. I felt that the extra $80 was not worth protecting things that I could either handle the wet or that I could live without. With plan in place and thunderstorms in the forecast, I pressed forward. Guess what? We had a two hour downpour in the morning almost immediately after we had finished removing the old roof. Critical items were protected, but I still suffered some minimal damage. When I cleaned out my garage, the only things I had lost were time and expendable items.
Lesson 3: Just because you mitigate risk doesn't mean you completely avoid it's consequences. Take a moment to imagine handling the consequences before committing to anything.
As this could turn into such a large blog post, I thought I'd break it up into a couple of chunks. I'll post part two sometime in the next week. John Hopkins, I acknowledge that you've called me out and I owe a post on who inspires me.