Brain Dump

SCRUM

Tags
comp-sci

Is an agile development process that works using small self-organising [see page 4, teams] of roughly 5-9 people from various disciplines.

The SCRUM Team

A typical SCRUM team includes a:

  • [see page 5, Product owner]: Typically a product manager (who can also be a developer). This person defines the features of the product, the release date and content. They prioritise features for each iteration and judge whether to accept or reject a developers work. Their main goal is to maximise the profitability/\gls{ROI} of the product according to the market value.
  • [see page 6, SCRUM master]: The one responsible for enacting SCRUM values and practices. They act as representatives of the management, removing impediments and ensuring the team is functional and productive.

The SCRUM Process

The tasks that're to be worked on are placed into a [see page 11, product backlog], managed by the product owner. Each backlog entry has an associated complexity in terms of time, difficulty, desirability etc. We call each development iteration, lasting 2-4 weeks, where we design, code and test some functionality, a [see page 19, sprint]. At the beginning of the sprint the team must decide on a [see page 15, sprint goal], a short statement about the focus of the next sprint. Following this the team selects a subset of the tasks from the product backlog that they can commit to completing and move them into the [see page 17, sprint backlog] after giving them an estimated difficulty (time to completion). Forming the sprint-backlog is done by the SCRUM master and the team, the product manager has no say in it. In general you should try to keep the sprint backlog manageable: No more than 300 tasks, no tasks taking more than 16 hours by itself etc. When in doubt about the difficulty of a task assign it a larger amount of time and break it down later.

At the end of a sprint we generally form a [see page 21, burndown chart] depicting the total backlog hours remaining per day. Ideally this chart should burn down to 0 and be a straight line downwards, but it could plateau before or after 0 and if a task takes too long it could go upwards.

SCRUM Meetings

Daily SCRUM

Refers to a short (15-minutes long) [see page 30, meeting] which is held every day prior to starting work. AKA Daily SCRUM.

Note: Every member should answer 3 questions:

  1. What did you do since the last SCRUM?
  2. What're you doing until the next SCRUM?
  3. What is stopping you getting on with the work?

Sprint Review Meeting

Is an informal [see page 33, meeting] held at the end of each sprint. It's where business functionality made during the sprint is demonstrated to the product owner by the whole team.

This should be informal, no slides and being prepared only 2 hours before-hand.

Sprint Retrospective

Is a periodic [see page 34, meeting] post-sprint meeting (typically 15-30 minutes) where we review what is and what isn't working for the team.