• Elegant Code Cast


    View in iTunes Any Podcatcher

Attacks on the Accidental and Essential Properties of Software

Over the next several months I will be posting articles that discuss various aspects of software and the state of the industry. These will be titled as either attacks on the essential properties of software or the accidental properties of software as defined by Brooks in my post I first learned about Agile Development….

Brooks went on to provide a clearer definition of Accidental and Essential Properties in No Silver Bullet Refired (Chapter 17 of the Mythical Man Month).  In particular Brooks uses Dorothy Sayers definition of creativity:

instead I follow the English  dramatist, detective story writer, and theologian  Dorothy Sayers in seeing all creative activity to  consist of (1) the formulation of the conceptual  constructs, (2) implementation in real media, and  (3) interactivity with users in real uses.[6] The part  of software building I called essence is the mental  crafting of the conceptual construct; the part I  called accident is its implementation process.

The goal is to try to discuss the progress towards a silver bullet for software development. These are my thoughts on progress in the methodologies and tools to make developing software easier. These are things we are doing as an industry to attack the Essential properties of Software. There are also that are just white noise interesting, fun and useful, but in the end just attacks on the accidental properties of software and have no real impact on our ability to quickly create quality software that attacks the essence of building software, or as Brooks says:

I believe the hard part of building software to be the specification, design, and testing of this conceptual construct, not the labor of representing it and testing the fidelity of the representation. We still make syntax errors, to be sure; but they are fuzz compared with the conceptual errors in most systems.

If this is true, building software will always be hard. There is inherently no silver bullet.

So lets look around for what we have done in the last twenty years to attack the essential properties of software and progress towards the silver bullet of software (from the essay No Silver Bullet written in 1986).

kick it on DotNetKicks.com

2 Responses to “Attacks on the Accidental and Essential Properties of Software”

  1. Hey Darrel, I just went back and read your “I first learned about Agile Development….” post. Good stuff. I have to admit I have not ever read the book, its always been one of those “ya ill check that out” but never got around to it…. I mean, its so old? (joke) I am suprised at how much of it rings true today, I am looking forward to your upcoming posts. I think theres a lot of valuable wisdom you can share with us here.

    Ill be the first one to admit, I get caught up in the latest and greatest, its fun, its my passion, It drives me, and I believe there has to be a better way.

  2. @Jarod

    I think we all get caught up in the latest and greatest. You are right it is fun. Unfortunately most of the latest and greatest only attack 25% of the problem we face as software designers. The other 75% is usually ignored.

    And let’s face it the other 75% (Analysis, Design, Architecture, Testing Deployment) are not as much fun :-).

Leave a Reply

Close
E-mail It