Design Document

Much of a successful software project revolves around documentation. It allows your team to onboard new members quickly, helps all stakeholders agree on how things should work, and keeps your team on track.

1. Executive Summary

State the purpose of your project.

Background and Problem Statement

2. Proposal

Define the goals for your project. One of the most difficult things when tackling large projects is breaking them down into smaller pieces that can be reasoned about easily.

Goals

Provide a list of high level goals. For each goal, describe the component(s) that need to be researched and built.

In the breakdown of each component, please discuss any alternatives that were considered and list their pros/cons. This shows that you’ve done your research into the best solution.

Requirements

If there are any constraints you are working under, outline them in this section.

Non-Requirements

There may be some functionality that you choose NOT to implement despite it being within scope of the project. Describe any functionality your team decides against implementing.

Stakeholders

Who are your clients? Who are your customers? Who will do the work if your design and project are approved? Remember that your project should be firmly rooted in serving those stakeholders.

3. User Stories

Describe the core User Stories. User stories can be a way to express requirements.

4. Architecture

Include a diagram of your proposed project solution. Make sure you describe each element or component of the diagram in text in this section, as well as how you expect the components to interact.

5. Design Details

Use this section to provide details on both the technical/functional requirements of your proposed design, and the additional, non-functional requirements.

6. References

A list of references to related work.

7. Changelog

Every time you change this document, log it here and explain what was changed. This will help track the evolution of your project.

8. Meeting Log

EVERY team meeting should be logged here. Include the duration, team members who were present, and the purpose of the meeting.