As it stands the majority of any project is lost productivity. I actually identify it as a thing and assign a value to it. (Usually for my own OCD post-project review). This almost always comes down to miscommunication or lack of communication and is the result of an inherited project and can’t be avoided. Projects/Tasks which consist of add ons, changes, refits/rebuilds, scope changes, augmentations, rescue jobs, short term, short notice, immediate deadline, or tightly funded projects will usually all have something in common. That is, your picking up the ball from another developer(s) and the only thing they left you were undocumented bugs, and a vapor trail of promises to the client.
No worries though, with a decent set of documentation and diagrams I can build anything and I can fix anything.
The problem:
No one ever leaves documentation. Much less the virtual treasure chest that is a stack of UML diagrams.
The solution:
I lend a hand quite frequently in #sql on Freenode and one of the problems I run into is that people start programming the application/database too soon.
I’d like to suggest that everyone take a look at UML digrams and insist (if only to themselves) that a nice, neat documentation set is available to consult before the coding begins. For your reading please I have a short list on my wiki of diagrams. (That’s right, Dry By Design has a wiki!)
Enjoy -> http://wiki.drybydesign.com/index.php?title=Data_Modeling