Skip to content

Milestones

Dandielo edited this page Apr 20, 2022 · 4 revisions

The definition used in this 'Project'

A milestone is a set of features, bug fixes, improvements bundled together that track progress in a release like fashion.

It has a duration of four iterations in total, (around 2 months). After a milestone is finished it will have two additional iterations focused on preparing the release version of that milestone.

Preparing a milestone

Milestones will be prepared during a chill sprint, where focus in not on having any deadline. During the preparation phase the following things will be checked:

  • List of requested features.
  • List of submitted bug reports.
  • List of generated tech-debt.
  • List of submitted questions.

After evaluation of the above lists, a target is picked for the milestone along with selected issues. Any feature or tech-debt are evaluated and assigned complexity and a very rough time estimation. The total estimation cannot exceed three iterations worth of work hours. (a week contains a total of 10 work hours)

After everything is estimated and features going above the maximum limit of work hours are removed, the milestone can get a starting iteration assigned.

The development phase.

Here the focus is to deliver assigned issues to the milestone, in the following priority:

  • Features (only for the first 2)
  • Question answers / Documentation
  • Bugs
  • Tech-debt (unless two features are already finished, then it moves to the top)

Anything that will not be in review stage, in this phase, will go back to the backlog, and wait for the next evaluation.

The pre-release phase.

In this phase only issues in review are worked on to finish any remaining work. If nothing is left, move to the next phase.

The release phase.

Here we are working only on documentation, question answering, issue clean-up or creation of follow up issues. We are also preparing the milestone branch to be merged into the '(to be defined)' branch.

This phase ends at the first iteration when everything is ready for a merger. (Should never take more than a whole iteration)

The "chill" phase.

After a milestone was delivered the project enters a chill phase, here every developer can do whatever they want. This can be work on features, documentation, removing tech-debt or playing games.

The duration is: [remaining time the last milestone iteration] + [a full additional iteration] During this phase, developers can also take part in defining the next milestone.

The 'WHY' for this approach.

It tries to improve work-life balance (important even for side projects) and still results in productive work that can be measured.

We also try to allow everyone to be part of the development process. It's still not final, and changes will be introduced along the way.

Changelog

20.04.2022

  • Milestone Dev iterations reduced to four from six.