« Nasty catch with: Royalty free licensing of the Office User Interface? | Main | Online Code Reviews suck - even Guido van Rossum can't fix that »

November 29, 2006

Scrum in a Nutshell or 5 minutes to learn scrum

Heard the buzz about Scrum want to learn more? Want to get a sense of what it is and why some teams choose to use it? I'm giving a presentation "Scrum in a Nutshell" at BarCamp2 in Ottawa on Saturday. I only have forty minutes to present and run a session of the Scrum game so I've tried to boil my description of Scrum down to the absolute minimum.

Advantages of Scrum – frequent releases means the customer always knows where the project is going and is able to make simple course corrections. Burndown charts and the product backlog provide the product owner and other stakeholders continuous visibility on the projects status.

Scrum is an agile process that allows self organizing teams to focus on delivering the highest business value in the shortest time.

Using iterative development it allows us to rapidly develop and repeatedly inspect working software every two to four weeks (a sprint or iteration).

The product owner sets out the business priorities and the team determines the best way to deliver the highest priority features.

At the end of the every sprint anyone can see real working software and decide to release it or continue to enhance it.

Definitions:
Product backlog

  • used to determine the work for the next sprint
  • a prioritized list of everything needed or wanted for the entire product
  • often written in the form of user stories
  • have estimates associated with them (often Story Points – Clinton Keith has a good explanation: http://www.agilegamedevelopment.com/2006/03/hours-vs-story-points.html)
  • Examples: A company can pay for a job posting with a Visa card; A company can pay for a job posting with a MasterCard (from http://www.mountaingoatsoftware.com/articles/usa_sample.pdf)

Sprint Backlog

  • list of tasks that to be completed in a sprint
  • the tasks are created by breaking down the stories during the planning meeting
  • have estimates (often in hours) associated with them

Roles:
Product Owner

  • creates and prioritizes the product backlog
  • understands the customer’s needs and the business value

Scrum Master

  • organizes the process
  • keeps track of the teams progress
  • removes obstacles from the path of the team

Team (not just developers – everyone required to create the product)

  • organizes itself to perform the work and deliver business value

Events (all events in Scrum are timeboxed)

Sprint

  • iteration typically of 1-4 weeks length
  • this is where the development work (code, test, review, ...) occurs

Sprint Planning Meeting

  • select the stories the team believes it can commit to in a sprint
  • break the stories down into tasks and provide estimates for those tasks

Daily Scrum/Standup

  • Team members share progress with other team members (not the manager)
  • answer the three questions – “what did you do yesterday”, “what will you do today”, “do you have any roadblocks”
  • anyone may attend, only team members (people with skin in the game) may speak
  • scrum master uses the information from the standup to update burndown chart illustrating progress
  • fifteen minutes maximum - typically held standing up in front of Task Board - helps keep the meeting focused - side conversations are taken offline

Sprint Review

  • Product Owner plays the sprint’s work (without guidance) and provides feedback
  • Developers may also demo work
  • Team owns up to deficiencies with the product helping to build trust with the Product Owner

Sprint Retrospective

  • Team reviews what went well and what went poorly
  • Use retrospection techniques to find potential for improvement.
  • Pick one or two areas to focus for improvement

Related articles: Best Introductions to Scrum, Too many bugs making it to production? The role of QA in Agile/Scrum.

If there's something more you would like to learn about Scrum (or Agile in general), leave a question in the comments and I will try to answer it.

Tip of the hat to Matt Truxaw whose 100 word summary I rewrote and Mishkin Berteig whose CSM course notes helped me nail my definitions.

Update: Nov 30/06 - Added a section defining a Sprint and fixed spelling errors.

If you enjoyed this post, subscribe now to get free updates.

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/services/trackback/6a00d8341cc2cf53ef00d8341d0b3553ef

Listed below are links to weblogs that reference Scrum in a Nutshell or 5 minutes to learn scrum:

» The Carnival of Software Development, number 1 from Sharp Blue
As this is the first edition of the Carnival of Software Development and I didn't give much notice to allow... [Read More]

Comments

Related Posts Widget for Blogs by LinkWithin
Blog powered by TypePad