- What problem is being solved
- What requirements does it tie to?
- Describe the design
- Artifacts that document the design
- Specific challenges faced – and how they are addressed
- Assumptions
- Design pattern(s) used
- Approaches considered / rejected. Why?
- Evidence that this design works: e.g. prototype; tests
- Walk through prototype – if one exists
- Known / potential limitations
- Confirm that all requirements are met – or identify those missing (if we’re reviewing work in progress)
- Any new technology involved?
- Why?
- How well has it been tested?
- Other candidates reviewed / rejected. Why?
- New hardware / software that needs to be purchased / licensed for Dev or QA
- New open-source packages added to product?
- Impact on testing / QA
- Tests that are now obsolete
- New test fixtures that need to be built – or migrated from Dev to QA
- Impact on product. For the following identify, anything new and/or anything modified
- Code version / Build / Unit tests
- APIs? Interfaces?
- Classes / packages
- DB schema
- Error handling
- Logging
- Security
- Installation
- Provisioning / Configuration
- Monitoring / Management console
- Online help / tips / messages
- Internationalization
- Product documentation / manuals
- Troubleshooting guides / info for tech support
- Marketing documentation
- Next steps
- Can the design be simplified?
- Location of all design documentation / code / other artifacts / info on external stuff added to product
- Complete test scenarios
- Next steps in implementation
- Next steps in testing
- When will we be sure it works?
- Who can help?
Design Review Checklist
Design Review Checklist: useful during the design, as well as during the review session