Part 7: Github Issue Brainstorm
NOTE: Going forward, we are assuming that after your spec is done, your repo is created, and your team has begun development and set up the initial file structure/skeleton of your project. Since every project is different, if your team is struggling with codebase setup, contact the Tech Team.In order to make progress on your project, we need to make sure each team member has the opportunity to participate! Along with that, it’s important to break your project tasks down into manageable chunks that 1-2 people in your team can each take on. We recommend using the Github Issues tab (and the labels feature) in your GitHub repository to organize/delegate tasks to fellow team members.
See this link for more details about Issues on GitHub
See this link for more details about Labels on GitHub
Here’s a brief summary of how to approach issue creation:
- As a team, come up with as many actionable tasks as possible to do
- One way to approach this is to have everybody write down tasks they think need to be done on sticky notes.
- The tasks should at first be “word blurt” so to speak. The key is to write as many tasks as possible, no matter how low priority or informal.
- These tasks must be specific and doable within 1-2 weeks. If it’ll take longer than that, then it might be too broad/complicated and should be broken down further into smaller tasks.
- One way to approach this is to have everybody write down tasks they think need to be done on sticky notes.
- After you’ve brainstormed a list of actionable tasks, prioritize as a team which tasks should come first and then formalize them if necessary
- Using the sticky notes approach, predict the complexity of each issue and write details about the complexity on the sticky note. Examples of things to include are:
- What skills are required
- How much time is required
- How many people should work on this issue
- Then, sort the sticky notes into piles based on how “urgent” each issue is. This way you know which issues you will need to tackle first. One way to approach this is priority tiers:
- P0 - high priority task
- P1 - medium priority task
- P2 - low priority task
- Load up the GitHub issue board with the issues you’ve come up with
- Be detailed when writing the description of the issue. Your description at a minimum should include:
- What the team member needs to complete
- The skills required to complete the task
- Estimated difficulty of the task
- Estimated time required to complete the task.
- Create a label for how important the task is. Use the priority tiers you assigned for each task above as the label.
- i.e. Have 3 labels (P0, P1, P2) and assign to issues accordingly.
- Remember, you probably won’t touch most of your issues until a couple of weeks into the project, so write clear logical instructions any of your team members can follow.
- At each meeting, project managers will delegate tasks to team members looking to take on more responsibilities!
- Even after your initial brainstorming session, new issues will arise. This is good! Continue adding those issues to your issue board.
- Some problems you might encounter:
- If the tasks leftover aren’t challenging enough, create your own tasks! Challenge YOURSELF without carrying the team!
- If the tasks are too challenging, work in pairs or groups to take on the tasks TOGETHER! Help each other!
- Are there not enough relevant tasks left? Time for another issues/tasks brainstorm with the team!