mistakia / nano-community

Community gateway and knowledge hub for Nano (digital money)
https://nano.community
MIT License
26 stars 24 forks source link

Community tracking of objectives & key results (OKRs) #56

Closed mistakia closed 2 years ago

mistakia commented 2 years ago

This pull request introduces the basic elements of a system for open planning of community-wide objectives and key results (OKRs) by laying out steps for discussing, finalizing, and tracking OKRs.

When no one is in charge, everyone is in charge. In order to facilitate this at a global scale, this pull request establishes standards and infrastructure to support the nano community operating as an asynchronous and distributed organization.

Community-wide objectives and key results are planned in the open by starting a new GitHub discussion. In these discussions, everyone can weigh in to help refine the objective and key results.

Objective

Key Results

A well-formatted objective and key results can be easily and uniformly understood by anyone.

OKRs will be finalized through pull requests that update docs/OKRs.md. Once merged, repo maintainers may convert related GitHub discussions to GitHub issues (and/or create related sub-issues), that people can volunteer to take on. Issues related to finalized OKRs should be labeled YEAR/QUARTER.

[describe how OKRs are assigned]

Each individual should not take any more than two priority/critical items (unless they are quite small tasks).

OKR Lifecycle

  1. Introduced via GitHub discussions
  2. Finalized via git by updating docs/OKRs.md
  3. Specific issues & pull requests are created to track tasks related to finalized OKRs
  4. Issues are assigned to volunteers
  5. Reviewed and graded quarterly

OKR Quarterly Grading & Review

Issue & Discussion Label Management An issue should be opened for anything specific, while discussions should be used for anything broad. All new issues & discussions will be labeled need/triage. Repo maintainers will ensure each issue & discussion has a priority, kind, and need label before removing the need/triage label.

Labels

Why git and GitHub

PR Todo

npesc commented 2 years ago

Proposition for objective characteristics:

mistakia commented 2 years ago

Following up with a simple and concise format to describe OKRs as well as a standard 0-1 grading scale.

Objective

Key Results

A well-formatted objective and its key results can be easily and uniformly understood by anyone.

OKR Quarterly Grading & Review

mistakia commented 2 years ago

@npesc thoughts on displaying OKRs and related tracker issues on the roadmap page (https://nano.community/design/roadmap)?

npesc commented 2 years ago

@npesc thoughts on displaying OKRs and related tracker issues on the roadmap page (https://nano.community/design/roadmap)?

@mistakia Makes sense. However we should mention that OKRs and issues are community driven since it's one of the community program's objectives. Perhaps renaming the page to something like "Upcoming" with it having two main subsections "Roadmap" and "Community objectives" can help nuance the ideas.

mistakia commented 2 years ago

This PR is ready for an initial review and has the basic functionality needed for an initial release, even in its incomplete form it is more useful than the existing placeholder "roadmap" page.

Follow-up / Remaining Tasks

Release Tasks

Some half-baked thoughts on how proposed objectives could be finalized and adopted: For the purpose of an open system of categorizing/labeling community posts (reddit, discord, forum, etc), I've been toying with the idea of nano-linked accounts. It's a public-private key pair signed by the private key of an existing nano account. The signing would ideally happen directly in wallets people are already using (nault, natrium) so no additional exposure of the private key is created. This signed public-private key pair could be loaded into nano.community for the purpose of signing user actions like voting for (or against) a label for a certain post. These signed actions along with the linked nano account data (balance, age, etc) could be used to make display decisions. The idea is that the collective financial incentive to act in the best interest of their holdings will provide moderation of an open system.

A similar approach could be used to allow community members to sign a vote for a proposed objective (and sign an amount to pledge to those who contribute to its completion). These votes can then be used to adopt proposed objectives.

Being that nano-linked accounts could be a blocker of other features, I'm going to shift some of my focus on a basic initial design to build & trial.