Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>First, see if your boss or team has some example design documents from previous projects. If so see how they were put together. Different organizations will emphasize different things, so it is important to understand what your reviewers will be looking for,</p> <p>Generally, you want a design document to show that you understand the requirements, that your design, once implemented, will meet the requirements, and that you've thought trough how your component interacts with other parts of the system. A design document serves a role in the coordination of the project, but also as a quality mechanism, i.e., it is an opportunity to identify or prevent design defects before coding has begun.</p> <p>So things I like to have in a design document include:</p> <ol> <li>What are the inputs and outputs? What is the "contract" that your component is going to satisfy? What does it look like to the rest of the system?</li> <li>How does your component do what it does? What are your major constraints? What else do you depend on? What are your assumptions?</li> <li>What design alternatives were considered and why were they rejected? </li> <li>What are the risks/limitations of your approach?</li> <li>What is the test plan? How will you unit test your component and how will you know it is ready to be integrated?</li> <li>How do you meet other expectations, such as performance, fault tolerance, accessibility, internationalization, security, etc. </li> </ol> <p>Generally you want to give enough detail to convince your reviewers that you've identified and resolved all critical design issues. In other words, the implementation work that remains will be free of surprises, at least to the extent that is ever possible. Ask yourself: If I had to hand off this design document to a more junior programmer could he/she implement this successfully?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload