GitHub Project - OxRAMSociety/RobotArm GitHub Wiki

GitHub projects are a Kanban-style management tool to organize a project or particular aspects of it. A repository can have multiple projects addressing different needs.

In this repository we have a single project accessible from the "Projects" tab.

For more info on how to use projects in GitHub check the official documentation.

The project

The project is structured as a Kanban board with the following columns:

  • Ideas
  • To do
  • Backburner
  • In progress
  • Done

You can add cards/tasks (or issues) to each column to organize the workflow and keep track of the overall progress of the project. Cards will keep track of the different tasks we need to complete, while the columns assign additional semantics and structure to the workflow.

Here is a rough explanation of what the columns are for.

Ideas

Put here any rough idea, sketch, thought, proposal you might have regarding the project. At this point the card doesn't need to have a proper structure but can be a "brain dump" of related thoughts.

Do you want the arm to play the Imperial March every time the opponent is checkmated?

This might be the right place to kickstart the conversation!

To do

Here you will find your next tasks.

Cards here are better organized and will usually have a corresponding "issue" describing the task in details. The content and structure of the cards in this column might be the result of a meeting.

In progress

Here you can find all those tasks currently in progress. Cards come here directly from the To do column and are usually assigned to one or more people in the group. If a card is assigned to you, you should probably get to work!

Note that the card (and the corresponding issue) is a first place where you should record any update/progress on the task.

You are currently teaching a neural net the intricate differences between a bishop and a queen?

There is probably a card with your name on it!

Backburner

Sometimes your work depends on other people's work, or you are waiting for that particular electronic component but RoyalMail is too slow.

This is were you will put your "in progress" cards on hold.

Done

You can put here a card representing a completed task.

Note that the moment a task is completed might be a good time to write some relevant documentation in the wiki. Luckily for you, most of the information about the task progress and completion is already documented in its corresponding issue (right?).

Moving cards like a magician

The board is set to automate some actions. For example, every new issue is automatically added to the To do column, or closed issue are moved to the Done column. Too bad we can't have GitHub to complete the project for us!

Final notes

This definitely introduces a lot of overhead to the project. Keeping track of your steps might seem a task in itself but the idea is to slowly put together a knowledge base (or a Zettelkasten) so that all the info we gathered is there to review in 6 months, 1 year or even 10 years from now.

It's also important to understand that these are guidelines that might not work well for everyone. Use the tool as long as the tool helps you achieve something, but also keep in might that other people might rely on it more heavily.