Skip to main content

HowTo: Write a proposal

Every proposal is different and often requires a unique project plan. At the same time, OpenGov needs to be able to judge proposals quickly and accurately. The community has developed certain conventions for how a good project proposal should be structured. This article will provide you with guidance on how to best write a proposal. Copy the parts that make sense for your project.

Getting started

  • Check out the Proposals Overview before preparing your draft.
  • Check out the Tracks Guide to decide which treasury track is fitting for your proposal.
info

You can modify the generic treasury proposal template to prepare your proposal. However, keep in mind that a long and extremely detailed proposal might not be for your best advantage especially when the scope of your idea is not very wide.

Scope

Execution: Milestones, Timeline, Budget

Three essential components for communicating your project is milestones, timeline, and budget.

  • Milestones: For projects that span longer than just a weeks, it typically makes sense to structure them into milestones. This can either be iterate feature/content milestones or follow the waterfall model
  • Timeline: What is the timeline for the project and the milestones. When is the final delivery expected?
  • Budget: How much does the whole project and each milestone cost?

Together, these pieces of information should be represented in a single table.

MilestoneDescriptionTimelineBudget
M1 - Researchgather additional information about the problem1 month10,000 USD
M2 - Implementationbuild the solution3 months30,000 USD
M3 - Rolloutdeploy the solution2 weeks5,000 USD
------------
TOTAL4.5 months45,000 USD

Timeline

Project time is measured by 2 KPIs:

  • Hours: This is the hours of work it takes to get the thing done. Not every project makes it neccessary or possible to determine the person hours for a project.
  • Duration: Multiple people or a single person with half their attention can work on a project at a given time. Therefore it is neccessary to state what the duration of the whole project or a single phase is.

A unit that is often used is FTE: Full-time equivalents. This signals how many people are working on a project at a given time. A FTE typically is assumed to work 40 hours per week. A FTE is usually considered to be working 160 hours/month (with holidays/vacation) or 176 hours/month (without)

Since it can be neccessary to take breaks between phases or develop some phases at half speed (e.g. you only have 0.5 FTEs available), communicating the expected duration of the whole project is also neccessary.

Budgets

Budgets contain labor and other costs. Labor is typically measured in USD/hour (or another currency). You should consider all relevant costs and add them up together. If your request is in DOT, perform the conversion into DOT at the very end of the calculation.

Breakdowns

To give evaluators insights into how the big plan breaks down, you can provide several different views on the project

Breakdown: Milestones by Waterfall Model

For a project following the waterfall model, you might encounter these phases:

  1. Research phase:
    1. Research - gather additional information about the problem
    2. Stakeholder interviews - gather sinsights & feedback from involved parties
    3. Prototyping - develop prototypes to understand if the problem can be solved as expected
  2. Work phase: The actual work tasks can be very unique and vary significantly depending on the project category.
    1. Implementation
    2. Documentation
    3. Testing
  3. Delivery phase:
    1. Audits - analyze the research data and existing documentation
    2. Deliverables - package the project deliverables
    3. Final report - compile a series of metrics to display how successful the project was and lessons learned
    4. Launch/publish/handover the finished project
    5. Closing the project - communicating with the stakeholders and providing the Final report

An example Milestone table for such a project could look like this:

MilestoneTaskDescriptionHours
M2 - Implementation
Environment Setupseting up the development environment, Github, Website etc16
Application Bootstrapsimple application template with backend and frontend stubs24
Database ModelModel of Blocks, Extrinsics, and Events40
Backend Logic + APIconnecting to RPCs, scraping data, transformation120
FrontendUI that works against the API100
Business Logicdefinition of several views, screens, etc80
Unit Teststest coverage for all functions of the business logic40
Integration Testingmanual end-to-end testing + test book40
Documentationcode docs20

Breakdown: Budget by Role

Breaking down a project by role makes sense when many different roles participate

MilestoneEngineerEditorPMSum hours
M1 - Research20h60h40h120h
M2 - Implementation-30h-30h
M3 - Rollout10h40h10h60h
TOTAL TIME210h

Obviously you can also break a milestone down by role for each task.

Since different roles usually can cost different amounts, you might want to give the individual pricing

MilestoneRole ARole BRole CSUM HOURS
M1 - Research100h200h0h300h
M2 - Implementation200h50h0h250h
M3 - Rollout50h0h50h100h
TOTAL HOURS350h250h50h650h
Hourly rate$50$100$150
TOTAL USD$17,500$25,000$7,500$50,000