5  Start of an iteration

Note

This guidebook is written following the diátaxis “how-to guide” style. And because this document reflects how we work in the Seedcase Project, it is living and constantly evolving. It won’t ever be in a state of “done”.

Important

We track our iterations’ progress and tasks on GitHub with this project board.

Tip
  • It’s good practice to assign a timekeeper to keep us on track and so we avoid spending too long on any one topic.
  • While this guide can apply to all members of the team, several parts of it are specific to the team lead. Those parts will be explicitly marked to indicate that they are only for the team lead.

An iteration starts with a planning meeting at the start of each month. It should ideally be between 30-45 minutes. If you are the team lead, you should already have prepared for and made a general plan for the iteration, so this meeting should not be used as a way for everyone to write out and list all the tasks needed. Rather, the main purpose of this meeting is to get everyone aware of and aligned on the aim(s) and overall plan.

This meeting should ideally not be held the same day as the previous iteration’s debrief and retrospective meeting. Two intense meetings in a row tend to tire most humans out, and being tired is counterproductive for an effective meeting.

Note

A basic agenda could be:

  • Review the longer-term roadmap (several months ahead).
  • Review and agree on the current iteration aims and sub-aims (for each team member).
  • Briefly review the list of tasks on the project board for this iteration.

5.1 Before meeting

In general, if you are not the team lead, you don’t really need to prepare for this meeting. If you are the team lead though, you do need to prepare. So if you are the team lead:

  • Before the planning meeting you need to refine (or create) the iteration aim(s) by creating a new “status update” in the Project board. An iteration aim (or aims) should be something that is achievable within the iteration timeframe. The iteration should have one or two main, larger aims, but can include a few more smaller aims that individual team members complete.

  • Remove or keep any tasks (GitHub Issues) from the board that were from the previous iteration. Add any relevant issues from the list of existing issues to the iteration board. These issues should contribute to progressing towards the iteration aims and sub-aims.

  • Create any issues that are missing from the current list of issues. While making issues, keep them as small as is reasonable and as descriptive and targeted as possible.

  • Set the priority of each issue in the iteration. The priority of the issue is determined by how important or urgent the issue is to the iteration aim. Keep the distribution of priorities as even as possible. If all items are high priority, then no item is high priority. And that doesn’t help guide the team to knowing what to work on next.

If you are not the team lead, you can optionally review the aim(s) and output of the iteration board, review the list of issues already listed, and write out any potential issues as needed to complete the iteration aim.

Note

Any tasks from the previous iteration that are in progress but not yet completed should be moved to the next iteration, even if they don’t reflect the current iteration’s aims. This way, you keep track of the work that is still ongoing and make sure it doesn’t get lost or forgotten in the next iteration.

5.1.1 During meeting

During the meeting, someone will share their screen (if virtual) and the team will go through the tasks on the board together. Ideally, the team lead would be the one faciliatating the meeting, but it can be anyone.

You all will go over the roadmap or the longer term plan, to keep everyone aligned and updated. Then, you all will discuss and decide or agree on the iteration aim(s) (the “increment” or “milestone”).

After that, you’re done! Remember, this meeting is not meant to take up too much time.