The Larry, Moe, and Curly of Agile Website Project Management
The Three Stooges. The Three Tenors. ZZ Top.
All of these trios are memorable and for good reason. Each member is an outstanding individual contributor. Each trio has found a unique synergy. And they have all created masterpieces in their respective fields.
And let me add one more memorable trio: Time boxing, MoSCoW prioritization and iterative development.
Although not people these three practices are just like other memorable trios. Is each member an outstanding individual contributor? Check. Unique synergy? Check. Create masterpieces? Check. Yep, Time boxing, MoSCoW prioritization and iterative development are a great trio too.
So, do other folks think these practices are a great trio? Well, creators of the DSDM agile project methodology think they belong together and call them “key principles.” And they are all individually recognized as sound practices as more of these practices are in every single agile project methodology.
So why bother with implementing all three of these practices? Couldn’t you do less and be ok? Yep, you could do less and implement just one of these practices and it is going to help improve your projects.
But when implemented as a trio these three magical processes are so powerful that they can literally transform how your projects work.
And Time boxing, MoSCoW prioritization and iterative development will do these major transformations for any content, design and functionality website project that comes along.
And what is even more amazing after some serious thought is that it’s clear to me that time boxing, MoSCoW prioritization and iterative development are a lot like The Three Stooges individually and as a trio. Wacky, huh?
Time boxing is a lot like Moe. Moe was the leader and set the tone for The Three Stooges, just as time boxing does for our agile trio. But, time boxing seems a bit smarter than Moe.
A bit smarter because the time boxing technique acknowledges that almost every web project arrives with fixed end dates and limited staffing flexibility. Instead of trying to fight for more time and resources, the fixed end date and limited staff are considered a “time box” that can’t be modified.
Then your job is to fill the time box with the most important features that will fit inside. This approach turns your typical project startup discussion from “I need more time and more people for this project” into “ok, I can accept the dates and not hiring anyone. But, we need to talk about limiting the features that can be delivered.” I find talking about which features to deliver instead of time and resources a refreshing change. And, I bet you will, too.
MoSCoW prioritization is a lot like Larry. Larry gets most of the slaps and without him the trio just doesn’t work. Just like Larry, without MoSCoW prioritization, iterative development and time boxing just don’t work either.
MoSCoW prioritization sorts the features in your project by business value and then groups them into four buckets: “Must have” features must be present and complete for the release to deliver any value at all. Your project should be considered a success if you can deliver all the “Must have” features.
“Should have” features are important but have a workaround if they don’t make it into the final release. “Could have” features are “nice to haves” but do help increase customer satisfaction. “Won’t have” features are considered deferred until a later project.
Although this prioritization isn’t anything magic, it gives you critical information needed to fill your time box and assure successful delivery of the “must have” features. Then it helps you maximize the use of any project time left to complete “Should have” features and finally, the “Could have” features.
There are lots of ways that Curly reminds me of iterative development. Curly was the breakout character of The Three Stooges; he was the guy that made them famous. Just like Curly, iterative development is the breakout practice of Agile project management. Still today, most folks think of iterative development when they think of agile project management.
And Curly made sure every scene was success for The Three Stooges by on screen improvision. Iterative development makes sure your project will be a success by making it more likely that all the “must have” features will get delivered and as many of the “Should have” and “Could have” features as you can fit in.
Iterative development makes projects better by slicing the time available for a release into a series of smaller time boxed projects called iterations. Then each iteration is scheduled to deliver as many features as possible, which are completely finished and ready for deployment.
Planning iterations completely relies on the MoSCoW feature prioritization. First, we want to schedule the “must have” features into iterations that occur early in the project. This substantially increases the chance of getting ALL the “Must have” features done.
Once the “Must have” features are scheduled into the early iterations we want to schedule the “Should have” and “Could have” features into later iterations. Because features are added in order of priority, as established during the MoSCoW prioritization, all of the iterations are filled with features the business folks really want. And they get really happy when you give them what they want, don’t they?
So there you have it, using our agile trio you have a whole new way to make your business folks happy. Time boxing, MoSCoW prioritization and iterative development are proven techniques that increase your chances of successful project delivery. And they work together to maximize the amount of value your project can deliver in a way that actually decreases the chances of project failure. Good stuff.
But how do we apply these practices? Let’s talk through each using an example project and get the details on Larry, Moe and Curly time boxing, MoSCoW and Iterative development.
Time box, MoSCoW prioritization and Iterative Development Resources
The DSDM consortium creates the Dynamic System Development Method. The new version of DSDM is called Atern. (login required). You can also access the older version of DSDM (version 4.2) using the same login.
Wikipedia has some good information on DSDM, time boxing, MoSCoW prioritization
and iterative development.
Because DSDM gives their methodology to folks that join the DSDM consortium (which seems a lot like selling it really) there isn’t a ton of books about it. The best I have found is DSDM Business Focused Development.
If you are up for something brief and about the latest version of DSDM, called Atern, the best book about DSDM isn’t really a book. It’s a little pocket guide. Easy to read and high level enough for anyone.