Developer DAO is entering an exciting year, one in which it intends to build and ship amazing products. The DAO itself has already achieved great things and has demonstrated that decentralization works best with clearly defined goals and autonomy for small teams and the people that contribute to these outcomes. I refer to accomplishments of our Guild system, RFC system, and Core Team / Moderators as examples.
What I am proposing below is the formation of a new guild within Developer DAO:
What I am not proposing has anything to do with the Product Guild and personal projects brought forth by Developer DAO members. This is a benefit of the Product Guild being explored but it is not the intention of this RFC to comment on it.
To explain the proposed system, I’ll answer the following questions:
- What is the Product Guild?
- Why do we need a Product Guild?
- What is a Product
- What is a Product Team
- Who makes up the Product Guild?
- How will the Product Guild interact with Developer DAO?
- How do we ensure the Developer DAO Community is involved in Product Guild decisions?
- What does DAO Involvement with the Product Guild look like?
The Product Guild is just like our other guilds! It’s a subset of individuals contributing to Developer DAO, with strong domain expertise (design, product management, and engineering), a narrow set of responsibilities, goals, and (hopefully one day) a budget.
The Product Guild will be responsible for overseeing the Ideation, Discovery, and Delivery of Developer DAO-sanctioned products throughout a season. The Product Guild will serve as missionaries for Developer DAO product development. Missionaries are true believers in the vision and are committed to solving problems for their customers (The Developer DAO)
Product teams have generated high impact and value for companies like Facebook, Amazon, and Google, yet Product Management is clearly missing within the Developer DAO.
Leveraging the design of a Product Guild with specific responsibilities, I propose the creation of this new Product Guild to bring the same impact and value-creation seen in Web 2 to the Developer DAO and Web3.
Decentralization is a foundation of web3, and I know product management at first appears to be its antithesis. What a lack of product management creates, however, are massive issues in alignment and coordination.
As Developer DAO enters a new season, one in which we launch our ERC-20 token $CODE, our Treasury will be fully funded, and with new goals set. There must be alignment across members on what problems to address and a system in place to build solutions for them.
Members should seek Product Guild membership with the intention to declare alignment with one of these three categories:
- Product-focused members — ensure products are delivering value to Developer DAO members. The product members are responsible for tracking metrics and finding potential gaps in the user experience that can be improved to reach the DAO’s goals.
- Design-focused members — ensure products have great usability, and users can easily get the value they came for. The design members are also responsible for ensuring the evolution of the design system, keeping up with the latest UI/UX trends.
- Development-focused members — ensure products are running as free of bugs as possible and identify potential improvements/fixes that need to be done. The tech members are also responsible for ensuring the grants created by the committee are feasible from a tech standpoint.
When I refer to a product, I refer to more than just the features. It includes:
- The Features
- The Technology under those features
- The UX Design
- How we Monetize (if that’s a goal)
- User and Customer Acquisition Strategy
This should not be confused with Project, which is a temporary endeavor undertaken to create a unique product, service, or result.
A product team is a group of Developer DAO members who bring together different specialized skills and responsibilities. This team takes ownership of a product or a substantial piece of a larger product.
A typical Product Team is comprised of:
- A Product Manager/Champion
- A Designer
- 2 - 10 Developers
A product team has responsibility for all the work—all the projects, features, bug fixes, performance work, optimizations, and content changes—everything and anything for their product.
The Developer DAO assigns the roles and responsibilities that are now under the Product Guild. (below)
Developer DAO members can declare their alignment within the Product Guild as representing Product, Design, or Development.
Given that the Developer DAO has defined objectives and goals for a season, the Product Guild converts them into problems that have to be solved.
As an example, imagine that the Developer DAO sets the goal of increasing the number of Developer DAO members working for Web3 companies. The Product Guild should dig deeper into the problem, interview people, run user tests, and come up with the hypotheses that need validation:
- What are attractive traits in candidates to Web3 companies?
- Do members have opportunities to show initiative and experience?
- Are incentives high enough for DAO Members to want to work in Web3?
(In)validating hypotheses can be done by the Product Guild, or by the community through the use of grants for user research. Let’s assume the problems have been identified. At this point, the Product Guild defines grants and/or bounty programs for each problem that should be tackled, and where applicable, links them to a measurable KPI target that will help assess the impact of the work produced.
A proposal is a document that contains an introduction to the product, an explanation of how it will help address the Product Guild’s problem, the Product Team’s execution plan, and technical details of the deal.
This type of proposal should be brief, and it should explain complex products in simple terms.
Formatting for proposals will be established by the Product Guild. Tools and consultation will be available to assist teams in proposal drafting to the best of their abilities.
The Product Guild can consult the Developer DAO to help select the proposal — there could be more than one — they think will bring more value. The final decision will be made by the Product Guild, assigning a specific reward for the given proposal(s).
The team that submitted the selected proposal starts working on the delivery. This could range from a user research study to actual code ready to be deployed.
Once the team delivers, the Product Guild reviews delivery to ensure quality and adherence to Developer DAO’s standards (this can include a range of topics, like, UI components, code standards, brand tone of voice, etc). The Product Guild should ask for any guidance or validation from any other Guild if needed (for example, asking the Development Guild if the code should be audited).
If delivery satisfies the original request, whether it is code shipped, a KPI target that was hit, or a mix of both, the Product Guild releases payment for the milestone. Otherwise, it can request additional changes, and iterate until delivery meets the standards initially specified.
The Product Guild then keeps track of metrics (and makes them publicly available for $CODE holders) after delivery so the community can be informed of the progress in solving the problems/opportunities that were defined.
One might say that this design gives too much power to a few individuals, which would be just centralized decisions all over again — but in contrast to traditional organizations, the very concept of Guilds invites Developer DAO members to participate in key decision-making, albeit in a curated and efficient way. In addition to the fact that Guilds involve the community in their decisions, mechanisms for the community itself to dissolve the Guild, veto its decisions or intervene make the Guild design even less at risk of over-centralizing.
In order to create stronger incentives for optimal decision-making within the Product Guild and get its members to put skin in the game, we could even envision a system whereby Product Guild members could “back” a decentralized team’s proposal by staking some of their own $CODE tokens — taking a profit (from the reward given to the team whose proposal they had backed) in case of success or losing their stake in case of failure.