Agile Today: The Four Agile Disciplines

Share on FacebookTweet about this on TwitterShare on LinkedInGoogle+

Share on FacebookTweet about this on TwitterShare on LinkedInGoogle+

Agile has been used for more than 20 years already. The disciplines and practices introduced with the Agile Manifesto, published in 2001, have been widely implemented with much success and some shortcomings. As expected, these disciplines and practices have also evolved based on the collective experience of developers in the field. In efforts to make agile easier to implement, artifacts and restrictions that don’t contribute to quality have been eliminated. In addition, these changes have also served to make agile implementation more robust and more resistant to common failures, as well as more pleasant to use.

segue-blog-Agile-Today-The-Four-Agile-Disciplines

We start by sharing some new terminology recently introduced by Joshua Kerievsky, CEO of Industrial Logic, and discuss how these terms would change the emphasis from the original agile terms.

The modern agile world as described by Kerievsky consists of four overlapping disciplines that include a dozen overlapping principles/practices. These disciplines are Make Users Awesome, Make Safety a Prerequisite, Experiment & Learn Rapidly, and Deliver Value Continuously.

The four overlapping disciplines of the modern agile world

Agile Disciplines:

Make Users Awesome

Make users awesome replaces “Customer collaboration over contract negotiation”. Kathy Sierra’s book, Badass: Making Users Awesome, is a good source. The focus should be on helping users to become as successful and as effective as possible while doing the tasks that your product supports.  This is a shift in focus away from just making the product itself awesome (or clever or sexy). I like to use the sentence “Honor the users and the tasks they must do.”  To focus on users and their needs, Kerievsky recommends Jeff Patton’s User Story Mapping: Discover the Whole Story, Build the Right Product.

Make Safety a Prerequisite

Make Safety a Prerequisite replaces “Individuals and interactions over processes and tools”. Kerievsky says it well: “People don’t function well when they live in fear. If someone is fired or penalized for a mistake, everyone becomes afraid of a similar fate and productivity plummets. When safety is present, users trust your software, developers are unafraid to change code and people feel safe to fail and learn from mistakes.” Safety is a prerequisite, not a priority, which means that it must be present even before the team begins to establish priorities. It applies to everyone in the product community: users, developers, funders, buyers and sellers.

Experiment & Learn Rapidly

Experiment and Learn Rapidly replaces “Responding to change over following a plan”. The first solution we arrive at is rarely the best solution. We need to experiment to learn not only which solutions don’t work well but also which solution is best among several. Much like when writing a blog, the version we end up with is usually different and much better than the one we started with. Experimentation never leads to failure; instead, right up until it succeeds, it adds data points to our body of knowledge of how not to proceed. For those who adhere to the get-it-right-the-first-time school, which is good for some projects but not generally software development, I recommend Peter Sims’ Little Bets: How Breakthrough Ideas Emerge from Small Discoveries. Another book recommended by Kerievsky is Experimentation Matters: Unlocking the Potential of New Technologies for Innovation by Stefan H. Thomke.

Deliver Value Continuously

Delivering Value Continuously replaces “Working software over comprehensive documentation.” It is high time for agile to fully embrace the contribution of Lean to fully round out the agile toolkit, since Lean has informally been embraced by agile practitioners for a long time. Hats off, once more, to Mary and Tom Poppendieck’s classic, Implementing Lean Software Development: From Concept to Cash. Lean has its hands on the agile project from the beginning through to delivery to the customer and technology now supports this discipline better than ever with continuous builds to continuous deployments. However, delivering on this promise requires careful planning of both the development environment and the delivery processes to make them optimized for safe and frequent releases to production.

In part two of this blog, I will introduce the revised list of 12 principles and practices that support these four disciplines. While the disciplines described here provide high level goals of agile development, the principles and practices fill our toolbox with a set of guidelines for everyday agile development..

References

  • Patton, Jeff, User Story Mapping: Discover the Whole Story, Build the Right Product
  • Poppendieck, Mary and Tom, Implementing Lean Software Development: From Concept to Cash
  • Sierra, Kathy, Badass: Making Users Awesome
  • Sims, Peter, Little Bets: How Breakthrough Ideas Emerge from Small Discoveries
  • Thomke, Stefan H., Experimentation Matters: Unlocking the Potential of New Technologies for Innovation

 

Download our Agile eBook

Share on FacebookTweet about this on TwitterShare on LinkedInGoogle+

About the Author

John Freeman has extensive software development experience, encompassing the full life-cycle. His recent technical focus has been on databases and associated technologies, with some forays into user interface design where needed. He has successfully taken applications to market, and was application architect on a series of projects for State and Federal clients. He has served as chief application architect and collaborated with a team, and has had good success working alone on special projects. He is an agile evangelist and Certified Scrum Master, and has both published and presented on these topics. With Segue, he is making use of his database skills in support of Air Force financial applications, and continues to promote good agile practices. Read more from John Freeman