Building Expertise in Software Delivery

Tom Howard
3 min readMay 16, 2021

Fast and accurate feedback is critical for fast and efficient software delivery, but its benefits go far beyond those typically described by the agile, lean and DevOps communities.

Since its inception, agile development has encouraged feedback and sought to create feedback loops, such as from regular retrospectives, test-driven development, and from user feedback of working software. This feedback is critical to keeping the team focused on delivering the intended outcomes and high quality results.

In DevOps, feedback is even more highly regarded and is one of its three underpinning principles.

The Second Way is about creating the right to left feedback loops. The goal of almost any process improvement initiative is to shorten and amplify feedback loops so necessary corrections can be continually made.

The outcomes of the Second Way include understanding and responding to all customers, internal and external, shortening and amplifying all feedback loops, and embedding knowledge where we need it.

Gene Kim, “The Three Ways: The Principles Underpinning DevOps”, itrevolution.com, 2012, https://itrevolution.com/the-three-ways-principles-underpinning-devops/

It’s clear from experience that feedback helps us to stay on track and it helps us to fix problems early, when they are easier and less expensive to fix. But, there’s more to it than that.

Nobel laureate Daniel Kahneman’s work on the psychology of judgment and decision-making tells us that immediate and accurate feedback is a key ingredient for building expert intuition.

Specifically, to develop expertise in an area, you need:

* A regular world (i.e. predictable)
* Many opportunities to learn
* Immediate feedback
Daniel Kahneman, “Thinking, Fast and Slow”, 2012, Farrar, Straus and Giroux, ISBN 978–0374275631

Some aspects of software delivery are unpredictable, like what products will succeed and which will fail and what features customers will love and which ones they’ll loath. But many aspects are predictable, making the implication of Kahneman’s work significant.

If your delivery process prevents or delays feedback, or opportunities to learn, then your delivery process is making it much more difficult or impossible to develop expertise.

This connection between feedback, opportunities to learn and expertise allows us to compare waterfall vs agile approaches in terms of how they help us or inhibit us from developing expertise.

The following table lists some common agile and DevOps practices, their waterfall counterparts, and how the waterfall counterparts inhibit the development of expertise by either delaying feedback or reducing opportunities to learn.

Do Don’t Why not?
 Automated testing Manual testing — Takes longer, so the feedback of test results is delayed.
 — Is done less frequently, reducing the number of opportunities to learn.
 Frequent releases Infrequent releases — Reduces the number of opportunities to learn.
 Single development and operations team Separate development and operations teams — Greatly reduces and delays the feedback from operations to development.
 Frequent retrospectives Single post-implementation review on completi

This isn’t, and can’t be an exhaustive list; the way we deliver software is constantly changing, but the following principles will always apply:

--

--

Tom Howard
0 Followers

IT Consulatant @ Digizoo & Quality and Testing Manager @ Greater Bank