Project Management Basics – Chapter 8 – Predictive, Iterative, Incremental, Adaptive
"Let our advance worrying become advance thinking and planning." Winston Churchill
"Plans are worthless. Planning is essential." Dwight D. Eisenhower
I think this is one of the topics that the PMBOK® makes unnecessarily complicated. Here is a quote from page 19 of the PMBOK, 6th Edition: “Project life cycles can be predictive or adaptive. Within a project life cycle, there are generally one or more phases that are associated with the development of the product, service, or result. These are called a development life cycle. Development life cycles can be predictive, iterative, incremental, adaptive or a hybrid model.” The PMBOK then goes on to define the life cycles.
As an experienced project manager, I don’t understand why the distinction made between the “project life cycle” and the “development life cycle”. I understand the “book” difference, but as a practical matter it is a distinction without a difference. When you look up the definitions in the PMBOK, you can find one for “project lifecycle”, but “development life cycle” isn’t there! Instead, it is referred to as a “development approach”.
Why complicate it?
It is also referenced in the PMBOK on page 666 where there is a chart that shows “The Continuum of Project Life Cycles” that lists predictive, iterative, incremental, and agile. Shouldn’t that be the continuum of development approaches? Or the continuum of development life cycles? I don’t even view it as a continuum!
Let me simplify this by providing plain language explanations of these terms. Be warned, this won’t be the “book” definition.
Predictive – This is “traditional” project management. Develop the plan, then manage to the plan. Any changes go through integrated change control. Simple.
Incremental – You understand at a high level the scope of the project, but for a variety of reasons decide to deliver functionality (however that is defined for your project) in “chunks”. I warned you this wasn’t the book definition! Here is an example from the dark recesses of my project management past. I was once responsible for a project that was legislatively mandated. The project required certain businesses to register by a certain date, and later the organization would publish a researchable list of the registered businesses. We realized that we couldn't deploy it all in time, so we adopted an incremental approach. First, we developed and deployed the user interface so the information could be input. We then developed the storage solution, deployed it, and moved the data over. We then developed and deployed the external research capability.
My example also illustrates why this isn't a continuum. We used waterfall for each of the three releases, and we used an iterative approach to develop the project plan itself. Introducing the notion that there is a continuum is confusing and not accurate.
Iterative – Repeated cycles add to the knowledge of the project and the product. That’s it!
Adaptive – this is Agile. Making a distinction is confusing and only matters if you are splitting hairs in an academic discussion. Agile uses the iterative approach of repeating a series of structured development cycles where knowledge is gained about the final product. Agile uses the incremental approach where working software is provided to the customer after each development cycle.
Hybrid – combining aspects of predictive and agile.
Simple concepts deserve simple explanations!
Next I’ll discuss first principles of waterfall.
I want to thank everyone who supports my website! I am seeing impressive month over month increases in subscriptions, traffic and repeat visitors. I have had visitors from 50 jurisdictions and from every continent but Antarctica. I can put the content out there, but it is awesome to see your support and the global reach of my humble website.