Are there alternatives to Agile software delivery?
Spoiler alert — yes. There are. In this blog post we will look at just one example currently in use by two enterprise organisations and, in the interests of a balance, a counter-example.
In 2018, it is almost heresy to suggest software or IT products can be delivered without adhering to one of the major frameworks listed under the Agile umbrella but we should challenge dogma everywhere we see it, even within our own community.
We must know the big ideas in big disciplines and use them routinely, all of them, not just a few. Many people adhere to one model and try to solve all problems that way
Charlie Munger (WESCO Annual Meeting, 2000)
There is considerable evidence to suggest that massive enterprise software installations including SAP and NASA reject most of the frameworks we class as Agile.
It largely due to the scale of such deliveries requiring considerable amounts of up-front planning, even if the design itself is not finalized. In major infrastructure projects, the costs can be extremely high and it is unlikely the system will work until the whole thing has been assembled even though it might pass lots of testing suites and simulations.
So first, we should really ask
What Do We Mean By Agile?
Whilst Agile advocates might gnash their teeth at this, we need to separate tactical software-delivery patterns from the overall frameworks used for delivery.
Agile can, at this point, be distilled into a handful of practices, patterns, guides, techniques, tactics or approaches.
Is Agile a dozen things?
Or it could be a few dozen…
Or it could be argued that Agile is actually over 100 different approaches and intersecting patterns…
Someone might be working within a waterfall organization using some Agile patterns.
Or, the organization might be largely Agile but one department has adopted some waterfall type planning despite being huge Agile advocates.
OK, let’s invert. What Do We Mean by ‘Not-Agile’?
It becomes very hard to argue any organization is not doing Agile if they have adopted some or all of the patterns listed above in any phase of their delivery. As an aside, it should be being Agile not doing Agile but it is almost impossible to reverse the way the word Agile is being used.
What Alternative Exists?
There is at least one bridge between the traditional waterfall world and the Agile landscape; we call this technique Spiral Development. It can use waterfall type planning and discovery up front to provide the level of certainty required in dangerous installations but allows for rapid iteration once certain variables are known. Of course, like all things, even Spiral Development has it’s purists and detractors and is plagued with its own bikeshedding debates.
Here is a peer-reviewed paper from NASA arguing for The Business Case for Spiral Development in Heavy-Lift Launch Vehicle Systems
The Spiral Development process is now being widely used for large Government program acquisitions and lends itself to the project described here. The main advantage of this concept is that it builds on existing capabilities and assets, as opposed to starting up a “new sheet” vehicle program from scratch. Spiral Development designs recombine existing assets in new configurations to function in extrapolated operating conditions.
SAP has published official guidance for Projecting Managing the delivery of an SAP installation (typically multiple years of work) via the weighty guidebook which outlines the 16 sequential steps required for a successful SAP project.
There is also detailed guidance for individual SAP components such as the Hana in-memory database. You can find those project management guidelines here.
Like all things Project related, you can find examples and refutations galore. SpaceX have successfully challenged the incumbent NASA delivery timelines by aggressively adopting more Agile methods for prototyping, manufacturing and testing of components; however they, like Tesla, remain the exception to the rule for lots of reasons.
If you are interested in how SpaceX are leveraging Agile frameworks then I would suggest a critical reading of Elon Musk: How the Billionaire CEO of SpaceX and Tesla is Shaping our Future. Ignoring the title, the book has huge amounts of Agile and delivery related insights from the engineering teams. For instance, the first Tesla MVP was created in an Excel document before it went anywhere else, even to a clay model.
- Most companies have adopted 1 or more software patterns that we would recognize as Agile…
- That does not mean they support entire Agile frameworks…
- There is a bridge between traditional waterfall and Agile; it is called Spiral…
- Certain organizations still require up-front planning due to the sheer scale of their deliveries (no one is jumping into Sprint 1 to start building a new data warehouse without some planning…)
Thanks for reading, if you found this useful or thought provoking please drop a comment below or share it with others.
Steven Feeney is a father, freelance Agile Coach, former winner of Lean Startup London and guest lecturer at the University of London.
He believes in being Agile agnostic, prioritizing business value and building strong teams; occasionally he finds time to climb a mountain. Tweet me at @steven_feeney.