One has to wonder what was going through Barry Boehm’s head when, back in 1986, he formulated what he called the ’Spiral Model’ of software development, which brought the notion of iteration into the process of delivering software to the masses.
He undoubtedly wasn’t the first to employ faster development cycles to solve software problems; however, he was key in presenting such approaches as a viable alternative to exhaustive, long-winded models such as ‘Waterfall’.
General acceptance of ‘fast’ approaches remains a challenge. They are sometimes seen as in some way casual or delivering lower quality, in the same way as people who don’t wear smart clothes might be less disciplined. There’s as much truth to either.
Indeed, Boehm himself released a book about this, in 2004: the title “Balancing Agility and Discipline: A Guide for the Perplexed” says all we need to know about the dilemma, which continues to this day.
Over the decades however, moving faster has been proven over and again as a successful business strategy. Over the past few years, attention has turned from speeding up development, to focusing on the bottlenecks caused by inefficient operations.
Having worked on both sides, I know just how hard it is even to ‘keep the lights on’ in a fast-moving technical environment. At the same time, there remains plenty of room for improvement.
Part of this comes from agreeing an approach, a mindset and a set of formalised controls across development and operations teams. Another, significant part comes from automating said controls, such that teams get the gain without the pain.
It seems strange to say that, thirty years since Boehm’s work, we are still at an early stage when it comes to creating the toolsets we need to support fast, iterative development and operations. But this is where we are.
This is no bad thing: the main players — Microsoft, AWS, IBM and others — in our recent report on DevOps automation are clear on what they need to deliver even if they do not do all of it yet, and are working towards a shared goal.
Simply put, this goal is about managing requirements, driving development and testing, enabling swift delivery into a live environment then visualising performance to feed requirements. A closed-loop dev and ops cycle, fed by intelligence.
As for enterprises trying to decide whether DevOps is the route for them to take, the advice is simple: do you want to work fast or slow? If the latter, good luck to you and your bottom line in this rapidly changing, technology-driven age.
If working fast is the plan, then you will require carefully considered disciplines that ensure quality is maximised, as well as automation tools that enable you to focus on what you are trying to achieve, without being held back.
DevOps is a means to an end — not doubt it will also evolve, as even iterative methods need to move with the times (keep an eye on how analytics and machine learning can further speed up the development process and increase operational efficiency).
However its underlying principles, and the tools to support them, offer the best possible response to the dynamism of the digital age. Spiral models are not just alive and well, they have become a necessity.