Document Consistency

One of the most important QA jobs is to make sure all the project documentation is internally consistent.  During the project your team will create numerous technical documents describing the software being created from different perspectives.   It is vitally important that the different documents stay consistent with each other. When the project documents are out of sync, confusion, errors, and thrashing ensue.  Maintenance becomes impossible and the product will be scrapped.    (For more discussion, see "A rational design process: how and why to fake it." by David Parnas.)

Documents become inconsistent for many reasons:

The job of the QA person is to be constantly on guard against this document divergence. Your first tool is the Change Control Plan.  Make sure the Plan is complete, clear, and easy to follow.  Check that developers are following the plan.  If change is happening "out of control" then you must manually perform a comprehensive review on a periodic basis to catch any inconsistencies.

What documents need to be consistent?  Everything.  Here are the most obvious examples:

You don't need to update those portions of the User Interface Prototype which have been superceded by the implementation.  However, any significant changes should have gone through the Change Control process. Those UI screens which are now obsolete should be annotated with the Change Request number for the corresponding modification.

Be sure to update the document history for any documents to which you make changes.  

The instructor will check for document consistency at random times throughout the project.  For example, the instructor will pick a requirement from your staged delivery plan and ask you to show where it appears in the traceability matrix and that the design diagram is consistent with the javadocs and the pseudocode.



Document History

Date Author Change
3/5/04
JD
Document Creation

CPE 206 Home