Scrum

April 10, 2013

SCRUM is a way to organize the creation of software so that you can produce your end result of shipping high quality software that meets your “clients” expectations.

At a high level overview I really like scrum because it keeps your team cross-functional (instead of everyone retreating to their silos of familiarity) and because everyone on your team is working on the same project during the sprint it breeds a much better environment for collaboration.

Below is simply a list of my notes about the keywords and ideas that make up scrum.

SPRINTS

DONE

Done means that your software is integrated, fully tested, end-user documented, and potentially shippable. At the end of the sprint if your product isn’t shippable than you probably lack some automation or your team isn’t cross-functional enough.

SCRUM ROLES

PRODUCT BACKLOG

A prioritized list of features and does not contain user stories.

SPRINT PLANNING

You have a meeting that is 1 hour long / week of sprint.

Sprint Planning Part 1:

Sprint Planning Part 2:

NOTE: Only volunteer for one task at a time.

DAILY SCRUM

NOTE: This is for the benefit of the team and is not a status meeting to report to a manager.

TRACKING PROGRESS DURING THE SPRINT

PRODUCT BACKLOG REFINEMENT

TIP: Some % of each sprint should be dedicated by the whole team to refining the product backlog to support future sprints

SPRINT REVIEW

SPRINT RETROSPECTIVE

STARTING THE NEXT SPRINT

MANAGING RELEASES

Summary

Basically scrum keeps your team from working on multiple projects at the same time, being segregated by defined rolls (which solves the John got it by a bus dilemma and we have no idea how to do what he does), keeps you from making software that isn’t tested or documented, and should help you achieve the end goal of shipping code that will be of a higher quality then if you didn’t use scrum.

Start by reading the Scrum Primer if you want to learn even more about scrum.