Freigeben über


Software Reflects The Process That Creates It

Of all the ‘laws of software’ that I subscribe to, this one is one of the most fundamental, and unwavering.  I cannot find an exception to it, and years of experience reinforce it for me.  I can look at a chunk of source code, or an operations manual, or even a build script, and see the effects of the software development process used to create the artifact.

Process affects architecture.  If you use agile techniques, you will not only get your results in a different amount of time and features will appear in a different sequence than if you used iterative spiral techniques, but the software itself will have a different structure, different patterns, and different interfaces.

Just making an observation.  Probably not even a controversial one, but one that bears making. 

Software reflects the process that creates it.  

Corollary:

If you want to improve the quality of the software you produce (regardless of how you measure quality), you can change tools, and you can change information, and you can change training, to your heart’s content… but the big effects will come from changing the process.

Comments

  • Anonymous
    November 26, 2008
    PingBack from http://blog.a-foton.ru/index.php/2008/11/27/software-reflects-the-process-that-creates-it/

  • Anonymous
    November 26, 2008
    I believe that this is another manifestation of Conway's law (http://en.wikipedia.org/wiki/Conway%27s_law).

  • Anonymous
    November 29, 2008
    Hi Udi, Thanks for the link.  I wasn't aware of who had claimed credit for pointing this out.  This law predates my time in computing, that's for sure.  It is somewhat obvious, but it bears repeating.  The implication is interesting, of course, because people will try to change the quality of software without changing the processes used to create it. --- Nick

  • Anonymous
    December 07, 2008
    The comment has been removed