Some important points to consider in the design document (check what is applicable to your scenario).
- Performance (baseline numbers)
- Availability (the SLA's)
- Security (what, how much, including authorization)
- Portability (if applicable)
- Functionality (how does the design address the functional aspects)
- Extensibility (how extensible the design is and why)
- Interoperability (is this required?)
- Usability (UX experience)
- Maintainability (how maintainable is this? does the support team has enough data to troubleshoot and maintain the app)
- Ease of Deployment
- Configuration Management
- Scalability (how much?)
- Performance/Monitoring (logs, health monitoring etc)
- Development Productivity (the turnaround time to develop a feature etc).
These are just some high level bullet points. The specifics may vary based on the nature of the application you are designing but most of the things from this list will be applicable.
Rajesh Pillai, Mar 02, 2011