Checklist for Detailed Design Reviews

Checklist for Detailed Design Reviews

All the wealth of the world cannot help one little Indian village if the people are not taught to help themselves. Our work should be mainly educational, both moral and intellectual.
~Swami Vivekananda


  • Is the pseudocode (or other representation format) consistent in its level of detail?


  • Have missing details from the system data description been filled in?
  • Has all the data been properly defined and initialized?
  • Is all defined data used?
  • Are data elements named and used consistently throughout the module and the module interface?
  • Are defaults used, and are they correct?

Correctness and Completeness

  • Is the detailed design a complete and accurate implementation of the high-level design?
  • Are the external specifications of each module complete and testable?
  • Have all numerical techniques been analyzed for accuracy?
  • Has critical timing been analyzed?
  • Has the high-level design memory budget been expanded into further detail and updated?
  • Are the functions clearly specified?
  • Are the functions logically independent?
  • Have maintainability issues been addressed?
  • Does each module have high internal cohesion?
  • Does each module have low external coupling?
  • Is the detailed design verifiable?
  • Is the logic correct, clear, and complete?
  • Have all operator dialogues been completely specified?
  • Can the termination conditions for loops be realized?
  • Have functional test specifications been prepared for each module?
  • Can all logic be tested?

Standards and Traceability

  • Have all detailed design standards been followed?
  • Does the calling protocol follow project standards?
  • Can all parts of the detailed design be traced back to the high-level design and to requirements?


  • Are error conditions handled in a nondestructive manner?
  • Can corrective action be taken by the module that traps an error?
  • Are unusual conditions handled reasonably and nondestructively?
Copyright © 1999 by Karl E. Wiegers. Permission is granted to use, modify, and distribute this document.