The Point of an RFC
An RFC is a decision document. If it does not force a yes, no, or "not now," it is a blog post in the wrong folder.
The Template
Use these headings, in this order:
- Summary — five sentences, including the ask
- Background — only the facts a new reader needs
- Proposal — the design, with interfaces and data changes
- Rejected alternatives — at least two, with why they lost
- Rollout and rollback — how we ship, how we undo
- Open questions — numbered, assigned if possible
If a section is empty, the RFC is not ready for review.
How to Run the Review
Give people a deadline. Collect comments in one thread. Resolve comments in the document, not in chat folklore. The author owns the merge of feedback. Consensus is not unanimity.
After It Ships
Link the RFC from the code and from the changelog. An RFC nobody can find later did not happen.
Write the RFC you would want to read at 11pm during an incident. Short. Specific. Decisive. Keep the steps above as your checklist until the decision is recorded where the team will actually look next quarter, and treat missing sections as a hard stop rather than a soft preference you can fix after feedback arrives from reviewers who never had enough context.