Skip to main content

Project Management

We use the Jan Monorepo Project in Github to manage our roadmap and sprint Kanbans.

As much as possible, everyone owns their respective epics and tasks.

tip

We aim for a loosely coupled, but tightly aligned autonomous culture.

  • High-level roadmap: 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: view used during daily standup. Sprints should be up to date.

Organization

Roadmap Labels

  • 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

  • Epics track large stories that span 1-2 weeks, and it outlines specs, architecture decisions, designs
  • Epics contain tasks
  • Epics should always have 1 owner

Milestones

  • Milestones track release versions. We use semantic versioning
  • Milestones span ~2 weeks and have deadlines
  • Milestones usually fit within 2-week sprint cycles

Tasks

  • Tasks are individual issues (feats, bugs, chores) that can be completed within a few days
  • Tasks, except for critical bugs, should always belong to an epic (and thus fit into our roadmap)
  • Tasks are usually named per Conventional Commits
  • Tasks should always have 1 owner

We aim to always sprint on tasks that are a part of the current roadmap.

Kanban

  • 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

Triage SOP

  • Urgent bugs: assign to an owner (or @engineers if you are not sure) && tag the current sprint & milestone
  • All else: assign the correct roadmap label(s) and owner (if any)

Request for help

As a result, our feature prioritization can feel a bit black box at times.

We'd appreciate high quality insights and volunteers for user interviews through Discord and Github.