
A set of twelve review checklists is also given as templates
for use in the software life cycle review process.
REVIEW CHECKLISTS
The following list is a suggested checklists for reviews that could be
use in the life cycle development process:
- Requirements Review Checklist
- High-Level Design Review Checklist
- Domain Analysis Review Checklist
- Interface Design Review Checklist
- Detailed Design Review Checklist
- Code Walkthrough Review Checklist
- Test Plan Review Checklist
- Test Procedure Design Review Checklist
- Test Procedure Review Checklist
- Information Plan Review Checklist
- Document Outline Review Checklist
- Draft Document Review Checklist
In the body of some of the review checklists are abbreviations
for the suggested roles that could be assigned to particular staff members
in order to contribute to the review. The abbreviations are:
- TW Technical Writer
- JSE Junior Software Engineer
- SE Software Engineer
- SSE Senior Software Engineer
- TE Test Engineer
- JTE Junior Test Engineer
- STE Senior Test Engineer
- QA Quality Assurance Representative
- QTE Quality Test Engineer
Requirements Review Checklist
Date:____________________
Project Id:________________
Document Id(s):____________
(Yes)(No) |
1. Has a complete product been specified (TW)?
|
(Yes)(No) |
2. Are all of the specified requirements within the scope
of the current statement of work (JSE)?
|
(Yes)(No) |
3. Are all requirements traceable to system concept statements
(JSE)?
|
(Yes)(No) |
4. Are goals/objectives for the software consistent with
goals for the system (SE)?
|
(Yes)(No) |
5. Does the document contain enough information to stand
alone (TW)?
|
(Yes)(No) |
6. Has each major function been adequately described (SSE)?
|
(Yes)(No) |
7. Have all major system interfaces been described (SSE)?
|
(Yes)(No) |
8. Are all of the requirements specified clear and unambiguous
(SE)?
|
(Yes)(No) |
9. Are all diagrams clear and able to stand alone without
supplementary text (TW)?
|
(Yes)(No) |
10. Does the specification address (SE, SSE)?
|
(Yes)(No) |
a. Hardware and software constraints?
|
(Yes)(No) |
b. System performance?
|
(Yes)(No) |
c. Storage and memory constraints?
|
(Yes)(No)
|
d. I/O channel usage constraints?
|
(Yes)(No) |
e. System states or modes of operation
supported?
|
(Yes)(No) |
f. System failure/recovery?
|
(Yes)(No) |
f. System failure/recovery?
|
(Yes)(No) |
f. System failure/recovery?
|
(Yes)(No) |
g. System expansion?
|
(Yes)(No) |
h. Business area data model?
|
(Yes)(No) |
i. Appropriate Enterprise Model, if needed?
|
(Yes)(No) |
i. Appropriate Enterprise Model, if needed?
|
(Yes)(No) |
j. Appropriate Process Model (is use of
IDEF required?)
|
(Yes)(No) |
k. Initial Data Dictionary, using approved
standard data elements, if required?
|
(Yes)(No) |
11. Does the specification clearly describe the problem the
system is to solve (SE)?
|
(Yes)(No) |
12. Do requirements answer the question "what" and not "how"
(SE)?
|
(Yes)(No) |
13. Has the risk associated with development been identified
(SSE)?
|
(Yes)(No) |
14. Have alternative software requirements been considered
(SE)?
|
(Yes)(No) |
15. Do specified requirements affect project plans/estimates
(SSE)?
|
(Yes)(No) |
16. Have system acceptance criteria been defined (TE)?
|
(Yes)(No) |
16. Have system acceptance criteria been defined (TE)?
|
(Yes)(No) |
17. Have all assumptions and dependencies been considered(SE)?
|
|
High-Level Design Review Checklist
Date:____________________Project Id:________________Document Id(s):____________
(Yes)(No) |
1. Does the design trace to the requirements specification
(JSE)?
|
(Yes)(No) |
2. Have any unnecessary requirements been added (SE)?
|
(Yes)(No) |
3. Does the design satisfy all software requirements (SSE)?
|
(Yes)(No) |
4. Is the design fully implementable (SE)?
|
(Yes)(No) |
5. Is the design modular (SSE)?
|
(Yes)(No) |
6. Has reuse of appropriate existing materials been considered
(SSE)?
|
(Yes)(No) |
7. Has system maintainability been considered (SE)?
|
(Yes)(No) |
8. Has performance been estimated and found acceptable (SE)?
|
(Yes)(No) |
9. Has memory utilization been estimated and found acceptable
(SE)?
|
(Yes)(No) |
10. Have all external interfaces been defined (SE)?
|
(Yes)(No) |
11. Are the system components functionally independent (SSE)?
|
(Yes)(No) |
12. Is the overall design factored (i.e., top level modules
decide program flow and bottom-level modules perform I/O and
computational work) (SE)?
|
(Yes)(No) |
13. Is the data structure consistent with the information
domain (SSE)?
|
(Yes)(No) |
14. Have all new techniques been successfully prototyped
(SSE)?
|
(Yes)(No) |
15. Has system usability been considered (SE)?
|
(Yes)(No) |
16. If incremental development is planned, is the "build"
plan reasonable, workable (SE)?
|
(Yes)(No) |
17. Do data structures support the logical data architecture
access and distribution requirements?
|
(Yes)(No) |
18. Do system components support the logical process architecture
user access needs?
|
(Yes)(No) |
19. Does the implementation architecture support the organizational,
geographic, processing, data access, communication and support
requirements of the proposed design?
|
|
Domain Analysis Review Checklist
Date:____________________
Project Id:________________
Document Id(s):____________
(Yes)(No) |
1. Have all categories of potentially reusable materials
been identified?
|
(Yes)(No) |
2. Have criteria been established for the selection of
candidate reusable materials?
|
(Yes)(No) |
3. Have all reasonable sources of reusable components been
explored?
|
(Yes)(No) |
4. Do candidate software materials adhere to required standards?
|
(Yes)(No) |
5. Has the degree of support available for candidate materials
been determined?
|
(Yes)(No) |
6. Have licensing or other legal requirements been identified?
|
(Yes)(No) |
7. Has the maturity of all candidate reusable non-COTS
software components been verified?
|
(Yes)(No) |
8. Is each candidate software component well documented?
|
(Yes)(No) |
9. Are candidate reusable software components structured
to be maintainable?
|
(Yes)(No) |
10. Is the implementation of the candidate software components
efficient?
|
(Yes)(No) |
11. Do the candidate reusable software components perform
their advertised functions correctly and completely?
|
(Yes)(No) |
12. Has the amount of adaptation required of each candidate
material been determined?
|
|
Detailed Design Review Checklist
Date:____________________
Project Id:________________
Module Id(s)______________
(Yes)(No) |
1. Does the detailed design trace to the interface and high-level
designs (JSE)?
|
(Yes)(No) |
2. Are the interfaces consistent with the interface design
(SE)?
|
(Yes)(No) |
3. Does the design satisfy all allocated software requirements
(SE)?
|
(Yes)(No) |
4. Is the design fully implementable (SSE)?
|
(Yes)(No) |
5. Is the design amenable to the implementation language
(SSE)?
|
(Yes)(No) |
6. Has information-hiding been fully utilized (SSE)?
|
(Yes)(No) |
7. Are structured programming constructs used throughout
(SE)?
|
(Yes)(No) |
8. Is the logical complexity reasonable (JSE)?
|
(Yes)(No) |
9. Have language/operating-system dependencies been minimized
(SE)?
|
(Yes)(No) |
10. Is compound logic minimized JSE)?
|
(Yes)(No) |
11. Has inverse logic been eliminated, or at least minimized
(JSE)?
|
(Yes)(No) |
12. Are algorithms logically correct and produce the desired
effect (SE)?
|
(Yes)(No) |
13. Have all error and boundary conditions been specified
(SE)?
|
(Yes)(No) |
14. Is local data structure properly defined (SE)?
|
(Yes)(No) |
15. Has maintainability been considered (SE)?
|
(Yes)(No) |
16. Has performance been estimated and found acceptable (SSE)?
|
(Yes)(No) |
17. Is the user interface usable, consistent across the system
(SE)?
|
(Yes)(No) |
18. In general, will the system be usable by the target user
audience (SE)?
|
(Yes)(No) |
19. Is the "build" plan doable (SSE)?
|
|
Code Walkthrough Review Checklist
Date:____________________
Project Id:________________
Module Id(s):____________
(Yes)(No) |
1. Does the code adhere to established coding standards and
guidelines (JSE, SE, SSE)?
|
(Yes)(No) |
2. Is the code adequately and accurately commented (JSE)?
|
(Yes)(No) |
3. Is the translation of the design into executable code
complete and correct (SE)?
|
(Yes)(No) |
4. Are all elements of the code traceable to the allocated
requirements (JSE)?
|
(Yes)(No) |
5. Are all error and boundary conditions properly handled
(SE)?
|
(Yes)(No) |
6. Is the associated unit test plan complete, correct and
adequate (JSE, SE)?
|
|
Test Plan Review Checklist
Date:____________________
Project Id:________________
Module Id(s):____________
(Yes)(No) |
1. Does the Test Plan identify the test organization and
appropriate staffing (skills and skill-levels) (TW)?
|
(Yes)(No) |
2. Does the Test Plan define a workable overall formal test
approach (STE)?
|
(Yes)(No) |
3. Does the test plan identify a standard naming convention
for test conditions/variations and test procedures (JTE)?
|
(Yes)(No) |
4. Does the test approach/schedule promote evaluation of
software soon after its availability (STE)?
|
(Yes)(No) |
5. Does the test plan address all relevant types of tests;
e.g functional, regression, stress, performance, acceptance,
etc. (TE, STE)?
|
(Yes)(No) |
6. Does the Test Plan identify all relevant environmental
factors and variants; e.g., hardware constraints, etc. (TE,
STE)?
|
(Yes)(No) |
7. Does the plan correctly interpret requirements (TE, STE)?
|
(Yes)(No) |
8. Do all test conditions/variations trace back to the software
requirements (JTE, STE)?
|
(Yes)(No) |
9. Does the Test Plan identify a reasonable set of test conditions/variations
for each requirement (STE, TE)?
|
(Yes)(No) |
10. Do the test conditions/variations include tests of messages
generated by the software (JTE)?
|
(Yes)(No) |
11. Do the test conditions/variations identified provide
adequate test coverage; error, as well as legitimate conditions
(TE, STE)?
|
(Yes)(No) |
12. Does the Test Plan identify all needed support software
(i.e.,stubs, drivers, simulators, emulators, etc.), test equipment
and responsibility for acquisition/development (TE)?
|
(Yes)(No) |
13. Does the Test Plan describe hardware constraints, requirements
(TE)?
|
(Yes)(No) |
14. Does the Test Plan identify test data requirements and
needed time frames (TE, STE)?
|
(Yes)(No) |
15. Does the Test Plan identify all hard test problems and
approaches to mitigation (TE,STE)?
|
(Yes)(No) |
16. Does the Test Plan identify how tests will be verified
(QA, TE)?
|
(Yes)(No) |
17. Does the allocation of conditions/variations to test
procedures minimize redundancy (JTE)?
|
(Yes)(No) |
18. Is the allocation of test conditions/variations to test
procedures reasonable, logical (TE)?
|
(Yes)(No) |
19. Are all test conditions/variations allocated to at least
one test procedure (ITE)?
|
(Yes)(No) |
20. Does the Test Plan address configuration control of all
test materials (JTE, QA)?
|
|
Test Procedure Design Review Checklist
Date:_______________
Project Id:______________
Test Procedure Design ld(s):__________
(Yes)(No) |
1. Does each test procedure design trace to the test conditions/variations
allocated in the Test Plan (JTE)?
|
(Yes)(No) |
2. Does the test procedure design satisfy all allocated test
conditions/variations (TE, STE)?
|
(Yes)(No) |
3. Is each test procedure design fully implementable (TE,
STE)?
|
(Yes)(No) |
4. Is each test procedure design logically executable (TE,
STE)?
|
(Yes)(No) |
5. Does the test procedure design minimize duplication of
steps/tests (JTE)?
|
(Yes)(No) |
6. Is the test procedure design efficient (TE, STE)?
|
(Yes)(No) |
7. Does the test procedure design minimize dependence on
data/conditions generated in previous test steps (TE, STE)?
|
(Yes)(No) |
8. Does each test procedure design minimize execution time
(TE, STE)?
|
(Yes)(No) |
9. Does the test procedure design minimize the effort required
to restore the test environment if restart is necessary (TE)?
|
(Yes)(No) |
10. Do the tests and method of execution truly test the associated
software requirements and test conditions/variations (TE,
STE)?
|
(Yes)(No) |
11. Is there enough detail to fully implement the test procedure
design (TE)?
|
(Yes)(No) |
12. Has long term procedure maintenance been considered (TE)?
|
(Yes)(No) |
13. Does each series of steps culminate in a pass/fail result
(JTE, TE)?
|
(Yes)(No) |
14. Are verification steps well documented (JTE, TE)?
|
|
Test Procedure Review Checklist
Date:_________
Project Id:_______
Test Procedure ld(s):
(Yes)(No) |
1. Does each test procedure trace to the test conditions/variations
allocated in the Test Plan(JTE)?
|
(Yes)(No) |
2. Does the test procedure correctly implement all allocated
test conditions/variations (TE, STE)?
|
(Yes)(No) |
3. Is the test procedure fully executable (TE, STE)?
|
(Yes)(No) |
4. Are test steps fully documented (QTE)?
|
(Yes)(No) |
5. Are instructions for execution clear and concise (JTE)?
|
(Yes)(No) |
6. Does the test procedure minimize duplication of steps/tests
(JTE, TE)?
|
(Yes)(No) |
7. Does the test procedure minimize dependence on
data/conditions generated in previous test steps (TE, STE)?
|
(Yes)(No) |
8. Does the test procedure minimize execution time (TE, STE)?
|
(Yes)(No) |
9. Does the implementation of test procedure minimize the
effort required to restore the test environment if restart
is necessary (TE)?
|
(Yes)(No) |
10. Does each logical series of steps in the test procedure
culminate in an obvious pass/fail result (JTE)?
|
(Yes)(No) |
11. Are expected results clearly documented and correct (TE,
STE)?
|
|
Information Plan Review Checklist
Date:________________
Project Id:____________
Document ld(s):_______
(Yes)(No) |
1. Does the Information Plan define a workable approach to
document development (TW)?
|
(Yes)(No) |
2. Have all resources required to produce the document(s)
been identified (SSE)?
|
(Yes)(No) |
3. Has the target audience been identified ((SE)?
|
(Yes)(No) |
4. Has the correct target audience been identified (SSE)?
|
(Yes)(No) |
5. Has the educational level of the target audience been
identified (SE)?
|
(Yes)(No) |
6. Does the Information Plan accurately and completely identify
all functions the end users will need to perform (SE)?
|
(Yes)(No) |
7. Does the Information Plan identify all of the scenarios
in which end users will typically find themselves (SE, SSE)?
|
(Yes)(No) |
8. Is the planned organization of the document(s) highly
usable (SSE)?
|
(Yes)(No) |
9. Has a provision been made for independent (end-user, etc.)
draft document reviews for usability (SSE)?
|
(Yes)(No) |
10. Are all typically requested topics included in the planned
index (SE, SSE)?
|
(Yes)(No) |
11. Have all of the needed graphics been identified (TW,
SE)?
|
(Yes)(No) |
12. Will the document(s) include a sufficient number of examples
(TW)?
|
(Yes)(No) |
13. Has a source of each example been identified (TW, SE)?
|
(Yes)(No) |
14. Does the Information Plan describe how examples will
be verified/validated (TE)?
|
(Yes)(No) |
15. Does the Information Plan correctly interpret system
requirements (SE, SSE)?
|
(Yes)(No) |
16. Does the Information Plan address the configuration control
of publications materials (SE)?
|
(Yes)(No) |
17. Does the Information Plan call for the associated document(s)
to be completed in the right time frame (SSE)?
|
(Yes)(No) |
18. Has technical ownership been identified (e.g., appropriate
author/developer) (SSE)?
|
|
Document Outline Review Checklist
Date:________________
Project Id:____________
Document Id(s):_______
(Yes)(No) |
1. Does each outline trace to the requirements allocated
in the associated Information Plan (TW)?
|
(Yes)(No) |
2. Have all of the requirements identified in the associated
Information Plan been addressed in the outline (TW, SE)?
|
(Yes)(No) |
3. Is the outline sufficiently detailed to be implementable
(SE, SSE)?
|
(Yes)(No) |
4. Are topics covered in a logical/reasonable sequence (SE,
TW)?
|
(Yes)(No) |
5. Are specific procedures required identified (SE)?
|
(Yes)(No) |
6. Are the major steps involved in each procedure documented
(SE)?
|
(Yes)(No) |
7. Is each documented procedure correct (SE, SSE)?
|
(Yes)(No) |
8. Are the expected results of each procedure clearly defined
and correct (SE, SSE)?
|
(Yes)(No) |
9. Have any additionally required graphics been identified
(SE)?
|
(Yes)(No) |
10. Has responsibility for producing/obtaining the required
graphics and/or examples been assigned (SSE)?
|
(Yes)(No) |
11. Has responsibility for producing/obtaining the required
examples been assigned (SSE)?
|
(Yes)(No) |
12. Has responsibility for verifying required examples been
assigned (TE)?
|
|
Draft Document Review Checklist
Date:____________________
Project Id:________________
Document Id(s):____________
(Yes)(No) |
1. Does the draft document follow the approved outline (TW)?
|
(Yes)(No) |
2. Are all software requirements (functionality) reflected
in the document (SE)?
|
(Yes)(No) |
3. Has a writing assessment (i.e., FOG index, created by
Robert Gunning, serves as a practical yardstick for determining
the degree of difficulty in any type of writing) been performed
to ensure that the writing level is suitable for the target
audience (TW)?
|
(Yes)(No) |
4. Have all of the embedded examples and graphics been verified
as correct (TE, SE)?
|
(Yes)(No) |
5. Have all of the graphics and examples been appropriately
collocated with the associated text (TW)?
|
(Yes)(No) |
6. Are all of the procedures and examples easy to understand
and follow (TW, SE)?
|
(Yes)(No) |
7. Are expected results of procedures clearly documented
(TW)?
|
(Yes)(No) |
8. Does the organization of the document make it easy to
locate specific information (TW, SE)?
|
(Yes)(No) |
9. Does the table of contents match the document contents
(TW)?
|
(Yes)(No) |
10. Has a usability review been conducted (SE)?
|
|
Note: Please click Quiz on your left navigation and take Quiz
7.
|