48
Scrum SWI MM3 1

Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

Embed Size (px)

Citation preview

Page 1: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

ScrumSWI MM3

1

Page 2: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

Agenda

• Scrum Origins

• Scrum Overview

• Team and Roles

• Sprints

• Daily Scrum

• Backlogs

2

Page 3: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

Scrum originsTakeuchi & Nonaka

3

Page 4: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

Takeuchi, Hirotaka and Nonaka, Ikujiro. 1986. The new new product development game. Harvard Business Review 64:1:137-146 (Jan/Feb), reprint no. 86116.

Takeuchi, Hirotaka and Nonaka, Ikujiro. 1995. The Knowledge-Creating Company : How Japanese companies create the dynamics of innovation. New York, Oxford University Press.

Takeuchi, Hirotaka and Nonaka, Ikujiro. 2004. Hitotsubashi on Knowledge Management. Singapore: John Wiley & Sons (Asia).

4

Godfathers of Scrum:Hirotaka Takeuchi and Ikujiro Nonaka

jeffsutherland.com/scrum

Page 5: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

• Historical assumption is that high quality, product variety, and low cost cannot be achieved simultaneously.

• Toyota production system is based on totally different way of thinking.

• Through knowledge creation by synthesis of contradictions, Toyota pushes the envelope.

• High quality, high variety, and low cost all at once.

5

Toyota synthesis of constraints

jeffsutherland.com/scrum

Page 6: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

Hirotaka Takeuchi and Ikujiro Nonaka, “The New New Product Development Game”, Harvard

Business Review, January 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.”

6

We’re losing the relay race

Mountain Goat Software, LLC!

Page 7: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

Type A – Isolated cycles of work

Type B – Overlapping work

Type C – All at once

The overlapping of phases does away with traditional notions about division of labor. Takeuchi and Nonaka (1986)

NASA Waterfall

Fuji-Xerox Scrum

Honda Scrum

Requirements Analysis Design Implementation Testing

7

Project Management Styles

jeffsutherland.com/scrum

Page 8: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

8

Rugby ScrumStart

GoalA small group is responsible for picking up the ball and moving it toward the goal.

Page 9: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

• Intended strategy is developed centrally. Emergent strategy self-organizes through local actions.–Distributed cognition and actions

• Scrum team must be allowed to self-organize–Autonomous–Transcendent–Cross-fertilization

• Team chooses own work–Individuals manage their own work–Management gets out of the way

9

Breaking down command and control

jeffsutherland.com/scrum

Page 10: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

Scrum Overview

10

Page 11: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

• Microsoft• Yahoo• Google• Electronic Arts• High Moon Studios• Lockheed Martin• Philips• Siemens• Nokia• Capital One• BBC• Intuit

• Intuit• Nielsen Media• First American Real Estate• BMC Software• Ipswitch• John Deere• Lexis Nexis• Sabre• Salesforce.com• Time Warner• Turner Broadcasting• Oce

11

Scrum has been used by:

Mountain Goat Software, LLC!

Page 12: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

• 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

• the 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 use

12

Scrum has been used for:

Mountain Goat Software, LLC!

Page 13: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

• Individual self-organizes work

• Team self-organizes around goals

• Architecture self-organizes around working code

• Product emerges through iterative adaptation

• Requires participative approach as opposed to authoritative approach

• Flat organizational structure

13

Local action forces self-organization

jeffsutherland.com/scrum

Page 14: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

30 days

24 hours

Product BacklogAs prioritized by Product Owner

Sprint Backlog

Backlog tasksexpandedby team

Potentially ShippableProduct Increment

Daily ScrumMeeting

Scrum Lifecycle

14

Page 15: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

• Everyone in same location

• Open space without barriers

• Meeting facilities adjacent

• White boards

• Speaker phone

• Maximized communications

15

Environment

jeffsutherland.com/scrum

Page 16: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

When all the team members are located in one large room, someones information becomes yours, without even trying.” Fuji-Xerox in Takeuchi and Nonaka (1986).

16

Breaking down the cube walls

jeffsutherland.com/scrum

Page 17: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

• Product owner• Scrum Master• Team

Roles

• Sprint planning• Sprint review• Sprint retrospective• Daily scrum meeting

Ceremonies

• Product backlog• Sprint backlog• Burndown charts

Artifacts

17

Scrum framework

Mountain Goat Software, LLC!

Page 18: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

Team and Roles

18

Page 19: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

• Sprint planning• Sprint review• Sprint retrospective• Daily scrum meeting

Ceremonies

• Product backlog• Sprint backlog• Burndown charts

Artifacts

• Product owner• Scrum Master• Team

Roles

19

Scrum framework

Mountain Goat Software, LLC!

Page 20: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

• Define the features of the product• 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 for every

iteration, as needed  • Accept or reject work results

20

Product owner

Mountain Goat Software, LLC!

Page 21: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

• One person in this role ensures that only one set of requirements drives development

• Can be influenced by committees, management, customers, sales people, but is the only person that prioritizes

• Works with others to estimate items on Product Backlog

• Eliminates confusion of multiple bosses, different opinions, and interference

21

Product Owner

Page 22: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

• 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

22

The Scrum Master

Mountain Goat Software, LLC!

Page 23: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

• Cross-functional:

• Programmers, testers, user experience designers, etc.

• Members should be full-time

• May be exceptions (e.g., database administrator)

• Teams are self-organizing

• Ideally, no titles but rarely a possibility

• Membership should change only between sprints

23

The team

Mountain Goat Software, LLC!

Page 24: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

How Big is a Team?

• Typically 5-10 people

• Mike Cohn has led teams of 100+

• Ken Schwaber has led teams of 600+

• Obviously, very large teams are a very special case

• “Scrum of Scrums” technique

24

Page 25: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

25

Scaling through the Scrum of scrums

Mountain Goat Software, LLC!

Page 26: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

26

Scrum of scrums of scrums

Mountain Goat Software, LLC!

Page 27: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

Sprints

27

Page 28: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

• Product owner• ScrumMaster• Team

Roles

• Product backlog• Sprint backlog• Burndown charts

Artifacts

• Sprint planning• Sprint review• Sprint retrospective• Daily scrum meeting

Ceremonies

28

Scrum framework

Mountain Goat Software, LLC!

Page 29: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

• A fixed period of 30 days to develop a deliverable product

• The Sprint includes design, coding, testing, and documentation

• Once a Sprint has started only the Scrum Team can add or remove items in Sprint backlog

• Abnormal termination of Sprint is called for when the Sprint Goal no longer makes sense

29

Sprint

Page 30: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

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

Technology

Current product

30Mountain Goat Software, LLC!

Page 31: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

• 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.

31

The sprint goal

Mountain Goat Software, LLC!

Page 32: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

• Team presents what it accomplished during the sprint

• Typically takes the form of a demo of new features or underlying architecture

• Informal–2-hour prep time rule–No slides

• Whole team participates• Invite the world

32

The sprint review

Mountain Goat Software, LLC!

Page 33: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

• Periodically take a look at what is and is not working

• Typically 15–30 minutes• Done after every sprint• Whole team participates

–ScrumMaster–Product owner–Team–Possibly customers and others

33

Sprint retrospective

Mountain Goat Software, LLC!

Page 34: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

Daily Scrum

34

Page 35: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

• Parameters–Daily–15-minutes–Stand-up

• Not for problem solving–Whole world is invited–Only team members, ScrumMaster, product owner, can

talk

• Helps avoid other unnecessary meetings

35

The daily scrum

Mountain Goat Software, LLC!

Page 36: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

• These are not status for the ScrumMaster–They are commitments in front of peers

What did you do yesterday?1

What will you do today?2

Is anything in your way?3

36

Everyone answers 3 questions

Mountain Goat Software, LLC!

Page 37: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

InadvancedScrums,theseareautomated.

37

Daily Scrum Taskboard

jeffsutherland.com/scrum

Page 38: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

Backlogs

38

Page 39: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

• Product owner• ScrumMaster• Team

Roles

• Sprint planning• Sprint review• Sprint retrospective• Daily scrum meeting

Ceremonies

• Product backlog• Sprint backlog• Burndown charts

Artifacts

39

Scrum framework

Mountain Goat Software, LLC!

Page 40: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

• The requirements• A list of all desired work on the project

• Ideally 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 backlog

40

Product backlog

Mountain Goat Software, LLC!

Page 41: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

Backlog item Estimate

Allow a guest to make a reservation 3

As 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

41

A sample product backlog

Mountain Goat Software, LLC!

Page 42: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

• Individuals sign up for work of their own choosing–Work is never assigned

• Estimated work remaining is updated daily• Any team member can add, delete or change the sprint

backlog• Work for the sprint emerges• If work is unclear, define a sprint backlog item with a

larger amount of time and break it down later• Update work remaining as more becomes known

42

Managing the sprint backlog

Mountain Goat Software, LLC!

Page 43: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

TasksCode the user interface

Code the middle tier

Test the middle tier

Write online help

Write the foo class

Mon8

16

8

12

8

Tues4

12

16

8

Wed Thur

4

11

8

4

Fri

8

8

Add error logging

8

10

16

8

8

43Mountain Goat Software, LLC!

Page 44: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

Hou

rs

40

30

20

10

0Mon Tue Wed Thu Fri

TasksCode the user interface

Code the middle tier

Test the middle tier

Write online help

Mon8

16

8

12

Tues Wed Thur Fri4

12

16

7

11

8

10

16 8

50

44Mountain Goat Software, LLC!

Page 45: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

0

200

400

600

800

1.000

Hou

rs

45

A sprint burndown chart

Mountain Goat Software, LLC!

Page 46: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

Scrum and Innovation

46

Page 47: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

30 days

24 hours

Product BacklogAs prioritized by Product Owner

Sprint Backlog

Backlog tasksexpandedby team

Potentially ShippableProduct Increment

Daily ScrumMeeting

Can we make Scrum innovative?

47

• Product owner• Scrum Master• Team

Roles

• Product backlog• Sprint backlog• Burndown charts

Artifacts

Ceremonies

Scrum team must be self-organizing project teams• Autonomy• Self-transcendence• Cross-fertilization

Page 48: Scrum - Aalborg Universitetpeople.cs.aau.dk/~ivan/SWI/SWI03Scrum.pdf · The Scrum Master Mountain Goat Software,

• Slides marked

• are by Mike Cohn and found on www.mountaingoatsoftware.com

• Slides marked

• are by Jeff Sutherland

Acknowledgements

48

Mountain Goat Software, LLC!

jeffsutherland.com/scrum