Project management, admin, misc
Go to file
fryorcraken 6bdad235bb
Merge pull request #91 from waku-org/non-epic-issues
2023-09-22 11:47:39 +10:00
.github Address how to handle work that is not part of the roadmap 2023-09-20 12:31:34 +10:00
adr adr: added message uid document 2023-03-22 12:43:51 +01:00
README.md Address how to handle work that is not part of the roadmap 2023-09-20 12:31:34 +10:00

README.md

Waku Project Management

Tracks/coordinate effort/tasks that targets Waku as a product across implementations (production readiness, scalability, etc).

Teams

The Waku Team is currently split in the following subteams:

  • Waku Research
  • Waku Development (nwaku, js-waku, go-waku)
  • Waku Eco Dev (DevRel, Docs)

Work Tracking and Reporting Guidelines

Requirements

The current reporting requirements are 2 folds:

1. Weekly Reporting

Weekly reporting by subteam of progress on milestones.

2. Monthly Reporting

Monthly reporting is now handled by the Logos insight team.

Terminology

Name Number of Timeframe Team Scope Owner Description
Priority Track 3-5 Set yearly Whole Team Waku Lead Focus set for the year, must be aligned with Logos Collective's priorities.
(Key) Milestone 1-3 per year Set yearly-ish Most subteams Waku Lead Key achievements for the Waku project, historical milestones.
Epic Several per milestone Set for a milestone, delivered monthly Several subteams or external team (e.g. DST) Team Member (likely a lead) Chunk of a Milestone across all clients.
Task Many per Epic Set monthly-ish, delivered weekly One subteam or individual Team Member May be one or several piece of work, client specific.

Owner = person responsible for the delivery and related reporting, may not be doing all the work.

GitHub Usage

A Milestone:

  • MUST have a matching GH issue in the https://github.com/waku-org/pm repo with milestone label assigned.
  • MUST have a GH Milestone in https://github.com/waku-org/pm repo, to which relevant Epics are added.
  • SHOULD have a roadmap to delivery done at planning phase, the GH milestone is then used to track progress.

An Epic:

  • MUST have a matching GH issue in the https://github.com/waku-org/pm with epic label assigned.
  • MUST have a label with format E:<epic name> created across all relevant https://github.com/waku-org/ repos (see labels.yml).
  • SHOULD be added to a GH Milestone.
  • SHOULD have a Planned Start and Due Date set (these are GitHub projects fields you can find in the Projects section of the issue view sidebar).
  • MAY list Tasks present in other repos.

A Task:

  • MAY be tracked as a todo item in a GH Issue (Task or Epic),
  • OR MAY be tracked as a single GH issue
    • that MUST be labelled with related Epic label (E:...),
  • OR MAY be tracked as a GH Pull Request
    • that MUST be labelled with related Epic label (E:...),
  • MUST have an acceptance criteria and/or a list of tasks (that can be other GH issues).

Finally, for Tasks that do not belong to a given Epic or Milestone:

  • MUST have either labels:
    • bug: This is a bug, likely reported by a user
    • enhancement: This is an enhancement out of the scope of the technical roadmap, likely reported by a user
      • Major enhancements should be carefully reviewed and prioritized.
    • documentation: Documentation improvement or correction.
    • dependencies: Upgrade dependencies in a timely manner to avoid time wasting when the dependency upgrade becomes critical.

Which means, in terms of navigation:

  • Work for a Milestone is described in the related GitHub issue and tracked in the GitHub milestone.
  • In the GitHub milestone, we have a list of Epics to be achieved, the Epics are being closed as the work is done across all clients.
  • To look at remaining work for an Epic, one need to look at all issues/PRs (Tasks) with the corresponding Epic label (E:...)

Reporting

Monthly:

Handled by insight team

Weekly: Report progress on each active Epic or Task per subteam.

Every Friday, all team members must add a comment to the GH issues (not pull request) they own and worked on the past week or planned to work on next week.

If work is done on several Tasks related to the same Epic, team member is free to do their weekly update in common parent issue.

The comment must have the following MarkDown format:

**Weekly Update**

- _achieved_: what was achieved this week; must remain on one line.
- _next_: what will be worked on next week; must also remain on one line.
- _blocker_: any blocking items. Do not include the line if no blocker. 

Omit the lines which are not relevant.

On Monday, project lead or responsible person for report can run the milestone-update script to generate a report and post it in the Logos Discord.

Milestones

https://github.com/waku-org/pm/milestones