RFC: Implement Champion-led, RFC-driven decision-making process

Hi yall! :wave: Welcome to our guild’s first RFC (Request For Comments) document!

In this RFC, I propose that we define a lightweight Champion-led, RFC-driven process to serve as the basis for high-level planning within our guild.

The proposed process attempts to help solve the following problems:

  • Lack of direction and action
  • Unclear path for bringing ideas to life
  • Decision-making process is too centralized

In other words, the proposed process helps us go from this…

…to this:

To explain the proposed process, I’ll answer the following questions:

  • What is an RFC?
  • Why are RFCs useful?
  • What is a Champion?
  • Why are Champions useful?
  • What is a Champion-led, RFC-driven process?
  • Why is this process important for the guild?
  • How do we start this process?
  • When should we use this process?

Before we dive into the proposal’s details, I want to emphasize that I view this process as a living experiment.

If we find that this process is confusing or isn’t working well, we can change it.

If we find that changing the process doesn’t help, we can come up with a new process.

If the DAO creates a process the achieves similar outcomes but in a way that works for all of the guilds, we can migrate to that process.

And so on.

This proposal is intended to be a way for us to start moving forward, not to solve all of our process needs past, present, and future.


What is an RFC?

An RFC is a document that proposes an idea.

An RFC serves as high-level documentation of the idea and the thinking behind it:

  • what the idea is
  • why the Champions think the idea is important
  • how the Champions believe the idea should be executed

As an example, the RFC you’re currently reading documents these things in various pieces:

  • what RFCs, Champions, and an RFC-driven process are
  • why RFCs, Champions, and an RFC-driven process are important to us
  • how we can implement the proposed process

Why are RFCs useful?

  • Prototyping an idea with words: rather than immediately diving into an idea, RFCs force Champions to first explore the idea, document it, and create a proposal for bringing it to life
  • Mechanism for sharing context: RFCs provide the community with the information it needs to understand the proposal and provide feedback about it
  • Feedback strengthens proposals: by opening an RFC to the public, the community is given the opportunity to help refine the RFC and shape its eventual outcome
  • Serves as a historical record: capturing proposed ideas and community conversation around those ideas in a single format and location allows us to fully understand past decisions in the future
  • Empowers members to take ownership in the decision-making process: members have a clear path for proposing their own ideas or for engaging with the proposals of others

What is a Champion?

A Champion is any guild member that takes ownership of an idea and follows the proposed process to make the idea a reality.

Champions are responsible for:

  • Creating an RFC which defines the idea
    • What?
    • Why?
    • How?
  • Managing community feedback to the RFC
    • Responding to comments
    • Working through problems, conflicts, etc.
    • (optional) Adapting the RFC to account for feedback
  • Leading execution
    • Defining the work
    • Delegating responsibilities to other members
    • Ensuring the efforts align with RFC vision
    • Keeping the community informed of progress

Why are Champions useful?

  • Empowers users to take action: by defining this role (and the process it’s a part of), members are given a pathway to move forward with their ideas
  • Provides ownership to members: giving Champions the autonomy to define their ideas and execute on them places members directly in charge of future direction
  • Creates clear stakeholders: since Champions own the idea, they act as the ultimate arbiter for questions around decision-making, organization, whether contributor efforts align with RFC vision, etc.

What is a Champion-led, RFC-driven process?

At a high level, the proposed Champion-led, RFC-driven process follows four main steps:

Idea → RFC → Discussion → Execution

  1. Champions start with an abstract idea and define it as a concrete RFC proposal
  2. The RFC provides the community with enough information to understand the proposed direction
  3. The community is invited to provide feedback on the RFC, and the champions may adjust the RFC based on this feedback
  4. Champions lead execution of the proposal and update the community on progress

Why is this process important for the guild?

  • Biased in favor of action: the process is about proposing a direction, refining that direction through community feedback, and then executing on it—it is not a request for permission to execute
  • Autonomy: RFCs enable bottoms-up planning and decision-making
  • Better decision-making: the Discussion step enables the community to provide guidance and perspective to the Champions in order to refine their idea and direction

How do we start this process?

  • Keep it lightweight to start: only two requirements
    • post RFCs on our Discourse forum
    • make sure your RFC provides detailed answers to the questions “What?”, “Why?”, and “How?’”
  • Learn as we go
    • by starting with a lightweight process, we give ourselves room to grow in different directions as needs and/or problems arise
    • we can collect feedback from Champions, contributors, and the community regarding our process in order to identify needs, pain points, etc.
    • after we experience a few RFCs, we should consider creating a template to help guide Champions in creating an RFC
  • Become a Champion
    • the foundation of this process is members becoming Champions for their ideas
    • share your ideas and seek out other Champions to work on each idea with
    • when ready to execute, seek out other members of the community that would like to help or want to learn skills that execution might teach
    • if you’re not confident with your RFC or you’re not sure how to get started in writing one, reach out to the community and ask for help!
  • Become involved in RFC discussions
    • RFCs are an opportunity for members to provide perspective, previous experience, recommendations, etc.
    • Even if you don’t have anything to add about the idea, asking clarifying questions about the RFC can help refine it and provide clarity to other members
  • Become a contributor
    • The “Execution” phase will likely require the effort of more people than just the Champions
    • If an RFC sounds interesting to you or like a potential way to grow as an individual, offer to help in the RFC discussion or reach out to one of the Champions

When should we use this process?

We don’t need to use a Champion-led, RFC-driven process for every decision we need to make, but there are also many decisions where this process would greatly improve clarity and direction. The boundaries are abstract and would probably take more words than this entire RFC to think through, so let’s start with something simple:

We should use this process if:

  • we’re proposing a new idea that affects the guild as a whole (new project, new team, new recurring event, etc.)
  • we’re proposing a change to an existing idea that might affect the guild as a whole (pivoting a project in a new direction, changing the purpose of a team, etc.)

We probably shouldn’t use this process if:

  • we’re proposing something specific to a single area of the guild (new feature or architectural decision for a project, creating a new documentation page for a team, etc.)
36 Likes

imho these ideas are excellent and I think it could / should be expanded outside the Developer Guild to provide guidelines for the entire community. There is a clear need for ownership of ideas and projects to ensure they can maintain forward momentum, decisions can be made and community kept up to date. The idea of champions sounds like a great way to achieve this.

If we could expand this to include guidelines on better cross-guild collaboration earlier on in the process, document this in the Wiki as a community wide practices and stick too it collectively, I think we could go a long way to improving our ways fo working as a whole.

Some ideas on the cross-guild collaboration aspect (think it’s important we start figuring this out sooner rather than later)

  • Once new ideas are forming, champion (from whatever guild) opens up a thread in new-project-pitches where the idea can be fleshed out a bit more.
  • Whomever is championing the idea reaches out to other guilds they think should be included in a project-request channel (or similar) that all guilds have as a standard, to request some involvement/input into the project. Having this conversations in a community wide public space could really help for inclusion in this regard.
  • Team works together (ideally with representation from each guild with any involvement) on creating a a more detailed breakdown of the project ala this RFC process into the general thread on discourse.

Massive props to @with-heart on putting this together.

Interested to hear everyone thoughts on this proposal and the suggestion for it becoming a community wide approach with some added guild collaboration sugar sprinkled on top.

14 Likes

Love this! I’d like to be an early user for the web3 TrueID project I’m working on with Dave_G and rahat!

3 Likes

H! :wave: Welcome aboard the forums!

I have no idea what that even is so that’s like the perfect use case!

1 Like

We’re still defining the exact outline of it ourselves. But it’s going to be big!

1 Like

Such a clear and well written explanation. Thank you for putting this in motion. As someone new to dev world, seeing an RFC I can review to ask questions and decide which projects I might like to get involved with will be super helpful.

2 Likes

Thanks a lot for putting this together @with-heart !

As a high-level comment, before we start using it I believe it’d be great we can get some inputs from other guild leaders as well and see if we can align on this RFC-based process across all the guilds than just the developer guild. A few benefits that I see of doing that

  • I see a few people (& expect more) who are part of multiple guilds, it’d help them have a single process in mind when proposing ideas
  • In the longer-run I expect we’ll have a problem of duplicate/redundant ideas being discussed/worked in isolated groups of different guilds. Following a common process like this will help build some sort of an index for us. One thing worth proposing here is that the RFC should have a dedicated section for the efforts needed from other guilds along with some references to who the respective champions are.

I like the ideas that @kempsterrrr added on cross-guild collaborations

Would it help to lay down some guidelines on how a champion should go about seeking out members to get help from?

2 Likes

Thanks for putting this together @with-heart, great proposal!

Will there be a central location/document where all of these RFCs/projects can be found? Maybe a forum or a spreadsheet?

I’m thinking that a high-level overview of all open RFCs/projects and what stage they are at might be beneficial and might catch more eyes, on top of having them in the relevant threads.

Especially in the execution phase, you may have completely missed the RFC but stumble upon it later and decide to contribute.

Not sure if there’s already a document with all open projects, and I know there’s the DAO Projects channels but having a curated list of ongoing projects requesting specific help would make it easier.

On a slightly different note, I see a lot of developers on here linking repos they’ve set up to make starting projects easier. It would be great to see a curated list of them as well, instead of trying to remember the channel they were posted in.

1 Like

I mentioned this in the Discord, but I fully support this. I think the next actionable step would be to come up with an RFC template (enhance adoption by reducing friction) and post it to our Notion wiki. Maybe we should have a window for template proposals?

For those who aren’t familiar, this is an excellent RFC primer.

2 Likes

The DAO wiki (#dao-wiki in the Community Guild) is probably where it will live.

3 Likes

I think this is a great foundation for the dev-guild and others to start to use to provide just a starting place for people to get their ideas across. I agree with @achilles that we need a skeleton/template so that people can follow a standard. The one thing that concerns me is how to make sure the RFC’s are visible to the larger community. I fear not many people are checking Discourse as we hoped and instead turning to discord as their goto for info. Maybe an idea is to have a RFC channel in each guild that people can post a their discourse link to. This way we make sure the data is as fully available as possible.

Also, I think we should come up with a system to decide which RFC’s move forward and which don’t. Like a snapshot voting system or emoji vote perhaps. I think it’s necessary for house keeping purposes so we don’t have a million things lying around and only have projects visible in Discord that are actively being worked on. I think it’ll help with the issues we’re having with information overload in Discord

2 Likes

Great idea @with-heart. Champions would the most passionate about the project and will take all initiatives beyond being directed to propel the Idea/projects forward.

Some stuffs that I think can be discussed (apologies if already have somewhere)

  1. Champions decision making support process when it comes to Funds by the DAO (probably can be in the RFC I suppose)

  2. What can’t a Champion do laid out clearly that requires extra people or votes to be involved?

  3. Be good to have a “sample” RFC skeleton to follow. Specify which section is mandatory and which are optional. The word RFC sometimes might dishearten the weak Champion’s soul if he is not good in writing! Perhaps he can enlist someone from writer’s to help

  4. For 3 above consider use of video as alternative RFC delivery method. It can always be RFCtetized later.

Just my two cents worth!

2 Likes

shall we prototype this process with some community guild events that are proposed?
@with-heart this will be a good chance to try it out in practice and have the entire DAO take part

3 Likes

@with-heart Love this proposal! I’ve worked in a number of orgs that do something similar and agree it’s a good way to work.

Keep it lightweight to start

100% this :point_up: We want to gain the benefits from the RFC process without making it onerous.

Prototyping an idea with words

Very much a fan of “measuring twice, cutting once” :+1: This is a great mechanism for making sure we’re not sinking time/resources into things that won’t have the value/outcome we anticipate.

Feedback strengthens proposals

I firmly believe in this as well. Allowing other folks with different skillsets/POVs to poke holes in the ship before setting out to sea is always better than finding out the hull is leaking halfway through the journey :laughing:

1 Like

Excellent stuff @with-heart!

@dabit3 did a great job fleshing out 3 “types” of projects that will have some relation ship to the DAO here → Whatever good things we build end up building us

Would it be best to maybe label each RFC as either

  1. DAO Projects
  2. Incubator Projects
  3. Community Projects

Personally I think anything members are trying to build should all be RFC’s but tagged and the champion and community opts for if it fits inside D_D or is more external or only loosely affiliated / funded or even just a hunt for collaborators should be considered a good thing even if ends up not being related to D_D officialy.

The famouse hacker news post with coinbase ceo looking for a cofounder as an example of great outcomes that exist with this open model of RFC. → Apply with me to YC in the next 3 days and change the world | Hacker News

I’m a bit of a capitalist so all my ideas end up being wrapped in a package that looks like a company and I would like that type of thinking to be culturally in sync with D_D even as we aspire to build the public goods of web3.

Thank you for this very well written document! Huge help. 100% Agree!

I think it’s worth noting that putting out an RFC does not limit your ability to do things autonomously.
Yes, you’re putting something in the mix for others to comment on, but particularly if you’re the champion, run with what you’re building. Take the RFC as an exercise in clarifying your thoughts (as you likely are forced to do so in order to put the idea into words) and use the feedback as a way to refine that product based upon feedback from others. Nobody is able to cancel your idea via an RFC but they might help you shape it into something better!
As @carllippert mentioned, things have coalesced around RFCs in the past that ended up fairly significant.

4 Likes

Could we consider a standard naming convention for RFCs that make them uniquely identifiable? I think over time the number of RFCs will be many and a more efficient way to reference them would help. As I look at what we currently have, it would be nice to have a numbering standard to help when other documentation is referencing a specific RFC.

Some examples (using existing RFCs) could be:

RFC 001: Shopify + MetaMask App Idea

RFC 2021-11-20-001: Pairbot

I like the idea of integrating a date to the name because it would also give some additional context at a glance.

4 Likes

A post was split to a new topic: RFC: Devie the Enforcer

A little late on replying to things here! Better late than never! :upside_down_face:

We’re currently using an RFCs sub-category within the Development Guild category. I think RFCs deserve a better home and process but also want to iterate our way forward based on actual needs so I think this is working okay for the time being.

We currently have a Projects database in our Notion. I think it might be worth adding an RFC field to that database so projects can be linked to their source RFC (if applicable).

Agreed. We created an rfcs-announce channel but it’s not being used much. I’m working on a How to propose an idea guide for Champions in Notion, and I’m hoping that documenting that channel (or whatever solutions we come up with for broadcasting) and pushing that guide as the basis for Champions to follow will help resolve this.

I think so. This also makes me think we have a need for two separate processes here.

I view RFCs solely as a way for Champions to move forward with ideas without any consideration for funding, DAO involvement, etc. That doesn’t mean we couldn’t eventually discuss funding or DAO involvement of course, but I think it’s really important to have a mechanism for people to start building without having to worry about these kinds of concerns up front.

If Champions are intentionally looking to start something with the express purpose of receiving funding or directly involving the DAO officially, I think that should be a similar but distinct process.

1 Like