A. Damien Tanner writes:
The chances are that you’re attempting too much scope in too little time, and the project will never conform to the original plan. You can, however, get the job back on ‘a’ track. Break your planned functionality into vertical chunks, such as “purchase and redeem gift vouchers” or “search the site by keyword”, then put them in strict priority order. This will force you to reconsider anything that is time-consuming unless it is particularly valuable.
Find out what’s slowing the suppliers down. Consider new development practices like pairing (where two developers work together, one coding and one reviewing the strategic direction) automated tests and constant customer contact.
The top priority is to get the software into shippable form. Close all major bugs, and finish or remove each incomplete feature. Then you’ll be in a position to deliver the software. It won’t yet have all the features from your original plan, but at least it’s delivered. Bring in the beta testers and use their feedback to adjust your priorities. Now schedule more deliveries on a fixed timetable. Scope may change, but times must not. Depending on the complexity, it should be ‘ready to ship’ (all included features are usable and valuable) every one to four weeks. Do rigorous testing inside each sprint.
Quality is different to scope. If you deliver a high-quality, well tested site that does one or two things well, that’s a better result than one with many low-quality features. By maintaining relationships with both the suppliers and the end-users, this approach leaves the door open to add more scope in future releases.
To summarise: find the single thing you need most. Get it completely finished and production-ready. Then move on to the next highest priority, and repeat.
Damien Tanner is a 2008 Young Gun and co-founder & director of web developers New Bamboo. His team recently worked on Channel Five’s new gadget site and Amnesty International’s social network.
www.new-bamboo.co.uk