I was recently working with an organization that is moving to Agile. Along with sharing that specific experience, I also looked at the history of software development. In the paper by Winston W Royce that brought 'Waterfall Model' for software development into prominence, he took time to highlight the embedded non-iterative nature, and how this makes the waterfall, a model that is "risky and invites failure". Taking a cue from failures, organizations have started initiatives to be agile. Let's look at four Agile values from the Agile Manifesto that will help Agile adoption -
1. Individuals and Interactions Over Processes and Tools
The first Agile value has led us to stories and story points to enable interactions representing the user (also referred to as actor) associated with the initiative. Converting a story, after breaking it into story points, into software, however, needs information to be more structured. An organization that leverages techniques like Customer Value Analysis, for converting story points into value-driven activities, and assigning appropriate priorities to align the initiative to strategy can boast of being on a path of successful agile adoption.
2. Working Software Over Comprehensive Documentation
The second Agile value has rationalized documentation. Organizations gain efficacy in this area by creating multi-level process mapping and using automated document creation that requires minimal manual intervention. It provides business process-centric placeholders for storing documents with structured access. These flows, or business process models as they are commonly known, form the backbone for software development. It also ensures that testing covers all the possible test scenarios. This way, the transition to agile becomes simple yet effective.
3. Customer Collaboration Over Contract Negotiation
The third agile value has made way for introducing the concept of product usability. While 'On-Time,' 'On-Budget,' and 'Within Scope' were the traditional ways to measure the success of projects, agile shifted the focus to usability. "Is the user able to use the product in the way as intended to be used" enables organizations to focus on customer collaboration. It does not undermine the traditional metrics. It just makes usability more critical. For an organization to make the transition, the success criterion/ metrics must consider the expected result out of collaboration i.e., a customer-friendly quality product that meets user expectations.
4. Responding to Change Over Following a Plan
The fourth value has changed the perception of 'Change.' From something to be avoided, it has gained acceptance as part of the process. The shortened cycle for design, development, and testing has shown the way through rapid prototyping. Adoption change involves a shift in how an organization thinks. Organizations that prepare themselves for accepting change and leveraging it to enhance product usability achieve a key milestone in the successful transition to Agile.
In a future post, we will look at other aspects of agile, including more depth on Royce's paper and discuss why all is not wrong with 'Waterfall.'