Thursday, April 15, 2010

Software has the shelf life of bananas

Click to read reviews or buy Domain Driven Design

I just finished Eric Evan's Domain Driven Design book (see my notes here).

I'm struck by his Epilogues section about how most of the great software he and his colleagues sweated over is quickly brushed aside in a few years as business needs change. All that work lost, like tears in the rain.

That's the thing about software. It's so easily discarded. Most of the software I've written in my career has been used for a few years and then thrown out, or never even put into production. As software professionals we don't have the satisfaction of our friends in Civil Engineering or literature as Robinson Jeffers so eloquently says:

To the Stonecutters

Stone cutters fighting time with marble,
    you foredefeated challengers of oblivion
Eat cynical earnings, knowing rock splits, records fall down
The square-limbed Roman letters
Scale in the thaws, wear in the rain.
The poet as well
Builds his monument mockingly,
For man will be blotted out, the blithe earth die, the brave sun
Die blind and blacken to the heart:
Yet stones have stood for a thousand years,
    and pained thoughts found
The honey of peace in old poems.

-Robinson Jeffers, 1887-1962


Monico A. Moreno said...

Finally finished the book, huh, Mitch? Wish I could same the same. Man, that is one tough read. :-)

So, any thoughts or new insights on your past/current DDD projects now that you've finished the book?


Mitch Fincher said...

Hi Monico,
Good to hear from you.
After reading the book I can see many, many mistakes I made on our current project, the chief one being a lack of repositories, which makes testing more difficult.
Also, if I had done a better job layering the software it would have made sharing components with other applications easier.