Articles...

Copyright © 2009 Corvus International Inc.  All Rights Reserved

Home      About Corvus       Contact Us       Articles/Resources       Clients          Affiliations  


Forgive him Theodotus: he is a barbarian and thinks that
the customs of his tribe and island are the laws of nature

        George Bernard Shaw, Caesar and Cleopatra
 

 

There are are some immutable laws that apply to software process, and govern our (software) lives.  The article in the January 2001 Issue of Communications of the ACM identifies these laws, gives some examples, and explains the consequences.  Here they are:

  The First Law of Software Process                                                               
Process only allows us to do things we already know how to do.         

  The Corollary to the First Law of Software Process                       
You can't have a process for something you don't know how to do or have never done.

  The Reflexive Creation of Systems and Processes                       
1.    The only way that effective systems can be created is through the application of effective processes.
2.    The only way that effective processes can be created is through the construction of effective systems.

  The Lemma of Eternal Lateness                                                           
The only processes we can use on the current project were defined on previous projects... 
...which were different from this one.

The Second Law of Software Process (See also "The Rule of Bifurcation")
We can only define software processes at two levels:
1.    Too high level, abstract and vague
2.    Too detailed, narrow, and confining

  The Rule of Process Bifurcation                                                                 
Software process rules should be stated in terms of two levels:
1.    A general statement of the process or rule
2.    A specific detailed example
(for example: see The Second Law of Software Process).

  The Dual Hypotheses of Knowledge Discovery                       
Hypothesis One: We can only "discover" knowledge in an environment that contains that knowledge
Hypothesis Two: The only way to assert the validity of any knowledge is to compare it to another source of knowledge

  Armour's Observation on Software Process                                           
What all software developers really want is a...
...rigorous, ironclad, hide-bound, concrete, universal, absolute, total, definitive, and complete set of process rules...
...
that they can break.

   The Third Law of Software Process (also known as the Footwear Manufacturer's Minor Dependent's Law) 
The very last kind of knowledge to be considered as a candidate for implementation into an executable software system will be the knowledge of how to implement knowledge into an executable software system.

  The Twin Goals of Optimal Termination                                            
1. The only natural goal of a software process group should be to put itself out of business as soon as possible.
2. The end result of the continuous application of effective process will be that nobody actually has to use it
! 

 

 

The Laws of Software Process...