About Design Docs

Native Client design docs should go here: http://sites.google.com/a/chromium.org/dev/nativeclient

It is easy to find generic design documents if you are a googler, but unfortunately, it is not easy to find them published outside Google.

The design doc should make it clear:
  • what is the problem that needs to be solved
  • what is known about the proposed solution (i.e. non-questions)
  • what are the key design questions that need to be addressed, and the options to consider for each question.
    • example: should we use a different proxy for Windows than for other platforms
    • this is the critical part of the document. The design doc is about facilitating decisions/choices
  • demonstrate that basic product considerations (internationalization, security, data collection) have been considered.
  • status of design/prototype
  • recommendation (optional)
When writing this it's important to remember it is not just for you to understand, or for the NaCl team to understand; it should be possible for a new team member to look at the doc a year from now and understand most of what was in play.

Your design doc is more than just a way for you to remember stuff, its main role is to allow you to get feedback and establish agreement about your design. Once your design doc is ready, it is critical that you get feedback from key stakeholders, who you should ask specifically for a review. Once stakeholder feedback has been received and incorporated then you should make your doc available to the team for review.
Comments