- Documentation is a working tool and a byproduct of design. - Bryce's Law
I have always considered post-documentation to be backwards. It is analogous to asking an architect to draw the blueprints of a skyscraper after it has been built. In other words, I'm a proponent of pre-documentation whereby flowcharts and text are used to record design decisions in the same manner as architects and engineers, in layers whereby you go top-down from the general to the specific. Under this approach, your documentation is completed before programmers begin to write the source code. The same is true where the architect finishes the blueprints before digging the first shovel of dirt. Call me old-fashioned, but I have never seen this approach fail.
Some programmers consider documentation a waste of time (see "Agile programming"), even going so far as to claim it is detrimental to productivity. Instead of getting all the software specifications recorded on paper at the start, they prefer to begin hacking on the program code and keep modifying it until the end-user is satisfied. Someone is then called in to figure out what the software does and write the documentation (post-doc).
Imagine two separate software project teams given the same assignment, one uses a pre-documentation approach, the other post-documentation. From start-to-end, which team do you believe will finish first? The pre-doc group will seem to take considerable time up-front documenting the specifications. However, the programmers should spend nominal time interpreting the specs and writing the programs. When the programming is done, the project is done as the documentation was completed beforehand.
In contrast, the post-doc group will begin programming almost immediately. Yet, because the specifications were incomplete and fraught with misinterpretations, they will inevitably have to rewrite the programs over and over again until they produce something remotely usable to the customer. Finally, they call in someone to write the documentation.
Obviously, the post-doc approach represents a more costly expenditure requiring more time to complete. Programmers appreciate the need for documentation but rationalize, "We do not have time to do it right." Translation: "We have plenty of time to do it wrong." Consequently, they abhor the concept of documentation in any form and resist any and all attempts for them to produce it.
The one axiom programmers cannot deny is, "Good specifications will always improve programmer productivity far better than any programming tool or technique."
I guess I should be thankful for those embracing post-documentation. If everyone was doing it properly, I wouldn't have too many technical writing opportunities.
"No amount of elegant programming or technology will solve a problem if it is improperly specified or understood to begin with."
- Bryce's Law
- Bryce's Law
Keep the Faith!
Note: All trademarks both marked and unmarked belong to their respective companies.
For Tim's columns, see:
timbryce.com
Like the article? TELL A FRIEND.
Copyright © 2014 by Tim Bryce. All rights reserved.
NEXT UP: EVALUATING EMPLOYEES AND MANAGEMENT - Two valuable forms for evaluating both management and the workers.
LAST TIME: SCIENTIFIC FLIP-FLOPS
- What is good for us? Scientists really do not know.
Listen to Tim on WJTN-AM (News Talk 1240) "The Town Square" with host John Siggins (Mon, Wed, Fri, 12:30-3:00pm Eastern), and KIT-AM 1280 in Yakima, Washington
"The Morning News" with hosts Dave Ettl & Lance Tormey (weekdays. 6:00-9:00am Pacific). Or tune-in to Tim's channel on YouTube.
No comments:
Post a Comment