Requests for comments

Guide to creating requests for comments (RFCs) at Q-CTRL

Requests for comments (RFCs) are an internal process used by the Engineering team at Q-CTRL. They provide the opportunity for the entire team to contribute, and formalize how decisions are made, and help everyone become better at making proposals and work to get them adopted.

Process for creating RFCs

  1. The author raises a ticket on the RFC Jira board and assigns themselves.
  2. The author creates a document from the RFC template (which is also available as a native document within the Google Docs Template Browser). The name should follow the convention RFC-<ticket-number> <status>:<title>.
  3. The author moves the RFC ticket to the “In Progress” column.
  4. When the RFC document is ready, the author moves it to the “Review” column and requests a review in the #engineering channel or during CoP.
  5. The reviewers can leave comments until the end of the deadline defined by the author.
  6. By the end of the deadline reviewers and approvers have the responsibility to either approve or reject a proposal. If the RFC needs more work, the deadline can be extended.
  7. The RFC ticket is moved to the “Approved” or “Rejected” column.
  8. When the RFC ticket is approved, a ticket needs to be created for the implementation of the proposal on the relevant Jira board (for example, Platform, Black), and linked to the RFC ticket.
  9. When the RFC is implemented, the RFC ticket is moved to the “Implemented” column. If it’s an architectural decision, add the decision to the Architecture repository.
  10. If the author has stopped work on the RFC, it is moved to the “Abandoned” column.
  11. If the RFC is neither “Approved”, “Rejected”, or “Abandoned”, or has just been created for discussion, it can be moved to the “Closed” column.
  12. If the author wants to revive an RFC that has been previously “Approved”, “Rejected”, “Abandoned” or “Closed”, the author must create a new RFC that links to the old one.