Front Matter: A. Overview, Problem Description, Summary, or Abstract
Front Matter: A. Overview, Problem Description, Summary, or Abstract
Front matter
Title
Author(s)
Team
Reviewer(s) (if applicable)
Created on
Last updated
Epic, ticket, issue, or task tracker reference link
Repository (Link to your GH repo)
2. Introduction
Summary of the problem (from the perspective of the user/customer), the context,
suggested solution, and the stakeholders.
b. Glossary or Terminology
New terms you come across as you research your design or terms you may suspect your
readers/stakeholders not to know.
c. Context or Background
Note: The bullet points above are suggestions of what can be covered in this section. Not all of
those points are applicable to every project.
f. Future Goals
g. Assumptions
Conditions and resources that need to be present and accessible for the solution to work
as described.
3. Solutions
Note: This refers to current or existing solution in house or provided by external organizations
or open source projects. Also, if you are designing a new feature or a new release for an existing
product, describe the current solution as-is and its pros and cons.
External components that the solution will interact with and that it will alter
Dependencies of the current solution (if applicable)
Pros and cons of the proposed solution
Structure and behavior diagrams to represent the design.
Data Model / Schema Changes (or the new one if it’s a new product)
o Schema definitions
o New data models
o Modified data models (if applicable)
o Data validation methods
Business Logic
o API changes (or the API itself if it’s a new product)
o Pseudocode
o Flowcharts
o Error states
o Failure scenarios
o Conditions that lead to errors and failures
o Limitations
Presentation Layer
o UX changes (if applicable)
o UI changes (if applicable)
o Wireframes with descriptions
o Links to UI/UX prototypes
o Mobile concerns
o Web concerns
o UI states
o Error handling
Other questions to answer
o How will the solution scale?
o What are the limitations of the solution?
o How will it recover in the event of a failure?
o How will it cope with future requirements?
Note: The subitems above are suggestions of what can be covered in each of the major items.
Not all of those subpoints are applicable to every project, but all the major items are
expected to be covered in this document.
c. Test Plan
Explanations of how the tests will make sure requirements are met and whether there is a
minimum bar for a standard test coverage.
Unit tests
Integrations tests
Other types of tests (e.g., End-to-end tests or Acceptance tests, Exploratory tests,
Penetration tests, etc.)
Note: This section refers to alternate solutions to be implemented by the team and not
alternate solutions already provided either in-house, in the market, or opensource.
4. Further Considerations
Some questions to be considered but not necessarily as a comprehensive list. Some questions
make more sense than others depending on the nature of your project.
a. Security considerations
b. Privacy considerations
Does the solution follow local laws and legal policies on data privacy?
How does the solution protect users’ data privacy?
What are some of the tradeoffs between personalization and privacy in the solution?
c. Regional considerations
d. Accessibility considerations
e. Operational considerations
f. Risks
What risks are being undertaken with this solution?
Are there risks that once taken can’t be walked back?
What is the cost-benefit analysis of taking these risks?
5. Deliberation
a. Discussion
Elements of the solution that members of the team do not agree on and need to be
debated further to reach a consensus.
b. Open Questions
Questions about things you do not know the answers to or are unsure that you pose to the
team and stakeholders for their input. These may include aspects of the problem you
don’t know how to resolve yet.
Links to documents and resources that you used when coming up with your design and
wish to credit.
Credit people who have contributed to the design that you wish to recognize.
Questions? Reach out to the instructor on Slack, by email, or during office hours.