Agile

Table of contents

Agile principles and practices are followed where they add value. It is easy to get caught up in all the Agile ceremonies to the point that it becomes a burden. As such, if it make sense, we adopt and adapt it to our needs.

  • All work must1 be tracked by a corresponding GitHub (ZenHub) issue. Where appropriate, an overarching Epic should1 be created.
  • Pull requests should1 be linked to a corresponding GitHub (ZenHub) issue.
  • A Pull Request may1 address multiple GitHub issues if it logically makes sense to do the work as a single task.
  • A Pull Request should not1 address unrelated issues unless addressing the seemingly unrelated issue is in fact, related.
  • Drive-by fixes are neither encouraged nor discouraged. However, think twice if a seemingly innocuous fix should not be logged separately. Good judgement is key2.
  • Work must1 be committed daily, even if it is not complete. This is to avoid you losing your work due to some unpredictable event. For example, your computer may decide it doesn’t want to work for (with) you anymore.

Project management

Issues, Pull Requests, Milestones and Roadmap are managed on ZenHub.

Daily Stand-up

Daily stand-ups meetings are scheduled for 9am UK time on Microsoft Teams.

Sprints

Sprints are 2 (two) weeks in length, starting on a Monday and ending on the following week Friday.

Planning

Planning for the next sprint will happen on the last Friday of the current sprint. We deviate from traditional Agile culture in that we are not rigid around adding new items to the current sprint. This is especially true if:

  • Another developer, department or business is blocked by it.
  • The work that needs to be done makes sense and will save time in the long run.
  • It makes you or other people happy :)

This however, does not mean that issues can be added to the sprint at-will. Good judgement, consultation and communication again is key.

Story points

Estimating the effort and complexity of a task is hard. The table3 below serves as guidance on determining how many story points to allocate to a given task.

Story point(s) Effort Time required Task complexity Risk or Uncertainty
1 Minimum A few minutes Little Very low
2 Minimum A few hours Little Very low
3 Mild A day Low Low
5 Moderate A few days Medium Medium
8 Severe A week Medium Medium
13 Maximum A month High High