The Secret to Software Success
How to Be Agile
Slash the budget. Small budgets force developers to focus on the essential. Small budgets also make it easier to kill failing projects. For example, imagine a project that has already cost $20 million. Imagine it’s going down the tubes. With that much skin in the game, it’s tempting for the CIO to invest another $10 million in an attempt to rescue it rather than take a huge loss. All too often, he ends up with a bigger one.
Jim Johnson, chairman of The Standish Group, says he forced the CIO of one Fortune 500 company to set a $100,000 ceiling on all software projects. No exceptions without approval from the CIO and CEO. Johnson claims the company’s project success rate went from 0 percent to 50 percent.
If it doesn’t work, kill it. Bring marketing, program and project management, and IT executives together at the beginning of a project and as it progresses to evaluate every piece of code in development. Is it doing what the business wants? Is it working? Any code that isn’t should be mercy killed.
This is called triage, and it’s "the perfect place to kill a software project," says Pat Morgan, senior program manager at Compaq’s Enterprise Storage Group. He holds monthly triage sessions and says they can be brutal. "At one [meeting], engineering talked about a cool process they were working on to transfer data between GUIs. No one in the room needed it. We killed it right there. In our environment, you can burn a couple of million dollars in a month only to realize what you’re doing isn’t useful."
Keep requirements to a minimum. Don’t start with everything you want the software to do; start only with what it absolutely must do. And don’t worry about writing all your needs down, because requirements change.
Every software project traditionally starts with a requirements document that will often have hundreds or thousands of elements. But The Standish Group estimates that only 7 percent of the features of any given application are actually needed. And a major reason for software failure is feature overload?when a programmer adds a feature that interferes with an essential process. Fixing that disconnect in turn creates another disconnect, and so it goes.
Tom DePauw, manager of IT at Cater-pillar Financial Services in Nashville, Tenn., is using Agile Development to build Cat FinancExpress, a massive Web-based system that integrates three older software systems used for helping customers finance heavy equipment purchases.



