Home arrow Blogs arrow Plan and Deliver arrow Can We Please Please Please Just Start with a Simple Plan
Can We Please Please Please Just Start with a Simple Plan PDF Print E-mail
Written by Peter Schuh   
Friday, 15 December 2006

I’ve been working with a couple of new teams this week that are transitioning to an agilish (yes, I did say agilish) process. What has really struck me this week is how the entire software development industry is still marooned on Gilligan’s Island when it comes to drafting a plan that simply and effectively communicates what we are about to develop. Yes we’ve been on the island forty years. Yes, the whole industry … well, percentage-wise just about everyone if we cut off the decimal places and round up. No, I don’t know where everyone fits or how they eat.

 

What sort of plan strands you on a tropical island for forty years in a bad 60’s sitcom? The sort of plan that starts with Select Project Manager, Select Tech Lead, Select Project Team, Hold Kick-Off Meeting and ends with Transition to Maintenance Team, Archive Project Documentation, and Hold Project Retrospective. Typically, this kind of plan can be up to eight levels deep, weaves in and out and fakes left and right like a pro running back, has plenty of tasks and subtasks estimated at either twenty days or zero days, and amazingly manages in five hundred lines or more to omit any mention of the actual functionality that is purportedly under development.

 

The type of plan that is mostly likely to drop you and a million of your dearest friends on a once-deserted island is a plan that is actually indecipherable even to the person who supposedly authored it. This is, of course, because the author lifted the majority of the plan from someone else’s plan--which may well have been equally indecipherable. And, I would argue, it is this practice of copying pre-baked plans that is the single biggest reason that we are still hanging out with Gilligan. We’re not just copying the plan from the PM three cubes down, we’re ripping the corporate-recommended Starter Plan Template off the shared drive, guestimating ourselves into a schedule and a budget (which is, of course, an activity best done alone), and actually forgetting to ever fold in the effort for the tech-stuff-that-we-don’t-really-understand-anyway before taking the plan up to the board and getting it approved. Of course the board is going to approve the plan. It’s over a thousand tasks and they can’t follow it so it must be good. But they’ll argue us down on the budget and that’s ok since all the estimates were inflated anyway. Seriously.

 

I’ve seen too many teams start with these complicated plans based on what some other project did or what the company PMO recommends. They half-heartedly throw their own work into the plan and the project really does get approved and no one looks at the plan ever again because it didn’t make any real sense in the first place but they can swear that they really did plan the project before they threw that plan away. I’ve seen this happen again and again, and at this very moment I’m convinced that a significant part of the problem is that teams try to start the planning process with a pre-baked plan. And more times than not that’s a half-baked pre-baked plan.

 

How do we get off the island? With a simple plan. And a simple plan should start ONLY with a short list of the separate and distinct bits of functionality that need to be developed. Call ‘em features, deliverables, components, chunks or whatever you like. Maybe there are six items on the list. Maybe there are two dozen. It’s somewhat dependant on the size and nature of the project. The list should not include any of the other noise associated with a software project, like failure testing, UAT, deployment, etc. The items on the list should make sense to everyone on the team, the team’s management and the customer. Everyone should agree that each item belongs on the list and that nothing is missing. After everyone agrees on the initial list then start adding details and estimates to the items on the list, and feel free to change the list as the team learns new things or a better way to group the work that needs to be done.

 

This list, once fully estimated, makes a simple and excellent starter plan. In the past, I’ve called this list a Feature Catalog. Truly agile teams will need nothing more than this to begin a project. Teams following agilish processes, however, may now need to build a heavier plan around this simple plan, folding in the discovery, documentation, sign-off, UAT and deployment activities that are customary in larger companies and on larger projects. But as long as we start with a simple plan, and we carefully build the heavier plan around it, we will end up with a blueprint that can be flexed and followed to build a system that will one day carry our project team home.

Comments (0)add feed
Write comment


Write the displayed characters


busy
Tags:
Click to add your tags...,
 
< Prev   Next >

Video News

ThoughtWorks Mingle 2.0
 
Copyright © 2006 - 2008 CMC Media, Inc. All rights reserved. All marks are trademarks of CMC Media Reproduction in whole or in part in any form or medium without the express written permission of CMC Media, Inc. is prohibited  
 
 CM Yellow Pages | ALM Expo | CM Today | Configuration Management Journal | CM Crossroads