Skip to content

Instantly share code, notes, and snippets.

@SeanJCasey
Last active April 7, 2020 23:06
Show Gist options
  • Save SeanJCasey/ceae1bfd1619a605fc49663e7254a7a0 to your computer and use it in GitHub Desktop.
Save SeanJCasey/ceae1bfd1619a605fc49663e7254a7a0 to your computer and use it in GitHub Desktop.
Avantgarde Finance Clubhouse SOP

Avantgarde Finance Clubhouse SOP

Clubhouse essentially lets us manage tasks, epics, and milestones across various "projects" in an aggregated, filterable workspace.

Clubhouse Overview

Our "projects" are: Protocol, Frontend, and Infrastructure (name TBD, but web services, shared public sandbox, etc).

The project owners to manage the Clubhouse workspace are Ivan for the "frontend" project and Travis for the "protocol".

Clubhouse has three levels of tasks that we'll use: Stories, Epics, and Milestones.

"Stories" are what you're used to from Trello, GitHub issues, etc; basically "cards" that describe a task or set of interrelated tasks to be handled together.

"Epics" are larger bundles of tasks that achieve some kind of goal, like "fund upgradability".

"Milestones" are bundles of "Epics", which for us will be release cycles. For now, we have Q2, Q3, and Q4 milestones.

General workflow for Stories

The project owners manage the high level aspects of Clubhouse (epics and milestones), but everybody is responsible for maintaining Stories.

Creating a Story [Unscheduled]

ANYBODY can add a Story to their project. Consider adding a story the same as adding an issue in Github.

When adding a Story, you can add as much detail as you like, but leave "State" as "Unscheduled".

Activating a Story [Ready for Development]

The project owner keeps track of "Unscheduled" Stories.

The project owner can add detail to the Story, e.g., adding a checklist of "Tasks" to be accomplished.

The project owner can either assign the Story to a particular person, or leave it unassigned if anybody is free to own the Story themselves.

When a Story is ready to be worked on, the project owner moves the Story to "Ready for Development".

Working on a Story [In Development]

When you own a Story, you are responsible for maintaining the details of your work in "Comments", a checklist of sub-items to work on in "Tasks", and moving the Story to the appropriate column.

When you become the owner of a Story, create a list of "Tasks" that need to be accomplished for the Story to be completed, e.g., general implementation details and whatever test coverage will need to be added.

Move the Story to "In Development" when you have actually started working on the Story.

Create an "external link" to your Github PR branch.

If your Story relies on another Story for completion, mark it as blocked: "relationships" -> "is blocked by" -> add blocking Story. Remove the relationship when it is no longer blocked.

Once your Story is "Ready for Review" (whether an initial review or an official PR), move the Story to that column.

Reviewing the Story [Ready for Review]

The project owner will either review the Story PR, or will @mention somebody to do the review.

If the Story requires further work, the project owner moves it back to "In Development".

If the Story is finished (the PR is merged), the project owner moves it to "Completed".

Important notes

  • GitHub Issues are now only for external parties to report issues, feature requests, etc. We don't add tasks there.

  • As much as possible, keep important (summaries of) discussions and questions related to the task in the "Comments" of each Story. Since we're not using GitHub issues anymore, these Stories are now the archives to remember how and why we did things.

  • As much as possible, maintain a current list of "Tasks" for your Stories. This will help other devs easily understand the progress of the Story, which is especially important for blockers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment