Why is software design so hard?


I've been busy finalising the specifications for the first of the Symcar products, Workflow, and it occurred to me how much effort I'd expended purely on the design.

Pretty much everyone in the development game agrees that good, comprehensive design is the key to producing good software. Likewise, pretty much everyone agrees that software design is hard to do well. I find it interesting that this disparity exists - where are the tools to help make software design easier?

Such tools do exist, but most of them have taken on lives of their own and migrated into the enterprise arena (think Rational Rose) and have left behind the mundane world of pure software design. The other tools, that do still exist to help with pure design, are general purpose diagramming tools like Visio or OmniGraffle (which I use). Take a look around and you'll see that this is the case pretty much industry-wide, there are general-purpose diagramming tools that help to diagram software design; then, there are the big, expensive tools that exist to help with the design and production of enterprise-level software.

Where are the tools for the likes of me? I'm a small business developer and can't afford Rational Rose or its ilk, but I am looking for something that helps me more than OmniGraffle*. Anyone know of anything that fills this role?

* I'm not insinuating that OmniGraffle isn't a good tool, it's excellent - in many ways better than Visio (much faster, for instance). Also it's a Mac application, which is ideal since I do all my design and documentation work on the Mac. The problem is that OmniGraffle is just a diagramming tool, not a software design tool.

Posted: Thu - January 29, 2004 at 02:04 PM        


©