Table of Contents

  1. Course Overview
  2. Design Doc Components
    1. Title
    2. Summary
    3. Proposal(s)
    4. Deployment Process
    5. Open Questions
    6. Additional Notes
  3. Conclusion

Course Overview

This is going to teach you how to write masterful design docs and help improve your abilities to break down larger problems. Throughout this course, we will be breaking down a real example of a feature (Issue#2698) from the CASA opensource repository. This design doc was initially created by Gustavo and I.


If you see something that is highlighted orange like this, that means it is part of the “real” design doc that we made.

Design Doc Components

This is going to break down all the different components of a design doc.


The title should include the issue number and like 3-7 words explaining it. Here is an example:

[#2698] - Persisted Columns Datatables (Volunteers)


The summary should be concise and to the point for what you are doing. If there is a ticket, story, or anything related to keep track it should be linked here so that others can get additional context if needed. You will also want to include a high level overview of the problem/feature you are working on.



The volunteers table has an option to select which columns to display or hide. However, this will not be persisted because the data is not backed up. The issue requires this data/table_state to be persisted.