introduction to scrum

25
Empirical Agile Steve Barr

Post on 12-Sep-2014

373 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Introduction to Scrum

Empirical Agile

Steve Barr

Page 2: Introduction to Scrum

Overview

Steve Barr

Page 3: Introduction to Scrum

� Management decides what, when, and how

� This defined model only works when all

factors are known, such as in simple manufacturing operations

� Not a good fit for unpredictable processes,

such as software development Steve Barr

Page 4: Introduction to Scrum

� Is a system for collaboration between workers and management to produce working iterations of a product in short time periods despite a complex, unpredictable environment.

� Provides periods of stability, change, and

feedback

� Can be used for more than just development

Steve Barr

Page 5: Introduction to Scrum

� A project management methodology •  Does not replace BDD or other XP practices

� Based on a business theory: •  New New Product Development Game by Hirotaka

Takeuchi, Ikujiro Nonaka. Harvard Business Review Jan 01, 1986

� Different than other approaches in allocation of

control and responsibility � An empirical system using observations and

adjustments throughout

Steve Barr

Page 6: Introduction to Scrum

� Scrum viewed as a set of mutually-reinforcing practices

� Only implementing some Scrum ideas not

considered using Scrum

Steve Barr

Page 7: Introduction to Scrum

�  Three Roles •  Product Owner •  Scrum Master •  Team member

�  Three lists (and one chart) •  Product Backlog •  Sprint Backlog •  Completed Features (just what it says) •  Burndown Chart

�  Three meetings •  Sprint planning meeting •  Daily Scrum (status meeting) •  Sprint review meeting

Steve Barr

Page 8: Introduction to Scrum

Product Backlog

Sprint Planning Meeting

Sprint Backlog

New Requirements

Sprint

Daily Scrum

Work

Sprint Review Meeting

Working Iteration of Product

Steve Barr

Page 9: Introduction to Scrum

� List of every feature, issue, bug, etc. related to product

� Kept in priority order as new items added

•  High-priority items are well-defined

�  Items added to Product Backlog, not Sprint Backlog

�  Important to have one agreed-upon list per product � Viewable by everyone

Steve Barr

Page 10: Introduction to Scrum

�  Better name would be “Iteration” or “Increment” �  Period from 1 week to 1 month when work is done

•  Sprint duration should be as long as you can keep change out

�  Time allocated to the Sprint protected from other tasks •  Urgent tasks can be added to top of Product Backlog or Sprint

can be cancelled

�  Has a Goal describing Sprint

�  Estimates tend to be far off for first 3-4 Sprints �  Produces working iteration of product

Steve Barr

Page 11: Introduction to Scrum

� Describes Sprint in general terms � If Sprint is likely to not deliver all planned

functionality, deliverables may be renegotiated to try to still meet Sprint Goal

Steve Barr

Page 12: Introduction to Scrum

� List of tasks based on items from Product Backlog that team will try to complete in Sprint

� Tasks have time estimates (usually 4-16

hours each) and team members assigned � Tasks may be added/changed/removed

only through negotiation Steve Barr

Page 13: Introduction to Scrum

� Provides visualization of how Sprint is going

� Shows number of hours remaining for

Sprint to complete tasks � Should be updated by team members

every day •  Hours removed as progress on tasks made •  Hours added as problems found

Steve Barr

Page 14: Introduction to Scrum

� Single individual who controls the Product Backlog •  Makes final decision on what makes it on and

priority of items

� Collaborates with Scrum Master and Team on which tasks to tackle during a Sprint and adjustments to Sprint Backlog

Steve Barr

Page 15: Introduction to Scrum

� Runs the Daily Scrum

� Empowered to remove obstacles blocking team from making progress

� Watches Sprint for problems and works

with team to resolve them � Keeps track of Sprint Backlog, Completed

Features, and Burndown Chart Steve Barr

Page 16: Introduction to Scrum

� Cross-disciplinary group working on Sprint •  Everyone who is committed to complete tasks during

Sprint

� “Self-organizing”

� Empowered to choose how to complete tasks

� Defines tasks from Product Backlog items •  Estimates task effort

� Provides information for Burndown Chart

Steve Barr

Page 17: Introduction to Scrum

� Product Owner, Team, and Scrum Master meet and choose Sprint Goal

�  Items are chosen from the Product Backlog that

team could work on •  Team must be confident in ability to complete them

� Team breaks down each item into tasks and

estimates hours required •  Tasks added to the Sprint Backlog

� Meeting complete when all hours in Sprint are

allocated

Steve Barr

Page 18: Introduction to Scrum

� Each team member says •  What they accomplished since the last Daily Scrum •  What they will try to accomplish today •  What is blocking them, if anything

� Scrum Master reports to team on efforts to resolve blocking issues

� Sprint Backlog and Burndown Chart updated � Other discussions take place after Daily

Scrum is over

Steve Barr

Page 19: Introduction to Scrum

� Features developed during the Sprint are demonstrated from the main build

� Everyone discusses what happened during

Sprint � Meeting provides info to guide decisions

for the next Sprint

Steve Barr

Page 20: Introduction to Scrum

�  Put new tasks, etc. on Product Backlog

�  One week Sprints •  If something new comes up, try to wait for Sprint completion

before working on it (put it in next Sprint if appropriate)

�  Select number of tasks based on estimated hours required and hours available •  Move those into Sprint Backlog •  Update Burndown Chart

�  At end of day •  Update Sprint Backlog if possible •  Update Burndown Chart

Steve Barr

Page 21: Introduction to Scrum

Product Backlog

Sprint Planning Meeting

Sprint Backlog

New Requirements

Sprint

Daily Scrum

Work

Sprint Review Meeting

Working Iteration of Product

Steve Barr

Page 22: Introduction to Scrum

Notes

Steve Barr

Page 23: Introduction to Scrum

�  “Scrum demands the liberal application of common sense. If the date can’t be met, reduce the functionality that will be delivered. If the functionality can’t be reduced, reduce some of the capabilities within the functionality. Increase the cost by adding another team that Sprints in parallel, or bring in experts. Scrum will put all of the information that is needed to make these decisions at management’s fingertips. Management then has to decide how to maximize business value from the project. Management is primarily responsible for doing anything possible to increase team productivity and then adapting to the results. Management should live and breathe to help the teams.” •  Agile Software Development with Scrum, Schwaber and Beedle

Steve Barr

Page 24: Introduction to Scrum

�  Agile Software Development with Scrum, ISBN 0-13-067634-9

�  http://en.wikipedia.org/wiki/Scrum_%28development%29

�  http://www.torak.com/site/files/SCRUM%20An%20extension%20pattern%20language%20for%20hyperproductive%20software%20development.pdf

�  http://www.gamedevradio.net/?p=443

�  http://www.mountaingoatsoftware.com/scrum-a-presentation

�  http://search.dilbert.com/comic/Agile%20Programming :-)

Steve Barr

Page 25: Introduction to Scrum

� Scrum tools •  http://www.userstories.com/products •  http://www.opensourcescrum.com/ •  http://open-tube.com/10-free-scrum-project-

management-tool/

Steve Barr