The Too Much Code blog, which I found on DZone this morning, reminded me of this. Unless I have a selective memory, more selective than the average anyway, I remember hearing that we developers needed a complete design before we started coding. I still hear that a lot actually despite the success of Pragmatic Programmers, XP, Scrum, etc.
I don't remember people telling me that big up front software design was a bad idea, and the older that I get the more I think it is at best a waste of time and worst a serious project risk.
From Too Much Code :
"If we accept that code is design -- a creative process rather than a mechanical one -- the software crisis is explained. Now we have a design crisis: the demand for quality, validated designs far exceeds our capacity to create them. The pressure to use incomplete design is strong."
From the articles (same link as in the quote) that he references,
"We must keep in mind, however, that these tools and notations (UML, CRC Cards, Booch diagrams) are not a software design. Eventually, we have to create the real software design, and it will be in some programming language. Therefore, we should not be afraid to code our designs as we derive them."
Too bad my father never told me anything about software development.
Blogged with Flock