Upload
itson
View
4.935
Download
3
Tags:
Embed Size (px)
DESCRIPTION
Conferencia "SCRUM para el desarrollo web" por Manuel Bernal en el SIMPOSIO de Computación y Diseño.
Citation preview
1
An Introduction to SCRUM
Manuel BernalDevelopment Manager
Tiempo Development, LLCPh: +1(602)910-4647 • Cell: +1 521(662)290-0854
Email: [email protected]
4/13/2011© 2010- Tiempo Development, LLC. all Rights Reserved
24/13/2011
“The only constant is change”
Jack Welch, Former GE CEO
3
Agile Manifesto
4/13/2011
Individuals and interactions
Processes and toolsOver
Working software Comprehensive documentationOver
Customer collaboration
Contract negotiationOver
Responding to change
Following a planOver
Source: www.agilemanifesto. org
4
Agile Principles• Welcome change
– Our project is constantly changing– Optimize the project around that environment
• Working software is the primary measure of progress– Nothing is complete until we have working software
• “Just Enough” Process and Artifacts– Sufficient to achieve iteration goals and readily maintain the results
• Self-Organizing Teams– The team actively participates in managing the iteration– Teams develop low level plans to achieve iteration goals
• Knowledge transfer via conversation . . .– Is the most effective communication method, written words /
Models leave too much open to interpretation• Collective Ownership4/13/2011 Source: Scaling Software Agility – Best Practices for Large Enterprises by Dean Leffingwell
5
SCRUM’s Definitions• Scrum is an agile Process that allows us to focus
on delivering the highest business value in the shortest time. (Mike Cohn, Mountain Goat Software)
• Scrum is an iterative, incremental framework for project management and agile software development. (Wikipedia).
• Scrum is a Framework that let us create Software focused in both business needs and business changes in the shortest period of time. (Myself)
4/13/2011
6
SCRUM Origins • Jeff Sutherland– The first software development Scrum was created
at Easel Corporation in 1993• Ken Schwaber– Wrote the first article about SCRUM at *OOPSLA96.
http://cf.agilealliance.org/articles/system/article/file/786/file.pdf
• Ken Schwaber and Mike Cohn– Co-founded Scrum Alliance in 2002, initially within
the Agile Alliance4/13/2011
*Object-Oriented Programming, Systems, Languages, and Applications Conference
7
Scrum has been used by:
4/13/2011
•Microsoft•Yahoo•Google•Electronic Arts•Lockheed Martin•Philips•Siemens•Nokia•IBM•Capital One•BBC
•Intuit•Nielsen Media•First American Real Estate•BMC Software•Ipswitch•John Deere•Lexis Nexis•Sabre•Salesforce.com•Time Warner•Turner Broadcasting•Oce
8
Scrum has been used for:
4/13/2011
• Commercial software• In-house development• Contract development• Fixed-price projects• Financial applications• ISO 9001-certified
applications• Embedded systems• 24x7 systems with 99.999%
uptime requirements
• 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 use
Scrum Overview
CancelGift wrap
Return
Sprint2-4 weeks
Return
Sprint goal
Sprint backlog Potentially shippable
product increment
Productbacklog
CouponsGift wrapCoupons
Cancel
24 hours
10
Sprints• The heart of Scrum is a Sprint• Normally contains
– Sprint planning meeting.– Development work.– The sprint review.– Sprint retrospective
• Sprints should occur one after another, without time between sprints
• Scrum projects make progress in a series of “sprints”• Typical duration is 2–4 weeks or a calendar month at
most• Product is designed, coded, and tested during the sprint4/13/2011
Shippable
SPRINT
Shippable
Sequential vs. overlapping development
4/13/2010 11
Source: “The 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 Test
SPRINT
12
Changes during the Sprint
4/13/2011
Shippable
SCRUM Master
SPRINT
The Scrum Master ensures that no changes are made that would affect the sprint goal
Changes
13
Scrum Framework
Roles
Product Owner
Scrum Master
Team
Artifacts
Product backlog
Sprint Backlog
Burn Down Charts
Ceremonies
Sprint Planning
Sprint Review
Sprint Retrospective
Daily Scrum Meeting
4/13/2011
14
Scrum Framework
Roles
Product Owner
Scrum Master
Team
Artifacts
Product backlog
Sprint Backlog
Burn Down Charts
Ceremonies
Sprint Planning
Sprint Review
Sprint Retrospective
Daily Scrum Meeting
4/13/2011
15
Product Owner• Define the features of the product– Product Backlog owner
• Decide on release date and content
• Be 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 results
• He can cancel an Sprint.4/13/2011
16
Scrum Master• Represents management to the project• Responsible for enacting Scrum values and practices• Removes impediments • Ensure that the team is fully functional and
productive• Enable close cooperation across all roles and
functions• Shield the team from external interferences • A Scrum Master should never be the Product owner
4/13/2011
17
Team• Typically 7 people (+/- 2)• Cross-functional team:• Teams are self-organizing• Membership should change only between
sprints• Turns the product backlog into increments
of potentially shippable functionality• Show the deliverables to the product owner
4/13/2011
18
Scrum Framework
Roles
Product Owner
Scrum Master
Team
Artifacts
Product backlog
Sprint Backlog
Burn Down Chart
Ceremonies
Sprint Planning
Sprint Review
Sprint Retrospective
Daily Scrum Meeting
4/13/2011
19
Product Backlog• Is the list of requirements per product.• Is dynamic and in constantly evolution. (alive
document)• Prioritized by the product owner– Risk, value, and necessity.
• Reprioritized at the start of each sprint.• Product Backlogs items are usually stated as
user stories.• Should take around 10% of each sprint to
review the product backlog.4/13/2011
20
Product Backlog Sample
4/13/2011
Backlog item EstimateAllow a guest to make a reservation 3As a guest, I want to cancel a reservation. 5
As a guest, I want to change the dates of a reservation. 3
As a hotel employee, I can run RevPAR reports (revenue-per-available-room)
8
Improve exception handling 8... 30... 50
21
Sprint Backlog• Consists of the tasks the Team performs to
turn Product Backlog items into a “done” increment.• It is developed during the Sprint Planning
Meeting.• It is all of the work that the Team identifies as
necessary to meet the Sprint goal.• One day or less is a usual size for a Sprint
Backlog item that is being worked on.• Only the Team can change its Sprint Backlog
during a Sprint4/13/2011
The sprint Goal•A short statement of what the work will be focused on during the sprint
4/13/2011
22
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. Financial services
Life Sciences
Database Application
23
Sprint Backlog sample
4/13/2011
TasksTasksCode the user interface
Code the middle tier
Test the middle tier
Write online help
Write the food class
MonMon8
16
8
12
8
TuesTues4
12
16
8
WedWed ThurThur
4
11
8
4
FriFri
8
8
Add error logging
8
10
16
8
8
24
Sprint Burndown Chart• Is a graph of the amount of Sprint Backlog
work remaining in a Sprint across time in the Sprint
4/13/2011
254/21/2010
Hou
rs
40
30
20
10
0 Mon Tue Wed Thu Fri
TasksTasksCode the user interfaceCode the middle tierTest the middle tierWrite online help
MonMon8
168
12
TuesTues WedWed ThurThur FriFri4
1216
711
81016 8
50
26
Scrum Framework
Roles
Product Owner
Scrum Master
Team
Artifacts
Product backlog
Sprint Backlog
Burn Down Charts
Ceremonies
Sprint Planning
Sprint Review
Sprint Retrospective
Daily Scrum Meeting
4/13/2011
274/13/2011
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
Sprintgoal
Sprintbacklog
Business conditions
Team capacity
Product backlog
Techno-logy
Current product
28
Sprint Planning Meeting• Is when the iteration is planned.• It is time-boxed to eight hours for a one month Sprint.• “What?”– the Product Owner presents the top priority Product Backlog
to the Team• “How”– the Team figures out how it will turn the Product Backlog
selected during Sprint Planning Meeting (What) into a done increment
• a Sprint Goal is crafted.• Usually, only 60-70% of the total Sprint Backlog will be
devised in the Sprint Planning meeting. The rest is stubbed out for later detailing, or given large estimates that will be decomposed later in the Sprint.
4/13/2011
29
Daily Scrum Meeting
4/13/2011
• Parameters– Daily– 15-minutes– Stand-up
• Not for problem solving.• Only team members, Scrum Master, product owner, can
talk• Improve communications .• Eliminate other meetings, identify and remove
impediments to development
30
Daily Scrum Meeting 3 questions
4/13/2011
1• What did you do, since last daily
meeting?
2• What will you do today?
3• Is there a roadblock on your way?
These are not status for the Scrum
MasterThey are commitments in front of
peers
31
Sprint Review
4/13/2011
•This is a four hour time-boxed meeting for one month Sprints. •Team presents what it accomplished during the
sprint• Typically takes the form of a demo of new features
or underlying architecture• The Product Owner identifies what has been done
and what hasn’t been done.• The Team discusses what went well during the Sprint
and what problems it ran into, and how it solved these problems.
32
Sprint Retrospective
4/13/2011
• After the Sprint Review and prior to the next Sprint Planning meeting
• This is a three hour, time-boxed meeting for monthly Sprints
• At this meeting, the Scrum Master encourages the Scrum Team to revise, within the Scrum process framework and practices, its development process to make it more effective and enjoyable for the next Sprint
33
Sprint Retrospective
4/13/2011
• Whole team gathers and discusses what they’d like to:
Start doing
Stop doing
Continue doing
34
What we had done, so far.
4/13/2011
• We started to implement SCRUM since May 2008.• We had applied to 46 project.• 83% Microsoft.• 6 % Java.• 5 % MS CRM• 5 % PHP.• 1 % Others
• We had ran 265 Sprints.• Create Tiempo Quality System(TQS) SCRUM + CMMI
Some portions of this presentation where taken from the distributable introduction to Scrum of Mountain Goat Software.
36
SCRUM’s Reference• http://www.scrumalliance.org/• http
://www.mountaingoatsoftware.com/topics/scrum.
• www.controlchaos.com
4/13/2011