Empowering teams means giving everyone a chance to contribute to collective decisions. One of the practical solutions here is the RFC (Request For Comment) document.
RFC helps with collaborative and asynchronous decision-making. This document is usually kicked off by engineers or engineering leaders who want to introduce a change in design, architecture, or processes with a unified direction.
Here's how to kick-start your work with RFCs.
How to start the RFC document
Here’s the strategy to set up the RFC process:
- Aligned Formatting: Use a standardized RFC template across the organization to maintain consistency and clarity.
- Use this template if you are looking for inspiration.
- Version Control: Implement a version control system that showcases only the latest decision state in the current version of an RFC while maintaining a history for audit and learning purposes. Workspaces like Confluence or online editors like Google Docs are also fine, as they maintain the history of changes for documents.
- Time-bound Discussions: Allocate a defined timeframe for discussions and feedback to prevent indefinite deliberations and to promote timely decision-making.
Sending your first RFC
Here's an example process you can use when creating your first RFC
- Copy this template and write the first version of your RFC (put it in your git repository, as a Confluence page, Google doc, or any tool you use to organize the company's knowledge)
- Mark the draft as [WIP] / (work in progress) and review it with trusted colleagues. You can also put the content of the document into tools like Grammarly or ChatGPT to fix all grammar issues and make it easily readable.
- Assign critical reviewers to the document.
- Spark the discussion (dedicated chat or meeting) and capture comments/feedback/change requests.
- Once the final decision is made, share the final version of RFC with everyone affected by the decision.
It is important to approach RFC in a lightweight way to avoid overgrown and indecipherable documents. Make the document outcome-focused by narrowing the scope and leading conversations pointedly towards resolution and actionable items.
Toughtworks, in its latest Technology Radar, recommends adopting a Lightweight approach to RFCs.
Benefits of Well-Executed RFCs
- Facilitated Collaboration: Acts as a catalyst for cross-team communication and collaborative decision-making, ensuring aligned actions and objectives.
- Accountable Decision-making: Enables tracking of decision evolution, ensuring every step is logical, considered, and accountable.
- Knowledge Preservation: Serves as a repository of decisions and discussions, safeguarding the rationale for future reference and for onboarding new team members.
- Transparent Communication: Encourages open discussions and input from all stakeholders, fostering a culture of inclusivity.
More about RFCs
If you want to know more about RFC, here are some great materials to dive deep:
- A thorough team guide to RFCs on LeadDev
- Design Docs at Google
- Companies Using RFCs or Design Docs and Examples of These - massive review of RFCs by Gergely Orosz
RFC is a great framework for decision-making and collaboration. But the real power is unleashed only when a document is created with a focus on simplicity, clarity, and tangible outcomes.
RFC looks like a natural solution for remote-first or hybrid teams, and indeed, it can be critical for collective and asynchronous decision-making. But even in big in-office organizations, very often, know-how is spread across different groups, sometimes even different locations. Many solutions and decisions affect multiple teams. Keeping everyone in sync verbally becomes a challenging task. Having clear RFC documents available to all can help with adopting changes effectively across the organization.