The design document is a key piece of a project and used throughout the lifecycle of the product. The following is a sample template for a software design document:
- Introduction – A paragraph about project/product
- Objective – A paragraph on the problem being solved
- Requirements – Specifications, expectations
- High-Level Design – How the new product/feature fits/interacts with existing systems
- Low-Level Design – Discusses proposed components and their interactions
- Implementation Plan – Discusses incremental, phased or any strategy followed for development
- Deployment Plan – How the new product/feature deployed, rolled out
- Contradictions – Known behavior, exceptions and special situations. Also limitations and boundary conditions
More ideas to enhance the template are welcome.