The following is the domain checklist:
- Have you defined how flexibility requirements influenced the specified functionality and how it is distributed between the subsystems?
- Does the functional specification explicitly describe how future changes to the system should be implemented to preserve flexibility?
- Does the system use data coded for data entry, error handling, or information messages?
- How does the system personalise the user experience?
- Does the system provide any disability access support?
- How straightforward is customization and configuration?
- Is the architecture designed to accommodate future changes?
- Does the architecture avoid unnecessary redundancy? Have the following been considered as part of the approach?
- Rationalization
- Consolidations
- Is the architecture independent of the technology stack that will be used to implement it?
- Are architecture decisions and assumptions documented explicitly and motivated?
- Are there any missing or incomplete capabilities and/or components?
- Have known design risks been identified, analysed, and planned for or mitigated?
- Are components well-defined, including their functionality and their interfaces to other components?