36
An Introduction to SCRUM Manuel Bernal Development Manager Tiempo Development, LLC Ph: +1(602)910-4647 • Cell: +1 521(662)290-0854 Email: [email protected] 4/13/2011 1 2010- Tiempo Development, LLC. all Rights Reserved

An introduction to scrum 2.0

  • Upload
    itson

  • View
    4.935

  • Download
    3

Embed Size (px)

DESCRIPTION

Conferencia "SCRUM para el desarrollo web" por Manuel Bernal en el SIMPOSIO de Computación y Diseño.

Citation preview

Page 1: An introduction to scrum 2.0

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

Page 2: An introduction to scrum 2.0

24/13/2011

“The only constant is change”

Jack Welch, Former GE CEO

Page 3: An introduction to scrum 2.0

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

Page 4: An introduction to scrum 2.0

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

Page 5: An introduction to scrum 2.0

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

Page 6: An introduction to scrum 2.0

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

Page 7: An introduction to scrum 2.0

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

Page 8: An introduction to scrum 2.0

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

Page 9: An introduction to scrum 2.0

Scrum Overview

CancelGift wrap

Return

Sprint2-4 weeks

Return

Sprint goal

Sprint backlog Potentially shippable

product increment

Productbacklog

CouponsGift wrapCoupons

Cancel

24 hours

Page 10: An introduction to scrum 2.0

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

Page 11: An introduction to scrum 2.0

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

Page 12: An introduction to scrum 2.0

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

Page 13: An introduction to scrum 2.0

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

Page 14: An introduction to scrum 2.0

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

Page 15: An introduction to scrum 2.0

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

Page 16: An introduction to scrum 2.0

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

Page 17: An introduction to scrum 2.0

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

Page 18: An introduction to scrum 2.0

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

Page 19: An introduction to scrum 2.0

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

Page 20: An introduction to scrum 2.0

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

Page 21: An introduction to scrum 2.0

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

Page 22: An introduction to scrum 2.0

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

Page 23: An introduction to scrum 2.0

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

Page 24: An introduction to scrum 2.0

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

Page 25: An introduction to scrum 2.0

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

Page 26: An introduction to scrum 2.0

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

Page 27: An introduction to scrum 2.0

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

Page 28: An introduction to scrum 2.0

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

Page 29: An introduction to scrum 2.0

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

Page 30: An introduction to scrum 2.0

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

Page 31: An introduction to scrum 2.0

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.

Page 32: An introduction to scrum 2.0

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

Page 33: An introduction to scrum 2.0

33

Sprint Retrospective

4/13/2011

• Whole team gathers and discusses what they’d like to:

Start doing

Stop doing

Continue doing

Page 34: An introduction to scrum 2.0

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

Page 35: An introduction to scrum 2.0

Some portions of this presentation where taken from the distributable introduction to Scrum of Mountain Goat Software.