Tracks/coordinate effort/tasks that targets CoW Protocol / Cow Swap as a product across implementations (production readiness, scalability, etc).
The CoW Team is currently split in the following subteams:
- Backend (services)
- Solvers
- Frontend
The current reporting requirements are 2 folds:
Weekly reporting by subteam of progress on milestones.
Monthly reporting is now handled by the insight team.
Name | Number of | Timeframe | Team Scope | Owner | Description |
---|---|---|---|---|---|
Priority Track | 3-5 | Set yearly | Whole Team | CTO | Focus set for the year, must be aligned with CoW Protocol's priorities. |
(Key) Milestone | 1-3 per year | Set yearly-ish | Most subteams | CTO | Key achievements for the CoW Protocol 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.
A Milestone:
- MUST have a matching GH issue in the https://github.com/cowprotocol/pm repo with
milestone
label assigned. - MUST have a GH Milestone in https://github.com/cowprotocol/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/cowprotocol/pm with
epic
label assigned. - MUST have a label with format
E:<epic name>
created across all relevant https://github.com/cowprotocol/ repos (see labels.yml). - SHOULD be added to a GH Milestone.
- SHOULD have a
Planned Start
andDue Date
set (these are GitHub projects fields you can find in theProjects
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:...
),
- that MUST be labelled with related Epic label (
- OR MAY be tracked as a GH Pull Request
- that MUST be labelled with related Epic label (
E:...
),
- that MUST be labelled with related Epic label (
- 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 userenhancement
: 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:...
)