introduction to scrum
Post on 12-Sep-2014
373 views
DESCRIPTION
TRANSCRIPT
Empirical Agile
Steve Barr
Overview
Steve Barr
� 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
� 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
� 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
� Scrum viewed as a set of mutually-reinforcing practices
� Only implementing some Scrum ideas not
considered using Scrum
Steve Barr
� 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
Product Backlog
Sprint Planning Meeting
Sprint Backlog
New Requirements
Sprint
Daily Scrum
Work
Sprint Review Meeting
Working Iteration of Product
Steve Barr
� 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
� 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
� 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
� 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
� 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
� 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
� 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
� 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
� 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
� 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
� 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
� 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
Product Backlog
Sprint Planning Meeting
Sprint Backlog
New Requirements
Sprint
Daily Scrum
Work
Sprint Review Meeting
Working Iteration of Product
Steve Barr
Notes
Steve Barr
� “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
� 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
� Scrum tools • http://www.userstories.com/products • http://www.opensourcescrum.com/ • http://open-tube.com/10-free-scrum-project-
management-tool/
Steve Barr