The main goal of a design documentation is to make you more effective by forcing you to think through the design and gather feedback from others. People often think the point of a design documentation is to to teach others about some system or serve as documentation later on. While those can be beneficial side effects, they are not the goal in and of themselves.
A functional design document (FDD) outlines how a system will work, while an application design document, such as a technical design document (TDD), describes how to build it. Both documents are important for system development and should be consistent and updated as the project progresses.
Functional design document (FDD)
- What it describes: How a system will work, including its requirements, specifications, and plans
- Who it's for: Business stakeholders, developers, and testers
- What it includes: Use cases, system inputs and outputs, process flows, diagrams, and mockups
- Why it's important: Saves time, resources, and money by ensuring everyone involved is clear on what needs to be done
Application design document (TDD)
- What it describes: How to build a system, including its architecture, data model, and system interfaces
- Who it's for: Developers, engineers, and testers
- Why it's important: Ensures the solution meets the functional requirements and is built correctly