Project Management - rorymacleod/Toolbox GitHub Wiki

Notes

  • Epics: Top-level "features", as you might list them off the top of your head.
  • Features: Specific features a user cares about. Too big to be a user story, the points would be 100+
  • Story: Part of a feature, a single scenario. It might not be useful on its own, but it can be developed and tested independently in a few days.

Stories are estimated in story points. Points are a measure of the story's scale and complexity. They are not a measure of time, except insofar as time can be expected to scale with complexity. They are independent of any particular developer or skill level.

  • Define examples of stories ("this is a 1-pointer", "this is an 8-pointer", etc), and refer to them when pointing new stories.
  • The story a detailed description to allow pointing. This should be in the form of ACs.
  • It should not be necessary for developers to decide on technical tasks or implementation details at the pointing stage - this would be too much work and would prevent the whole backlog from being pointed. Try to point just based on the ACs.

Do not point bugs. The reason we estimate stories is to produce a velocity for the team. Dividing the sum of the points in the backlog by the velocity should allow the team to determine when the project will be finished, or how much can get done by a certain deadline. For that to work, anything that slows down the team needs to be reflected in a lower velocity.

  • Bugs reduce velocity.
  • Meetings reduce velocity.
  • Investigating production issues reduces velocity.
  • Bad code reduces velocity.
  • Training new team members reduces velocity.
  • Manual testing reduces velocity.

Conversely, measures that improve code quality, increase automation, add error handling or logging, speed up investigations, etc, become easily justifiable if they are going to increased velocity.

Giving story points to bugs will artificially inflate the velocity, rewarding work that does not contribute to the completion of the project. It is impossible to create a timeline for the project if the velocity includes anything that does not appear in the backlog. Remember that the team needs to be able to answer the simple question, "How long will this take?"