diff --git a/docs/docs/handbook/product.md b/docs/docs/handbook/product.md index 7731f4bf5..c198bfe80 100644 --- a/docs/docs/handbook/product.md +++ b/docs/docs/handbook/product.md @@ -6,41 +6,49 @@ We use the [Jan Monorepo Project](https://github.com/orgs/janhq/projects/5) in G As much as possible, everyone owns their respective `epics` and `tasks`. -> We aim for a `loosely coupled, but tightly aligned` autonomous culture. +:::tip +We aim for a `loosely coupled, but tightly aligned` autonomous culture. +::: + +## Quicklinks + +- [High-level roadmap](https://github.com/orgs/janhq/projects/5/views/16): view used at at strategic level, for team wide alignment. Start & end dates reflect engineering implementation cycles. Typically product & design work preceeds these timelines. +- [Standup Kanban](https://github.com/orgs/janhq/projects/5/views/25): view used during daily standup. Sprints should be up to date. ## Organization -[`Project Labels`](https://github.com/janhq/jan/issues/labels) +[`Roadmap Labels`](https://github.com/janhq/jan/labels?q=roadmap) -- `Project Labels` tag large, long-term, & strategic projects that can span multiple teams and multiple sprints -- Example label: `project: Jan has Mobile` -- `Projects` contain `epics` +- `Roadmap Labels` tag large, long-term, & strategic projects that can span multiple teams and multiple sprints +- Example label: `roadmap: Jan has Mobile` +- `Roadmaps` contain `epics` [`Epics`](https://github.com/janhq/jan/issues?q=is%3Aissue+is%3Aopen+label%3A%22type%3A+epic%22) - `Epics` track large stories that span 1-2 weeks, and it outlines specs, architecture decisions, designs -- Each `epic` corresponds with a `milestone` - `Epics` contain `tasks` - `Epics` should always have 1 owner [`Milestones`](https://github.com/janhq/jan/milestones) -- `Milestones` correspond 1:1 to `epics` and are used to filter [Roadmap Views](https://github.com/orgs/janhq/projects/5/views/16) -- `Milestones` span 1-2 weeks and have deadlines +- `Milestones` track release versions. We use [semantic versioning](https://semver.org/) +- `Milestones` span ~2 weeks and have deadlines +- `Milestones` usually fit within 2 week sprint cycles [`Tasks`](https://github.com/janhq/jan/issues) - Tasks are individual issues (feats, bugs, chores) that can be completed within a few days -- Tasks under `In-progress` and `Todo` should always belong to a `milestone` +- Tasks, except for critical bugs, should always belong to an `epic` (and thus fit into our roadmap) - Tasks are usually named per [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/#summary) - Tasks should always have 1 owner -We aim to always work on `tasks` that belong to a `milestones`. +We aim to always sprint on `tasks` that are a part of the [current roadmap](https://github.com/orgs/janhq/projects/5/views/16). -## Task Status +## Kanban -- `triaged`: issues that have been assigned -- `todo`: issues you plan to tackle within this week +- `no status`: issues that need to be triaged (needs an owner, ETA) +- `icebox`: issues you don't plan to tackle yet +- `planned`: issues you plan to tackle this week - `in-progress`: in progress - `in-review`: pending PR or blocked by something - `done`: done