• Skip to main content
  • Skip to after header navigation
  • Skip to site footer

Shaping Software

Enduring Ideas in the Realm of Software

  • About
  • Topics
  • Best Software Books
  • Archives
  • JD Meier.com

A Process for Generating a Software Process

Jun 22, 2008 by JD

There is no one-size-fits-all process model.  The answer is to use a meta-process, or a process for generating a software process.  You need to accommodate both the macro (in the large) and micro (in the small) systems engineering. In Scenarios, Stories, Use Cases: Through the Systems Development Life-Cycle, Ian F. Alexander and Neil Maiden write about using a meta process to choose the most effective process model for your projects.  

Accommodate ‘in the large’ and ‘in the small’ Explicitly

Alexander and Maiden write that you need to explicitly accommodate systems engineering ‘in the large’ and ‘in the small’:

  • For any practical systems engineering/project management process model, you need to reflect and accommodate both levels explicitly.
  • Focusing on one level at the expense of the other is a mistake, although both errors are encountered in practice.
  • One often sees just one level depicted, with the other implicitly struggling to get out.

Choose the Most Effective Process Model

There is no single, correct ‘in the large’ model.  Alexander and Maiden write that you need to choose the most appropriate process model based on the project situation:

There are a number of different ‘in the large’ models in use.  Often one hears the claim that one particular model is the right one to use.  Some people become almost religiously zealous when it comes to this.  But this is inappropriate; there is no one correct ‘in the large’ model.  To insist that this is the case is to invite and encourage process rigidity.  ‘Horses for courses’ thinking should prevail.  Choose the one that seems most appropriate for the project in question.   This last point has an effect on people who write process standards.  If there is process diversity in the large, what do you put in your process standard?

Use a Meta Process (A Process for Generating a Process)

Alexander and Maiden write that you should use a process for generating a process:

The answer seems to be that your process standard should instead be a meta process, or a process for generating a process.  This seems to be a particularly powerful concept, since it seems to offer at a stroke full generality, flexibility, and recycling of systems engineering good practice.  It also requires you to have risk assessed the project and asked pertinent questions about how the project is likely to unfold (and having to do these cannot be considered a bad thing!)  

Key Take Aways

Here’s my key take aways:

  • There is no single correct ‘in the large’ process model.
  • Use a meta-process or a process for generating a process.
  • You need to accommodate both the macro (in the large) and the micro (in the small) systems engineering activities and phases. 

My Related Posts

  • Waterfall, In the Large, and In the Small
  • Four Reasons Why Defining Effective Software Process is Tough
  • Constructive Criticism of the Waterfall Model
Category: ProcessTag: Process

About JD

Previous Post:Constructive Criticism of the Waterfall Model
Next Post:Systems Engineering ‘in the small’

Sidebar

Recent Posts

  • What is ChatGPT?
  • Agile Performance Engineering
  • What is Cybersecurity?
  • Software Security Threats: A Comprehensive Guide
  • What is Software Security?

Popular Posts

Best Software Books of All Time
Best Practices for Project Management
Best Practices for Software Development
Customer-Connected Engineering
How To Frame Problems Better
How To Pitch Business Ideas Better
How To Structure Vision Scope Presentations
Intro to Lean Software Development
Lean Principles for Software Development
The Enterprise of the Future