The continued discussion of what's agile project management needs an example from the real world. Jim Highsmith is fond of using hiking examples. That'll work here as well.
Our End Goal
The end goal needs to be defined in most hiking "projects." Without an end goal, we'd have to call the hike "wondering in the mountains of Colorado until we get back to the care." So assume we have a goal. Something that is definable in clear and concise terms. I'll pick one of my favorite hikes in Rocky Mountain National Park. A trip from the parking lot to Pawnee Pass and back.
Master Plan
Remember a Plan is a Strategy for achieving the goal. Our goal is to hike to Pawnee Pass and return to the parking lot. Hopefully in one piece, with no injuries along the way.
- Assemble all the hiking gear at the house. This is a precondition, but since we experienced hikers in the Colorado Mountains, all the gear is in its storage boxes. All that is needed is food and water and a final check of the safety items.
- Drive to the parking lot. This requires a four wheel drive and a park permit. Both are sitting in the driveway in Niwot, Colorado.
- Unpack, get geared up. Boots, backpack, final safety check. Check in at the Ranger Station to tell her we'll be on the trail for 4 to 6 hours and plan to be back before sunset.
- Start down the trail. Say Hi to all the tourist, who we'll stop seeing after a mile or two, when the path narrows and pitches up on the first tough walk to Lake Isabella
- Cross the ice bridge, then along the cut path in the rock field to the first lunch stop at the bottom of Pawnee Pass.
- Eat, watch the Marmots play, check for snakes and any weather coming our way by looking at Longs Peak and Niwot Ridge (you wondered where www.niwotridge.com came from).
- Proceed up the switch backs to the top of Pawnee. Look over the Pass into the backside of Rocky Mountain National Park, Grand Lake and the tops of the Continental Divide and other Fourteener's
The Schedule
With the plan in hand, the actual schedule needs to be agree on. Making time on the trail is important for several reasons:
- Getting back by dark, since we have no head lamps
- Avoiding thunderstorms. We can get wet but lightening is a problem on exposed ridges
- Managing food and water over the hike. Since not all our party enjoys walking miles without food, we have the schedule stops for eating.
- Making sure all of our party can join up at specific points along the way and how long to wait before going back to look for the stragglers.
Execution
With a Plan and a Schedule, we now need to Execution the Plan and the Schedule. We need to go hiking.
- Our pace is regulated by several things. Natural terrain, pace of our party and other general obstructions.
- Along the way we stop for pictures, look at animals, chat with other hikers, enjoy the mountain scenes, rest our feet and adjust our packs.
- Once in awhile our leader encourages us to "pick up the pace" to make the next way-point, in order to hold our schedule. Or slow down a bit to let everyone catch up and rest our bones.
Changes in Plan
No matter what our Plan and Schedule says, there will be changes:
- The trail is blocked
- The trail is crowded
- The trail is muddy
- The ice bridge is crowded
- Someone dropped their water bottle and we had to scramble down the slope to get it.
- A thunderstorm halts our progress while we seek shelter from the lightening
- Someone needs to rest, cause at 12,000 feet oxygen is scarce
- Someone cut their chin on a rock or branch and we break out the first aide kit
These interruptions are natural events in the context and domain of trail hiking. They have simple mitigations. They are foreseen. We have the equipment and processes to fix them. We're experienced hikers. The delays can be made up in simple ways - walking faster is one. Any experienced hiker knows what to do to make up time.
There are other delays.
- The trail is out, so we have to take a different route to get back on the path to the top.
- Someone is seriously injured. Either we call for help, wait for the periodic rangers, take that person back, or park them in the shade and come back for them later.
- One of the novices "craters" and has to go back. We split off two to go back, and all others go forward.
- Serious lightening starts and we abandon our goal.
Conclusion
Hiking requires Planning and Scheduling and Execution. Alternative plans are needed, alternative schedules always happen and alternative execution choices are always there. So what's all the noise about Planning and Scheduling in agile software development? Is it a matter or pride, that agile software developers don't want anyone telling them what to do? That seems wrong, since they work in teams. Is it that they don't what to have a "project manager?" Hikers do, they have a Leader, someone in "the lead," even if the lead changes. The Lead will change, but it's not just a cluster of people ambling down the trail.
The steeper the trail, the more important the leaders role.
A final statement about hiking in the Rocky Mountains...
Preparation is the key to a successful hike
Why wouldn't...
Preparation be the key to success for a project?
How much preparation depends of course on the context and domain. If I'm hiking the neighborhood open space trail with the Corgi's or hiking Longs Peak, the preparation is different. To argue otherwise - that planning, preparation, sequencing, and execution performance management - is not needed is dangerous in the hiking paradigm. Why do we think these activities are not important in the project management paradigm?