10 years, 8 months ago

The Next Phase of Agile Development

Post image for The Next Phase of Agile Development

Guest post by Alan Morrison

It’s human nature for people to build sturdy structures to shield themselves from the unpredictability of the elements. But, if you are too sheltered for too long, you weaken your ability to continuously confront change. That’s the dilemma facing IT departments. Change is raining down on them, and they are having trouble continuously adapting.

A term is gaining momentum in the IT community to describe an ideal state for IT systems: antifragility. Coined by Nassim Nicholas Taleb in his book Antifragile: Things That Gain from Disorder, the antifragile system grows stronger when exposed to disorder in the same way the human body’s immune system gains strength when attacked by disease. In contrast, fragile systems are easily injured and suffer from volatility.

The notion of antifragility and its associated biological metaphors are serving as inspiration for enterprises to migrate away from rigid legacy systems and associated work styles. Businesses that already have some antifragile characteristics are mostly web-based and grew up in greenfield environments. They have the freedom of designing IT systems that are more like fluid, interconnected organisms that morph in concert with changing market forces. To emulate antifragile systems, robust enterprises are embracing SaaS, adopting cloud and considering open source as more of a competitive advantage than a risk to avoid.

Nowhere is the dichotomy between robust and antifragile more evident than in the number and frequency of updates made to code. Web-based companies are making daily, multiple updates to their systems while legacy companies strive for minimal, monthly releases. Forward-thinking CIOs are examining how antifragile companies can introduce frequent change without compromising the user experience.

Consider the unparalleled strength and flexibility of the spider web that can resist the winds of a hurricane while expanding like rubber. Scientists have found that the design of the spider web enables a single thread to break so the rest of the interconnected web remains unharmed. The silk changes as it’s pulled and unfurls into a stretch. DevOps, a new process to bring together the developers who introduce code and the operators who guard the stability of the system, echoes the mechanics of a spider web.

An extension of the agile method, DevOps encourages extensive automation and workflow redesign so that developers can release small bits of code frequently and yet not disrupt the operational environment in doing so. The workflow includes buffers, compartmentalization and consistent monitoring and testing–a very elaborate and well-designed pipeline, but also a rich feedback loop. When the small bits of code get deployed, the individual changes to the user experience tend to be minor or limited to a partial audience.

Friction between developers and operators has existed for along time. Now, developers are gaining the upper hand as businesses realize they need to change their systems more frequently to meet customer expectations. IT departments that aren’t open to making changes themselves with their own developers can find developers from the outside foisted upon them.

CIOs are under tremendous pressure to pick up the pace of change. Their current IT systems and work styles are holding them back and slowing them down. More pliable, organic models and mindsets are called for in today’s dynamic environment. CIOs shouldn’t think of themselves as keepers and protectors of solid structures. Rather, they are orchestrators of alive, bustling environments with the ability to grow from marketplace blows.

The July 2013 issue of the PwC Technology Forecast explores this topic in depth and includes many related research findings and case studies.

Image shared by Darren