Long Live the Spiral

Spiral1_2Here’s a forgotten fact: this month marks the 20th anniversary debut of Barry Boehm’s spiral process model.

While that seems like a lifetime ago in the software world, the concepts of the spiral development process are rooted in today’s most popular software process methodologies, including eXtreme Programming (XP), Agile, and Scrum.

You may be saying, "But spiral was 20 years ago! XP, Agile, Scrum.. they all take different approaches to development!"

Yes, they do have differences on the surface, but deep down each of these methodologies has an underlying similarity – they all use a form of spiral at every level of development, from the product schedule to actual code implementation.

Refactoring? It’s a spiral approach to software design and code improvement.

Two week builds? A tight spiral approach to managing workflow.

Use cases, stories? Enable a spiral feedback loop for better communication between stakeholder and developer.

That’s just the beginning.

PdcaConsider this: the spiral model Boehm created closely resembles the Deming Cycle of "Plan-Do-Check-Act". PDCA is an iterative four-step problem-solving process made popular by Dr. W. Edwards Deming. Dr. Deming was a statistician who helped the United States during and Japan after World War II improve production and quality control. Deming later changed PDCA to PDSA, meaning "Plan-Do-Study-Act", but the idea is the same.

An interesting fact of PDCA is that Deming based it on the Scientific Method, developed by Francis Bacon in 1620 with origins dating back to Ancient Greece. If you remember from high school science class, the scientific method is "Hypothesis-Experiment-Evaluation", each of which relate to the steps of PDCA.

The basic premise of PDCA (or PDSA) and the scientific method is very familiar to anyone studying modern software process: iteration, iteration, iteration. From Wikipedia:

"A fundamental principle of the scientific method and PDSA, is iteration – once an hypothesis is confirmed (or negated), executing the cycle again will extend the knowledge further. Repeating the PDSA cycle can bring us closer to the goal, usually a perfect operation and output."

And as if that wasn’t enough, the quality beast Six Sigma borrows from the PDSA cycle and defines it as DMAIC, or "Define, Measure, Analyze, Improve, Control".

Does this mean XP is a relative of Six Sigma? Perhaps, but I won’t go there.

More importantly, software processes will come and go in the software industry. They may have funny names and their own terminology for the word "requirements", but it’s a pretty good bet that no matter what comes along it will probably be based on the best creative engineering practices that Boehm, Deming, Bacon, and others have documented over the course of human history.

Leave a Reply