keynote meettheexperts@codecentric ken schwaber

27
Copyright 1993-2010, ADM, All Rights Reserved v1.4 1 State of Scrum [email protected]

Upload: codecentric-ag

Post on 10-May-2015

1.198 views

Category:

Technology


1 download

DESCRIPTION

A presentation by Ken Schwaber (@kwschaber) at the meettheexperts@codecentric event in Solingen, Germany on June, 18th.

TRANSCRIPT

Page 1: Keynote meettheexperts@codecentric Ken Schwaber

Copyright 1993-2010, ADM, All Rights Reserved v1.4

1

State of Scrum

[email protected]

Page 2: Keynote meettheexperts@codecentric Ken Schwaber

Copyright 1993-2010, ADM, All Rights Reserved v1.4

2ROI of Software Products

Traditional software accounting only takes the cost of

development into account.

A more balanced method would take the long term costs

and value of the product into account.

We should also take into account the impact of short

term decisions on long term ROI

Page 3: Keynote meettheexperts@codecentric Ken Schwaber

Copyright 1993-2010, ADM, All Rights Reserved v1.4

3

Product ROI over the life of a product is dependent on the variables:

1. Presence of valuable functionality for customers to use;

2. Absence of low value functionality that must be maintained

and sustained regardless;

3. Quality code base to predictably maintain and sustain;

4. Quality code base to enhance without undue effort or risk;

5. Ability to catch defects early and no later than at release;

6. Predictability of schedules;

7. Lack of surprises; and,

8. People and resources available to work on it.

Page 4: Keynote meettheexperts@codecentric Ken Schwaber

Copyright 1993-2010, ADM, All Rights Reserved v1.4

1. I can readily understand the software and where and how things

happen;

2. When I change or add to part of the software, there are no unintended

or poorly designed dependencies;

3. I can read the code without looking for tricks or poorly defined and

labelled variables or data;

4. I don!t need the person(s) that wrote the code to explain it to me;

5. There are a full set of (automated) tests to check that the function

works as expected;

6. When I change something and add to the tests, I can check that the

entire change and product continues to work;

7. How things work and hang together is tranparent; and,

8. Standard, well-known design principles have been adhered to.

4Quality from a Developer Point of View

Page 5: Keynote meettheexperts@codecentric Ken Schwaber

Copyright 1993-2010, ADM, All Rights Reserved v1.4

5Green Field Software - A Great Starting Point

Time

ProductBacklog(work)

Velocity (done work over time)

Page 6: Keynote meettheexperts@codecentric Ken Schwaber

Copyright 1993-2010, ADM, All Rights Reserved v1.4

The Assignment:

• What work would you have to do to

turn the requirements into a “done”

increment?

• If you were developing a “done”,

potentially shippable increment,

what would your definition of “done”

be? Would it include, for example,

refactoring? What else?

The Situation:

• You are a developer at xyz.co, building

advanced life-critical products.

• Your Scrum team is one of seven teams

working on a new release of one of the

products.

• Your team is going to select requirements

(product backlog) to turn into something that

is done (no more work remains, potentially

shippable) within a two-week iteration.

• Each team has all the skills to fully develop

the requirements into a “done increment.”

6Exercise : Five Minutes with Three People Near You

Page 7: Keynote meettheexperts@codecentric Ken Schwaber

Copyright 1993-2010, ADM, All Rights Reserved v1.4

Did your definition of “done” include the following?

If not, why not?

• Performance testing

• Stability testing

• Refactoring

• Immunological response testing

• Integration with the work of the other six teams

• Integration testing with the work of the other six teams so the

increment is the totality of all seven teams

• Release notes

• Internationalization to the six cultures where the product will be sold

• User acceptance testing

• Regression testing

• Code reviews

Next Exercise : Five Minutes with Three People Near You

7

Page 8: Keynote meettheexperts@codecentric Ken Schwaber

Copyright 1993-2010, ADM, All Rights Reserved v1.4

8

Planning P D SDevelopment Stabilization

Scrum Project with complete, itegrated “done”

Scrum project with incomplete or variable “done”

P PPP P DD D DD S

S

P

Stabilization is when you do all the “undone” work

PPP PD D DDP

Undone Undone Undone Undone

Page 9: Keynote meettheexperts@codecentric Ken Schwaber

Copyright 1993-2010, ADM, All Rights Reserved v1.4

9

RCPP PD DD

Plan... 9 Sprints, 3 release candidates and then release.

800 person development organization.

RCPP PD DD RCPP PD DD Release

Actual ... the release candidates were presentation of partially working

functionality from the code branch for each team. A five+ month stabilization

was required prior to release.

“Inadequate performance” was a bug logged in the first Sprint.

RCPP PD DD RCPP PD DD RCPP PD DD ReleaseStabilization

Page 10: Keynote meettheexperts@codecentric Ken Schwaber

Copyright 1993-2010, ADM, All Rights Reserved v1.4

10

• 120 people, 18 Scrum teams

• Release 1 : Each team produced “done” increments each Sprint, but they

were not integrated or integration tested until “code complete.”

• Release 2: All teams produced an increment of integrated, integration tested

code every Sprint.

Time

Defects

in Release

Release 1

Planned Release

Date

Release 2

Page 11: Keynote meettheexperts@codecentric Ken Schwaber

Copyright 1993-2010, ADM, All Rights Reserved v1.4

11Consequences of low value software to developers

Core Functionality

Most significant new functionality builds on it;

Also called infrastructure and legacy software;

Is fragile, doesn!t have complete test harnesses, and few people still know how to or are willing to touch it; and,

Requires more time to work on; velocity working on it is less than new work.

Time

ProductBacklog New

Functionality

Core Functionality

Page 12: Keynote meettheexperts@codecentric Ken Schwaber

Copyright 1993-2010, ADM, All Rights Reserved v1.4

12

Where does core functionality come from? Is it

bought from a malicious competitor?

Time

Product Backlog

Done Velocity = 18

Undone Velocity = 36

Release 1

Time

Product Backlog

Done Velocity = 14

Undone Velocity = 30

Release 2

Page 13: Keynote meettheexperts@codecentric Ken Schwaber

Copyright 1993-2010, ADM, All Rights Reserved v1.4

13

Or, do we built it ourselves??

Time

Product Backlog

Done Velocity = 8

Undone Velocity = 22

Release 3

65 7

Release 8

Page 14: Keynote meettheexperts@codecentric Ken Schwaber

Copyright 1993-2010, ADM, All Rights Reserved v1.4

14

What are the smells a

dying piece of software?

What are the

consequences to the

organization?

Velocity in Core

0

500

1000

1500

2000

1 2 3 4 5 6

New Requirements Capability

Req

uir

em

en

ts

Year

Page 15: Keynote meettheexperts@codecentric Ken Schwaber

Copyright 1993-2010, ADM, All Rights Reserved v1.4

15Exercise - your CEO comes to your development group. She tells you

it is mandatory to deliver three new pieces of functionality within three

Sprints. Otherwise, competitors will decimate the company.

Planned work consists of:

1. Function 1: 20 units of work, 15 new, 5 core

2. Function 2: 40 units of work, 25 new, 15 core

3. Function 3: 30 units of work, 20 new, 10 core

• Velocity for new functionality is 15 units of work per Sprint per team.

• Velocity for core functionality is 5 units of work per Sprint total.

You need a release with all three functions in three months.

Can do you do? Can you save the company?

Page 16: Keynote meettheexperts@codecentric Ken Schwaber

Copyright 1993-2010, ADM, All Rights Reserved v1.4

16

Copyright 2010, Scrum.org, All Rights Reserved

The Scrum Framework is lightweight and full of holes

13

Page 17: Keynote meettheexperts@codecentric Ken Schwaber

Copyright 1993-2010, ADM, All Rights Reserved v1.4

“There's a mess I've heard about with quite a few projects recently. It works out like this:

• They want to use an agile process, and pick Scrum

• They adopt the Scrum practices, and maybe even the principles

• After a while progress is slow because the code base is a mess

What's happened is (people using Scrum) haven't paid enough attention to the internal

quality of their software (…) I've mentioned Scrum because when we see this problem,

Scrum seems to be particularly common as the nominative process the team is following

(…) because Scrum is process that's centered on project management techniques and

deliberately omits any technical practices.

I'm sure that the many Flaccid Scrum projects being run will harm Scrum's reputation, and

probably the broader agile reputation as well.”

– Martin Fowler, January 2009

17

Source: http://martinfowler.com/bliki/FlaccidScrum.html

Martin Fowler Calls Scrum “Flaccid” 14

Page 18: Keynote meettheexperts@codecentric Ken Schwaber

Copyright 1993-2010, ADM, All Rights Reserved v1.4

18

“BY EARLY 2009, … MORE ORGANIZATIONS WERE USING AGILE PROCESSES THAN WATERFALL PROCESSES … HOWEVER, LESS THAN 50% OF THOSE USING SCRUM WERE DEVELOPING IN INCREMENTAL ITERATIONS, WHICH ARE THE HEARTBEAT OF SCRUM.

ONE OF THE BIGGEST CHALLENGES OF USING SCRUM HAS ALWAYS BEEN THE STEEP LEARNING CURVE FOR THE DEVELOPERS ON THE SCRUM TEAM.”

-- JEFF SUTHERLAND, KEN SCHWABER, MARCH 2010

Page 19: Keynote meettheexperts@codecentric Ken Schwaber

Copyright 1993-2010, ADM, All Rights Reserved v1.4Copyright 1993-2010, ADM, All Rights Reserved v1.3

19

Page 20: Keynote meettheexperts@codecentric Ken Schwaber

Copyright 1993-2010, ADM, All Rights Reserved v1.3

20

12/10/08 Copyright 2008-2009 ScrumAlliance, All Rights Reserved v1.1

Mother-In-Law

The person who knew that her son/daughter could have married better, and who intends to help you be good enough. You have

just invited her to come live with you.

Page 21: Keynote meettheexperts@codecentric Ken Schwaber

Copyright 1993-2010, ADM, All Rights Reserved v1.3

21However,

When they use Scrum, they run into ScrumButs.

ScrumButs are reasons why they can!t take full advantage of Scrum to solve the problems and realize the benefits.

A ScrumBut has a particular syntax:

(ScrumBut) (Reason)(Workaround)

An example ScrumBut is:

“We use Scrum, but (The Daily Scrum meetings are too much

overhead) (because the team members don!t need to meet so

often) (so we only have them once a week, unless we need them

more often)”

Page 22: Keynote meettheexperts@codecentric Ken Schwaber

Copyright 1993-2010, ADM, All Rights Reserved v1.3

22Or, Scrum-Ban (Ban Scrum)

1. Iterations not required ...

continuous flow.

2. Interruptions as needed for

new work.

3. Functional specialization

with functional managers.

4.Managers design and

define work; workers pull and

do work.

5.Optimizes return on

investment, not value.

6. Appropriate for

manufacturing, complicated

scenarios.

7. Fancy version of waterfall.

8. Used when Scrum is too

hard to use.

Page 23: Keynote meettheexperts@codecentric Ken Schwaber

Who, me?!

23

Copyright 2010, Scrum.org, All Rights Reserved

17

Page 24: Keynote meettheexperts@codecentric Ken Schwaber

Learn about Scrum

Get your teams hands-on Scrum training

Measure their understanding

Set a bar

Learn about Scrum

Get hands-on Scrum training

Measure your understanding

Pass it on

“But I’m a developer,

not a manager!”

“But I’m a manager,

not a developer!”

Copyright 2010, Scrum.org, All Rights Reserved

What are you going to do about it?24

Page 25: Keynote meettheexperts@codecentric Ken Schwaber

Improving the Profession of Software DevelopmentThe Purpose of Scrum.org

Maintain Scrum

Create and maintain bodies of

knowledge on which to train and assess people for the betterment of

software development.

O!er Training

Work with experts in various

technologies and fields to create a deliver courses that meet the needs of the

software development profession.

Continuously monitor quality.

Assess Knowledge

O!er rigorous assessments to allow people to evaluate their

abilities so they are able to improve.

25

Copyright 2010, Scrum.org, All Rights Reserved

19

Page 26: Keynote meettheexperts@codecentric Ken Schwaber

Introducing theProfessional Scrum Developer Program

• An innovate program for developers

" from Adrena, CodeCentric, Microsoft, Zuehlke, Pyxis, and the founders of Scrum

• Including a training course, assessment, and certification

• Visit Scrum.org (http://www.scrum.org)

26

Page 27: Keynote meettheexperts@codecentric Ken Schwaber

Copyright 1993-2010, ADM, All Rights Reserved v1.4

27

Questions?