Epics and User Stories

Background edit

Adrian, Diederik and I sat down and came up with a lightweight process to add more descriptive, higher level project descriptions to the backlog. We used the first release of UMAPI/UserMetrics to model how this actually worked in practice. We think this will be sufficient for a while but there are definitely some issues, particularly around tooling that we should review.

Process edit

  1. Product Owner works with Stakeholders on Epics -- high level description of user value
  2. Product Owner breaks down Epics into User Stories -- a sprint level task that generates user value
  3. Development does very basic t-shirt sizing on the Epics (using the Stories to help)
  4. We ask our stakeholders to prioritize these epics based on the costing and the available bandwidth of the team
    1. We'll do this in the Planning meeting on a quarterly cadence initially
  5. Developers turn User Stories of prioritized epics into technical tasks and get things done
  6. Systems Non-functional requirements (SLAs, capacity, etc) defined on a system level

Tools edit

Mingle 'Feature' Cards correspond to a User Story

  • But we have a hard time managing specific tasks

Strategies to deal with that:

  • Make smaller cards
  • Use Asana to manage tasks
  • Check with dev team

Example edit

Epic edit

As a grantmaker, I want to be able to create and query specific cohorts of users to measure activity to understand what the impact of my programs is.

User Story 1 edit

I want to be able to [create|read|upload|delete] my own cohorts with the following parameters

  • Username
  • Country
  • Age
  • Gender

User Story 2 edit

I want to measure the following attributes

  • Bytes Added
  • Pages Created...

User Story 3 edit

I want my output to be available in JSON format.

Responsibilities edit

If we pivot the above process, we end up with these responsibilities:

Product Owner

  • Create Epics with Stakeholders
  • Prioritize Epics across Stakeholders
  • Break down Epics into User Stories

Development Team

  • Cost and provide feedback to Product Owner/Stakeholders on Epics and User Stories
  • Design and build software to provide the business value described in the Epics and User Stories

Stakeholders

  • Work 1:1 with Product Owner to create Epics and User Stories
  • Participate in Stakeholder-wide prioritization sessions