top
Past Meeting Archive Los Angeles ACM home page National ACM home page Click here for More Activities this month
Check out the Southern California Tech Calendar
Los Angeles ACM Chapter Meeting

Wednesday, March 7, 2001

Document or Die, 20 Years Later

Roger Mills, Past Chair

Programs, operating systems, and utilities will not be purchased if they can't be used. There is no excuse for "Programmerese"! There is no substitute for good English! "This sentence, no verb" tee shirt should be displayed in every program area. CD-ROMs are great for quick reference, but why do you think all of those books are written which explain how to use programs?

During the speech or at the end, there will be an opportunity for rebuttal.

Roger Mills has been an ACM national and chapter member since 1957, Chapter Chair twice (19 years apart), ACM Southern California Regional Representative, and Chair of the ACM Professional Code of Conduct when the first code was developed. He ran for ACM President in 1980, and was a national lecturer in early 80s.

He retired from TRW in 1989, and is presently a credentialed secondary school substitute math teacher for the Palos Verdes Peninsula School District, and a volunteer instructor at Palos Verdes on the Net. He has been in the computer field since January 1951.

LA ACM Chapter March Meeting

Held Wednesday, March 7, 2001

"Document or Die" 

Presented by Roger Mills an ACM and LA Chapter member since 1957. He retired from TRW in 1989.

Roger gave us a fast overview of the necessity for good documentation practices in the development of good software. Requirement, design, interfaces, and code are all documented in printed format. This should include well-annotated code. This starts out with doing good software requirements analysis to insure that good designs are possible, that the tested requirements will validly demonstrate system capabilities, that users are brought into the loop and so that management personnel can really be in control of the development process. The preliminary users manual should be developed at an early stage. One change during recent years has been that the users manual will be on a CD-ROM. Hal Hart commented from the audience that the documentation is also going on line for easier access.

It is necessary to develop a software documentation plan that identifies document types, schedules all documentation, defines documentation reviews and audits, production and distribution of documents, and estimates documentation costs. Roger went through a list of things needed to produce good documentation and emphasized that the responsibility for each part must be definitely assigned or it either won't be generated or will be of doubtful quality. It is very important to set the document delivery date, because all other dates are backed up from the delivery date. The necessity for security reviews and for any time needed for deliveries must be included in the schedule. Draft publication dates must be set early enough to allow for both review and to incorporate changes prior to producing the final document. Reviewers should be selected because they have the capabilities required to do a good technical review, not just because someone is available. Copies should be available for all of the reviewers.

Documentation audits should be accomplished during the phase of the development that is audited. The audit is done not just to verify that the document exists, but to insure that the document describes those things that either have been done or are in the process of being done according to the plan. The services of a good editor are very important, as programmers tend to write in jargon, which is sometimes difficult to interpret. The author must review the edited version before publication to ensure that any of the editor's changes intended to improve readability have not changed the intended meaning. Roger pointed out that production costs of the physical document is usually straightforward, but the cost of the programmer's time to generate the material is usually ignored or underestimated.

There are three primary documentation types; Management Reports, Standard Forms, and Technical Documentation. Management Reports include monthly reports, critical path method charts, PERT networks for integrating activities and their dependencies and technical review meeting minutes. Standard forms provide consistency within the project for reporting problems, changes and fixes.

The emphasis of Roger's presentation was on technical documentation which includes Software Requirements, the Software Development Specification, the Software Product Specification, Test Plans and Procedures, the Users Manual, and Test Reports. Requirements analysis is especially important. It should create a description of product performance as determined from the system functional requirements the software will be required to meet. Sometimes the customer will also specify the programming language to be used and a general methodology to be followed in the design and implementation. Requirements analysis should provide well reasoned substantiation, not provide conflicting requirements and should be complete. Each requirement should be capable of being identified with at least one system requirement. The requirements should not specify the design approach, should meet the coordinated goals of the buyer, seller, and user. Too often the buyer and the seller agree on requirements and leave out the user who is frequently disappointed with the resulting software that he must live with. Every requirement must be testable. If it can't be tested then it really isn't a requirement, but just a wish. Each requirement must be validated to sell off the software.

Roger emphasized the importance of the Unit Development Folder (UDF). A unit is a well-defined set of software that performs a function and is the responsibility of a single programmer. A UDF is created and maintained by that programmer for each of his units. The UDF provides information for generating the preliminary design package, the detailed design package, the interface control document, and the test plans and reports. It provides a common collection point for all of the necessary information to conduct a review at any milestone along the development cycle. It provides the information necessary for middle management to have visibility on the status of the software and to control its development. The programmer establishes development milestone dates that he must meet in order to meet his unit delivery date, with the concurrence of his Work Package Manager. Roger described the Preliminary Software Development Specification that contains a functional description of all of the software that must be produced. This is accomplished before the Preliminary Design Review (PDR) which should be the point where there is final agreement on the requirements. Where required, the System Engineer should establish storage and timing budgets. A Preliminary User's Manual should be provided and should be the foundation for extensive CD-ROM help files. Each unit should be well defined and a set of test plans generated during preliminary design. The Critical Design Review (CDR) should defined down to the "code to" level in sufficient detail to design each routine in the element. The Interface Control Document (ICD) is finalized at CDR and placed under internal baseline control. Any changes made by a developer must be known and agreed upon by the other developers before changes are implemented.

Roger Mills was called upon on short notice to update his talk that was developed 20 years ago and present it to the LA Chapter meeting audience. His points are still quite valid. Comments from the audience were that the main change that has occurred lately is that more and more documentation is being made available online so that people can review it from remote locations and discussions can be also be done online. There was general agreement that face-to-face meetings were still valuable and necessary.

This was seventh meeting of the LA Chapter year. 

Mike Walsh, LA ACM Membership Chair

The Los Angeles Chapter normally meets the first Wednesday of each month at the Ramada Hotel, 6333 Bristol Parkway, Culver City. The program begins at 8 PM.   From the San Diego Freeway (405) take the Sepulveda/Centinela exit southbound or the Slauson/Sepulveda exit northbound.

The menu choices are listed in the table above.

To make a reservation, call or e-mail John Radbill, (818) 353-8077, and indicate your choice of entree, by Sunday before the dinner meeting.
There is no charge or reservation required to attend the program. Parking is FREE!

For membership information, contact Mike Walsh, (818)785-5056 or follow this link.



Other Affiliated groups

SIGAda   SIGCHI SIGGRAPH  SIGPLAN





****************
LA SIGAda

There is no meeting scheduled at this time.
 

Return to "More"

****************

LA  SIGGRAPH

Tuesday March 13

A Festival of Internet Art and Animation

Social Hour 6:30-7:30, Program 7:30-9:00

The event is free to L.A. ACM/SIGGRAPH members and $10 for non-members.

Please visit our website closer to the meeting date

For further details contact the SIGPHONE at (310) 288-1148 or at Los_Angeles_Chapter@siggraph.org, or www.siggraph.org/chapters/los_angeles

Return to "More"


Past Meeting Archive Los Angeles ACM home page National ACM home page Top

 Last revision: 2001 0311 [Webmonster]