Nota Bene: For a more in-depth exploration of the concepts introduced here, see my blog post
Understanding Misalignments in Software Development Projects.
ROI Lost over the Waterfall
Return-on-investment or ROI is a business accounting term that expresses a simple ratio of money gained or lost on an investment relative to amount of money invested - it's also known as a "rate of profit". In virtually all circumstances a positive ROI is expected by investors and managers, meaning that they see something tangible, usable and in some cases saleable for their money.
Unfortunately, in most modern software projects ROI is impossible to measure or attain because they are so routinely over-budget, past-due and with incomplete or missing features. This is a direct result of using a process that is mismatched to the type of work involved in software development:
Commonly referred to as "waterfall", this optimistic plan suggests that complex software products and attendant activities can be planned entirely up-front and then delivered using an assembly-line defined process, thereby containing risk while promoting predictability and therefore ROI. In reality, however, this is quite difficult to manage because software development is a complex endeavour that involves understanding how to pare-down and marry a myriad of possible technical solutions to a set of customer requests which can, and often do, change over time in response to things like features that weren't thought of initially, market forces, political forces and learning more about the problems the software was intended to solve.
As a result, significant up-front costs are incurred without demonstrating any value in complete, tested, working software until very late in the development lifecycle. By the time the project hits the targeted "go live" date, the product is almost always incomplete, requiring more effort and investment to "stabilize" in order to fix issues and bugs that arise from seeing the solution so long after it was originally specified. As a result, return-on-investment is minimal and realized well after the target date - if at all.
Surprisingly, this confused and dysfunctional state is often considered "normal" by traditional project managers, software teams and businesses, despite the significant impairment it places on meeting business goals and objectives.
ROI Restored with Scrum:
In contrast, Scrum re-aligns delivery process with the complex nature of software development using short planning and development cycles of 2-4 weeks called Sprints that are inspected daily and conclude with functioning increments of software. The product is then demonstrated and critiqued at the conclusion of each Sprint before starting the next. In this way, ROI is realized early, often and at a lower cost and risk:
The past and present runaway failures of waterfall projects combined with highly competitive markets, small margins and time-to-market timeframes are compelling businesses and organizations to become more aware of the value software projects deliver over time.
Scrum makes smart business sense in this context because it makes all aspects of delivery visible, inspectable and adaptable, providing demonstrable progress and ROI with every Sprint.