Skip to content

Team Process

Sam Richard edited this page Oct 5, 2016 · 6 revisions

The core Punchcard team's process takes inspiration from various Agile methods. We use ZenHub to extend GitHub's built-in project management capabilities, so installing their extension is recommended in order to work along with us. We also recommend reviewing our Contributing Guidelines and Label Style Guide.

Issue Lifecycle

Punchcard ZenHub Board

New Issues

All new issues that get created start in the New Issues pipeline. Issues that do not follow our Issue Guidelines are labeled with the stub label. Once an issue meets our issue guidelines, as agreed upon by two or more non-authoring Punchcard team members, the stub label is replaced with the consumable label. During the next backlog grooming session, Punchcard team members will evaluate new issues labeled consumable, size them, and add them to the Backlog pipeline.

Backlog

The Backlog pipeline is the prioritized list of issues that the Punchcard team is prepared to work on. Issues at the top of the pipeline are the highest priority, bottom the lowest. All issues in the Backlog pipeline need to be sized and consumable. When doing sprint planning, issues at the top of this pipeline should be considered first.

Todo

The Todo pipeline is the prioritized list of issues that the Punchcard team is actively prepared to work on. Issues at the top of the pipeline are the highest priority, bottom the lowest. All issues in the Todo pipeline need to be assigned to at least one individual, be sized and added to a sprint. Issues move from the Backlog pipeline to the Todo pipeline during sprint planning. Issues may only move into the Todo (or later) pipeline outside of sprint planning if two or more Punchcard team members have agreed that the issue meets the requirements for moving into the Backlog pipeline and the Todo pipelines.

In Progress

Once work on an issue has begun, it is moved into the In Progress pipeline. Issues in this pipeline must meet the requirements of both the Backlog and the Todo pipelines.

In Review

Once an issue is ready for other members of the Punchcard team to look at and be accepted into Punchcard, they are moved to the In Review pipeline. Issues at the top of the pipeline are the highest priority, bottom the lowest. Pull requests are automatically placed in this pipeline; otherwise, all issues in this pipeline must meet the requirements of both the Backlog and the Todo pipelines, and should have been through the In Progress pipeline. Issues can be accepted into Punchcard once all requirements as outlined in our Contributing Guidelines have been met.

Process Ceremonies

Video Collaboration

Monday Tuesday Wednesday Thursday Friday
- - D, R, SP BG
BG BG
BG - - -
  • BG - Backlog Grooming
  • D - Demo
  • R - Retrospective
  • SP - Sprint Planning

Backlog Grooming

Backlog Grooming is a 30-minute meeting that happens 16:30-17:00 Eastern. During Backlog Grooming, the team goes through our New Issues, determines if issues labeled consumable can be sized and moved into the Backlog, and issues in the backlog are prioritized. Time permitting, issues in New Issues that have neither the stub nor the consumable label are reviewed to see if either of those labels need to be applied.

Demo

Demo is a 60-minute meeting that happens 14:00-15:00 Eastern at the beginning of each sprint. During Demo, the team goes over the issues they've completed the previous sprint, walking the team through their work. This provides all team members the ability to see everyone's work from the previous sprint.

Retrospective

Retrospective is a 60-minute meeting that happens 15:00-16:00 Eastern at the beginning of each sprint. During Retrospective, we discuss how the previous sprint went; things we would like to continue doing, things that did not go as expected, things about our process we'd like to improve upon moving forward. These are blameless meetings, designed to be open and honest without fear of repercussion, to allow the team and the project to grow in a healthy and sustainable manner.

Sprint Planning

Sprint Planning is a 60-minute meeting that happens 16:00-17:00 Eastern at the beginning of each sprint. During Sprint Planning, the team goes through the Backlog, assigning issues to one or more individuals to complete, adding those issues to a sprint, and moving those issues into Todo.

Terminology

The following terminology is borrowed from various Agile practices.

Pipeline

A pipeline is a representation of a step in the process towards completion. Pipelines are usually visualized as columns, with each pipeline arranged in order according to their position in the overall process. When arranged together they form a board.

Size

An issue's size represents its relative difficulty and risk, as compared to all of the other issues we have in our project. Difficulty is the amount of effort it will take to complete an issue. Risk is how likely this issue can be completed in a sprint. Risk can encompass such concepts as if all prerequisites can be met, if all required research can be completed, if the difficulty may change given unknowns before starting work, etc… Size is measured in story points, a unitless number. Size is not a measurement of hours of work required to complete an issue.

Sprint

A sprint is a 2 week period of time in which the team commits to getting certain issues completed. Constraining the working window to a short period of time allows the team to change direction quickly, as needed, ensure progress is made and iterated on rapidly and provides a human-realistic period of time to plan into the future. Planning longer than 2-3 sprints into the future with meaningful fidelity becomes difficult with fast moving projects, so sprints allow teams to keep themselves honest with what they're able to deliver. Our sprints start on Thursdays and end on Wednesdays.

Capacity

Every individual participating in a sprint has a maximum number of story points they are able to confidently accomplish in that given amount of time. When an individual is assigned an issue, they are committing to completing that in the given sprint, and the issue's size is subtracted from their overall capacity. Capacity varies by individual, based on how much of a given sprint they can devote to completion of issues on their own. Individuals who spend a lot of time reviewing the work of others, like leads, or if someone is out for a period of time during a sprint, may have their capacity lowered. A baseline capacity of 21 should be used, and adjusted up or down as needed per individual per sprint.

Epic

An epic track multiple issues together towards a desired outcome, independent of sprint. Epics should be labeled with the epic label.

Sizing

Stories are sized with story points which are a unitless measure of difficulty and risk based on the Fibonacci sequence.

Difficulty is the amount of effort it will take to complete an issue, but not necessarily number of hours of work something may take. Something can be easy, just take a lot of time to do (going through all of Greenkeeper and merging PRs, for instance). Something can be difficult but take a short amount of time (dead-lifting a tonne).

Risk is how likely it is that something that can be completed this sprint. So “I know this Node module exists and does what I need” is low risk. “I don’t know if this exists, and if it doesn’t, or doesn’t do what I need, that’s going to add a lot of effort to this story” is high risk. Risk also encapsulates research that may need to be done to get something accomplished

Size Descriptions and Examples

Size Description Examples
1 Mindless work Small copy updates
2 Mindless work with a hint of difficulty or risk A bunch of copy updates, a few updates to markup
3 A smidgen of difficulty or risk Small, well-defined enhancement to existing feature, with a few additional tests needed
5 A little difficult or risky Adding new functionality within a reliable system
8 A little (more) difficulty and/or a little (more) risky Developing a database schema, automating a new system
13 Difficult or risky (or a combo) Integration with a new critical system for the first time
21 Very difficult or risky (or a combo) Working with a well-known terrible third-party or investigating and implementing some new form of authentication
22+ This is an Epic