Wednesday, August 24, 2022

Methodologies: more than one way to do it

Did everyone catch Glen Alleman's posting on LinkedIn about the 'Waterfall Myth'? If not, here are a few value-adds from that posting. 

First up: Glen's definition of sundry methodologies for developing software systems, whether stand-alone, as it were, or embedded with hardware development:

  • Waterfall Approach: Development activities are performed in order, with possibly minor overlap, but with little or no iteration between activities. User needs are determined, requirements are defined, and the full system is designed, built, and tested for ultimate delivery at one point in time. A document-driven approach is best suited for highly unprecedented systems with stable requirements.

  • Incremental Approach: Determines user needs and defines the overall architecture, but then delivers the system in a series of increments (“software builds”). The first build incorporates a part of the total planned capabilities; the next build adds more capabilities, and so on until the entire system is complete.
  • Spiral Approach: A risk-driven controlled prototyping approach that develops prototypes early in the development process to specifically address risk areas, followed by assessment of prototyping results and further determination of risk areas to prototype. Areas that are prototyped frequently include user requirements and algorithm performance. Prototyping continues until high-risk areas are resolved and mitigated to an acceptable level.

  • Evolutionary Approach: An approach that delivers capability in increments, recognizing upfront the need for future capability improvements. The objective is to balance needs and available capability with resources, and to put capability into the hands of the user quickly.
A long legacy
Now Glen goes on to let us know that some of these ideas go back almost 50 years, if not or more. So if you recognize some Agile concepts in the words above, you would be right. And, their provenance is a trail much longer than the infamous Agile conference --  at the turn of the millennia -- that more or less launched Scrum and XP and others into the public domain. 

What's to like?
Looking at all of these methods conceptually, it's hard not to like a combo of Spiral -- which has a strong focus on risk management of testy requirements that may be impractical at first blush, but might yield to some clever prototyping and evaluation -- and Evolutionary which has an up-front bias toward early value-add for users, but with recognition that these same users are going to provide insight to future capabilities and needs.

The hard part
If you go with some version of the incremental or evolutionary method, or some version of classical Agile, like Scrum or XP, they all presume flexibility on the PM's part to approach and engage the customer or user in product evaluation and value development. 

That's easier said than done in many situations:
  • In the public sector, cost often is first priority, and users have to make do.
  • In the contracting domain, the engagement with the user if often proscribed, limited, and arm's reach remote
  • In the commercial sector, "first" often wins, but what's to come "first" is often a big corporate secret not to be shown to anyone outside the 'green room'. 
And, don't forget: I wrote the book ... see the cover below. You'll find it wherever you buy your books with e-commerce.

Like this blog? You'll like my books also! Buy them at any online book retailer!