This work is licensed under the Creative Commons Attribution NonCommercial ShareAlike License Richard Fennell Engineering Director Black Marble Ltd Origins of Scrum The New New Product Development Game in ID: 635249
Download Presentation The PPT/PDF document "What is Scrum? This Stack is based upon ..." is the property of its rightful owner. Permission is granted to download and print the materials on this web site for personal, non-commercial use only, and to display it on your personal computer provided you do not modify the materials and that you retain all copyright notices contained in the materials. By downloading content from our website, you accept the terms of this agreement.
Slide1
What is Scrum?
This Stack is based upon the Redistributable Scrum Introduction Stack from the Scrum AllianceThis work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License
Richard Fennell
Engineering Director, Black Marble Ltd.Slide2
Origins of Scrum
“The New New Product Development Game” in Harvard Business Review by Hirotaka Takeuchi and Ikujiro Nonaka, 1986. “The… ‘relay race’ approach to product development…may conflict with the goals of maximum speed and flexibility. Instead a holistic or ‘rugby’ approach—where a team tries to go the distance as a unit, passing the ball back and forth—may better serve today’s competitive requirements.”Wicked Problems, Righteous Solutions
by
DeGrace
and Stahl, 1990.
First
mention of Scrum in a software contextSlide3
Origins of Scrum
Jeff SutherlandInitial Scrums at Easel Corp in 1993IDX and nearly 600 people doing ScrumNot just for trivial projectsFDA-approved, life-critical software for x-rays and MRIsKen SchwaberADMInitial definitions of Scrum at OOPSLA 96 with SutherlandMike
Beedle
Scrum patterns in PLOPD4Slide4
Scrum has been used in…
Independent Software Vendors (ISVs)Fortune 100 companiesSmall startupsInternal developmentContract developmentSlide5
Scrum has been used for…
Commercial softwareIn-house development
Contract development
Fixed-price projects
Financial applications
ISO 9001-certified applications
Embedded systems
24x7 systems with 99.999% uptime requirements
T
he Joint Strike Fighter
Video game development
FDA-approved
, life-critical systems
Satellite-control software
Websites
Handheld software
Mobile phones
Network switching applications
ISV applications
Some of the largest applications in useSlide6
Characteristics
One of the “agile processes”Self-organizing teamsProduct progresses in a series of 2 to 4 week long “sprints”Requirements are captured as items in a list of “product backlog”No specific engineering practices prescribedUses generative rules to create an agile environment for delivering projectsSlide7
The Agile Manifesto
a statement of valuesProcess and tools
Individuals and interactions
over
Following a plan
Responding to change
over
Source: www.agilemanifesto.org
Comprehensive documentation
Working software
over
Contract negotiation
Customer collaboration
overSlide8
Simple
Complicated
Anarchy
Complex
Close to
Certainty
Far from
Certainty
Technology
Close to
Agreement
Far from
Agreement
Requirements
Source:
Strategic Management and Organizational Dynamics
by Ralph Stacey
in
Agile Software Development with Scrum
by Ken Schwaber and Mike Beedle.
Project Noise LevelSlide9
Scrum Process Overview
10 - 30
days
24 hours
Product Backlog
As prioritized by Product Owner
Sprint Backlog
Backlog tasks
expanded
by team
Potentially Shippable
Product Increment
Daily Scrum
Meeting
Source: Adapted from
Agile Software Development with Scrum
by Ken Schwaber and Mike Beedle.Slide10
SprintsScrum projects make progress in a series of “sprints”
Analogous to Extreme Programming iterationsTypical duration is 2–4 weeks or a calendar month at mostA constant duration leads to a better rhythmProduct is designed, coded, and tested during the sprintSlide11
Sequential vs. overlapping development
Source: “The New
New
Product Development Game” by Takeuchi and
Nonaka
.
Harvard Business Review,
January 1986.
Rather than doing all of one thing at a time...
...Scrum teams do a little of everything all the time
Requirements
Design
Code
TestSlide12
No changes during a sprint
Plan sprint durations around how long you can commit to keeping change out of the sprint
ChangeSlide13
Scrum framework
Product owner
ScrumMaster
Team
Roles
Sprint planning
Sprint review
Sprint retrospective
Daily scrum meeting
Ceremonies
Product backlog
Sprint backlog
Burndown
charts
ArtifactsSlide14
Scrum framework
Sprint planning
Sprint review
Sprint retrospective
Daily scrum meeting
Ceremonies
Product backlog
Sprint backlog
Burndown
charts
Artifacts
Product owner
ScrumMaster
Team
RolesSlide15
Product owner
Define the features of the productDecide on release date and contentBe responsible for the profitability of the product (ROI)Prioritize features according to market value Adjust features and priority every iteration, as needed Accept or reject work resultsSlide16
The ScrumMaster
Represents management to the projectResponsible for enacting Scrum values and practicesRemoves impediments Ensure that the team is fully functional and productiveEnable close cooperation across all roles and functionsShield the team from external interferencesSlide17
The team
Typically 5-9 peopleCross-functional:Programmers, testers, user experience designers, etc.Members should be full-timeMay be exceptions (e.g., database administrator)Teams are self-organizingIdeally, no titles but rarely a possibilityMembership should change only between sprintsSlide18
storyA chicken and a pig are....Slide19
Product owner
ScrumMaster
Team
Roles
Scrum framework
Product backlog
Sprint backlog
Burndown
charts
Artifacts
Sprint planning
Sprint review
Sprint retrospective
Daily scrum meeting
CeremoniesSlide20
Sprint planning meeting
Sprint prioritization
Analyze and evaluate product backlog
Select sprint goal
Sprint planning
Decide how to achieve sprint goal (design)
Create sprint backlog (tasks) from product backlog items (user stories / features)
Estimate sprint backlog in hours
Sprint
goal
Sprint
backlog
Business conditions
Team capacity
Product backlog
Technology
Current productSlide21
Sprint planning
Team selects items from the product backlog they can commit to completingSprint backlog is createdTasks are identified and each is estimated (1-16 hours)Collaboratively, not done alone by the ScrumMasterHigh-level design is considered
As
a
vacation planner
,
I want to
see photos of the
hotels
so I can
have a better idea of facilities
Priority 4 [10 Story Points]
Code the middle tier (8 hours)
Code the user interface (4)
Write test fixtures (4)
Code the
foo
class (6)
Update performance tests (4)Slide22
The daily scrum
ParametersDaily15-minutesStand-upNot for problem solvingWhole world is invitedOnly team members, ScrumMaster, product owner, can talkHelps avoid other unnecessary meetingsSlide23
Everyone answers 3 questions
These are not status for the ScrumMasterThey are commitments in front of peers
What did you do yesterday?
1
What will you do today?
2
Is anything in your way?
3Slide24
The sprint review
Team presents what it accomplished during the sprintTypically takes the form of a demo of new features or underlying architectureInformal2-hour prep time ruleNo slidesWhole team participatesInvite the worldSlide25
Sprint retrospective
Periodically take a look at what is and is not workingTypically 15–30 minutesDone after every sprintWhole team participatesScrumMasterProduct ownerTeamPossibly customers and othersSlide26
Start / Stop / Continue
Whole team gathers and discusses what they’d like to:Start doing
Stop doing
Continue doing
This is just one of many ways to do a sprint retrospective.Slide27
Product owner
ScrumMaster
Team
Roles
Scrum framework
Sprint planning
Sprint review
Sprint retrospective
Daily scrum meeting
Ceremonies
Product backlog
Sprint backlog
Burndown
charts
ArtifactsSlide28
Product backlog
The requirementsA list of all desired work on the projectIdeally expressed such that each item has value to the users or customers of the product Prioritized by the product owner
Reprioritized at the start of each sprint
This is the product backlogSlide29
A sample product backlog
Priority
Backlog item
Story Point Estimate
1
Allow a guest to make a reservation
3
2
As a guest, I want to cancel a reservation.
5
3
As a guest, I want to change the dates of a reservation.
3
4
As a hotel employee, I can run RevPAR reports (revenue-per-available-room)
8
5
Improve exception handling
8
6
...
30Slide30
The sprint goal
A short statement of what the work will be focused on during the sprint
Database Application
Financial services
Life Sciences
Support features necessary for population genetics studies.
Support more technical indicators than company ABC with real-time, streaming data.
Make the application run on SQL Server in addition to Oracle.Slide31
Managing the sprint backlog
Individuals sign up for work of their own choosingWork is never assignedEstimated work remaining is updated dailyAny team member can add, delete or change the sprint backlogWork for the sprint emergesIf work is unclear, define a sprint backlog item with a larger amount of time and break it down laterUpdate work remaining as more becomes knownSlide32
A sprint backlog
TasksCode the user interface
Code the middle tier
Test the middle tier
Write online help
Write the
foo
class
Mon
8
16
8
12
8
Tues
4
12
16
8
Wed
Thur
4
11
8
4
Fri
8
8
Add error logging
8
10
16
8
8Slide33
A sprint
burndown chart HoursSlide34
Hours
40
30
20
10
0
Mon
Tue
Wed
Thu
Fri
Tasks
Code the user interface
Code the middle tier
Test the middle tier
Write online help
Mon
8
16
8
12
Tues
Wed
Thur
Fri
4
12
16
7
11
8
10
16
8
50Slide35
Team VelocityOver a number of sprints you will see how many story points you can achieve – the velocity
This allows you to predict delivery times based on number of story points outstandingREMEMBER – one team’s story point is not the same as anothers Slide36
Scalability
Typical individual team is 7 ± 2 peopleScalability comes from teams of teamsFactors in scalingType of applicationTeam sizeTeam dispersionProject durationScrum has been used on multiple 500+ person projectsSlide37
Scaling through the Scrum of scrumsSlide38
Scrum of scrums of scrumsSlide39
Tools for ScrumPostcards & Post-Its
Scrum boardImage Source: http://www.crisp.se/henrik.kniberg/ScrumAndXpFromTheTrenches.pdfSlide40
Tools for ScrumOften need to record the sprint progress
Digital CameraExcel However we also want toLink to development tools such as TFSSupport remote development teamsSlide41
Scrum and TFSThere are at least three Scrum Process Guidance Templates
Conchango’s Scrum for Team SystemMicrosoft’s eScrumVSTS Scrum Process Template from CodePlexSlide42
demo
eScrumSlide43Slide44Slide45Slide46Slide47Slide48Slide49Slide50
Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time.
It allows us to rapidly and repeatedly inspect actual working software (every two weeks to one month).The business sets the priorities. Teams self-organize to determine the best way to deliver the highest priority features.
Every two weeks to a month anyone can see real working software and decide to release it as is or continue to enhance it for another sprint.
Scrum in 100 wordsSlide51
Where to go next
www.scrumalliance.orgwww.controlchaos.comscrumdevelopment@yahoogroups.comwww.mountaingoatsoftware.com/scrumSlide52
A Scrum reading list
Agile and Iterative Development: A Manager’s Guide by Craig LarmanAgile Estimating and Planning by Mike CohnAgile Project Management with Scrum by Ken SchwaberAgile Retrospectives by Esther Derby and Diana LarsenAgile Software Development Ecosystems
by Jim
Highsmith
Agile Software Development with Scrum
by Ken
Schwaber
and
Mike
Beedle
Scrum and The Enterprise
by Ken
SchwaberUser Stories Applied for Agile Software Development by Mike CohnLots of weekly articles at www.scrumalliance.orgSlide53
For Further Information
My random thoughts ‘But it works on my PC!’ http://blogs.blackmarble.co.uk/blogs/rfennellYou can also get in touch via: Email – richard@blackmarble.co.uk WebSite
– www.blackmarble.co.ukSlide54
Copyright notice
You are free:to Share―to copy, distribute
and
transmit the work
to Remix―to adapt the work
Under the following conditions
Attribution. You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).
Nothing in this license impairs or restricts the author’s moral rights.
For more information see
http://creativecommons.org/licenses/by/3.0/