"In these tough economic times" I've heard this so many times it's starting to annoy me. Yet, this little proverb is sublimely relevant; it taps into the psyche of consumers and businesses alike who continue to say to themselves "Can we afford this?" Corollary to the fear, budgets shrink, revenues disappear, and company objectives change from thriving to surviving. As the recession shows no signs of letting up companies continue to move with extreme trepidation forgoing any projects that appear even slightly risky. This is very bad news for software projects.
Normally they have a high failure rate. According to the Standish report (a little dated, but still relevant), only 16.2% of software projects managed the traditional way will be completed on time and on budget. With companies slashing budgets, often in the wrong places, the outcome for software projects looks grim. failure is more likely than ever. Fortunately Scrum may offer some relief.
According to Jan Stafford, editor of searchenterpriselinux.com, unclear requirements and lack of user input are two of the top three reasons software projects fail: “Most people don’t know what to build because they’ve never defined it. When they build the software, it fails because it doesn’t meet people’s needs.” says Jan. How Does Scrum solve these problems? Mainly by tightening communication between the team, project manager, and the client. Scrum demands workable features demonstrable to the client at the end of each iteration. By having the client see the product as it unfolds the development team gets constant feedback, so they know exactly what to build.
With Scrum, problems and progress are discussed regularly in the daily Scrum. These short 15 minute meetings keep everyone up to date and let management know whats going on. They also let everyone know what they are responsible for and prevent any problems from staying hidden. By keeping people accountable and the process transparent, Scrum lets you know how your project is progressing.
The Scrum process has other benefits too. Take retrospectives. Normally retrospectives take place at the end of the project-it has team members trying to reflect on 6-12 months of hazy memories. Not very effective. Team members are unlikely to make any useful observations and it's too late to implement any that are. With Scrum, retrospectives take place after each sprint (sprint=~month). This allows the team to learn and benefit from their past mistakes immediately, and for the project to benefit too.
The minimal upfront planning is also a very important aspect of Scrum, especially in today's rough economic climate. Scrum does require planning, but it's "just in time planning" and it's spread out over the course of the project. Even if a project is not completed, features of the project are still usable. But unlike waterfall, 3 months of planning will not be flushed down the toilet.
Every part of Scrum is there to bring some benefit. When executed correctly it ensures clear requirements for all team members and continual client input throughout the process. Some practitioners of Scrum have even achieved a 400% increase in productivity and 1200% increase in quality-something dubbed the Toyota effect by Jeff Sutherland. That's Hyper-Productivity!
Again and again, studies are turning up Agile. Shine Technologies ltd. did a study of agile methods and found "88 percent of projects improved productivity after applying agile techniques". A survey by Scott Ambler, practice leader for IBM's Rational Group, found similar results with over 60% of software projects gone agile having a noticeable increase in productivity with only 6% having a decrease. The studies confirm it. Scrum is more productive. It's faster to market and it saves money.
To sum it up, the market sucks and it's a bad time to be in the Software business. Scrum can eliminate some of your problems and will probably increase your productivity. What have you got to lose?
Written by: Jack Milunksy - COO at Brightspark and Co-founder of Agilebuddy (An Agile project management tool, built with rich collaboration features for Scrum teams). For more from Jack please visit: www.twitter.com/agilebuddy and blog.agilebuddy.com