Introduction to Request for Comments (RFCs)

The following is an introductory overview of RFCs based on the following 2 articles by Juan Pablo Buriticá:

  1. “A thorough team guide to RFCs”
  2. “6 Lessons I learned while implementing technical RFCs as a decision making tool”

What are RFCs?

Why are RFCs useful?

For teams in CSC301, good project planning from the start can save enormous amount of time and effort in the later development stages. Although formal documents may be unnecessary, RFCs also provide a great guideline for how to communicate design and implementation decisions to partners. More generally, RFCs are used in the tech industry because of the following benefits:

When to RFC?

If it crosses your mind that an RFC might be required to make a change or implement a design, it is probably a good idea to make one.

Additionally, an RFC is generally a good idea when:

How to RFC?

RFCs are a guideline, not a rigid methodology. They are usually tailored to the specific needs of teams and organizations, so multiple variations exist both in the actual document and the surrounding process.

Adopting RFCs in a team

Some considerations when adopting RFCs in a team:

Getting started: RFC templates

This article contains templates from a comprehensive list of companies including Google, Uber, SoundCloud, and more.

Additionally, here is a basic template (credit: “A thorough team guide to RFCs” by Juan Pablo Buriticá) in the following formats:

Below are the main sections in the above template. Although these are topics that an RFC would want to address in general, they can be modified based on the specific points the authors want to cover.

  1. Title
  2. Authors
  3. Executive summary
  4. Motivation
  5. Proposed implementation
  6. Metrics and dashboard
  7. Drawbacks
  8. Alternatives
  9. Potential impacts and dependencies
  10. Unresolved questions
  11. Conclusion

Conclusion