While reading Bill Miller's Blog, which is one of favorite sources of great ideas, wonderful pictures that go with the story, and most of all truly honest approaches to managing software projects, I went do a site that had a great Eisenstein quote
A Clever person solves a problemThis got me thinking, why all this cleverness about project management, software development? All these alternative and sometimes even feral approaches to doing projects for money. It's the Wise project manager that...
A Wise person avoids it
- Figures out what done looks like at some level of granularity that you're willing to commit to starting the project - even our mega (1000 mega actually) projects have "emerging requirements. You gotta start someplace, but don't let the notion of emergence drive you into the ditch. Keep to the vision
- Measures progress through some sort of physical percent units - don't tell me that you're working hard, tell what you actually produced that you want credit for in a physically tangible way. If you can't tell me where you are along the path in "done" in some meaningful units of measure - a unit of measure that can be converted directly into dollars and days - then "hope is your strategy." How many times have you asked the developers - "when will you guys be done?" No answer? Then when will you know when you'll know? So sort of Estimate to Complete needs to be in place all the time. Every day, every week, every month. Updating this "estimate" - and it is an estimate, a probabilistic estimate with a confidence interval - is what project management is all about.
- Holds people accountable for their actions - can't tell you how many times some agile guru has shown up at - what is now our client - and sold them a bill of goods. Extreme Programming consultants were quite common, now it's Scrum consultants. They're not neary as bad. But Agile Project Management is the current rage. Ask them "how many actual projects have you personally managed to a successful conclusion using this method? In the A&D space, we call this past performance. My favorite was a well known XP-derivative supplier. Came to our then client with a clever tool, a bag of slides showing how to save gobs of money on a port of a legacy system to some clever Java platform. Recommended we embark on a project and "let the requirements emerge." When the CIO looked across the table to our team, we had our head in our hands. Did happen. We recommended they scrap the company that used the legacy system and buy one that had the right system for processing their transactions. It wasn't really the XP-derivative guys fault. His method just didn't scale to $50M worth of development effort.
- Is adaptive is everything. There is no magic bullet - or magic beans, as one feral project likes to say. But what ever you move away from, ask the critical question - did we violate the principles of the past or did those principles not work? Those are two different questions.
So be wise, before being clever.