effective scrum

98
Effective Scrum Székely Sipos Sándor Zolta

Upload: sandor-zolta-szekely-sipos

Post on 13-Apr-2017

86 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Effective Scrum

Effective Scrum

Székely Sipos Sándor Zolta

Page 2: Effective Scrum

Agenda• Software Engineering Challenges• Agile Methodologies• Scrum• In a Nutshell - Ensure We Are All on the Same Page• Benefits and Opportunities• Caveats and Pitfalls

• Best Practices• Alternatives• Conclusion

Page 3: Effective Scrum

Scrum is Popular

Page 4: Effective Scrum

Software EngineeringChallengesChallengesUnderstand customer needsRequirements changeTight deadlinesSystem integrationEstimation - art or science?Attitude and skills of project team membersTechnical debtYoung Science

Page 5: Effective Scrum

Waterfall Model

Page 6: Effective Scrum

V Model

Page 7: Effective Scrum

The Iron Triangle ofProject Management

Quality?

Deadline(est.)

Cost(est.)

Scope(fixed)

Page 8: Effective Scrum

Technical Debt"Shipping first time code is like going into debt. A little debt speeds development so long as it is paid back promptly with a rewrite... The danger occurs when the debt is not repaid. Every minute spent on not-quite-right code counts as interest on that debt. Entire engineering organizations can be brought to a stand-still under the debt load of an unconsolidated implementation..."

Ward Cunningham, 1992

Deadline PressureTechnical Debt

Code quality

TestsSpeed

Page 9: Effective Scrum

Technical Debt• Unpredictable• If you notice it, do not try to hide it!• Act quickly!

• Its consequences: Increase in software delivery time Increase in the number of bugs

Decrease in customer satisfaction “Degeneration” of the product Increased maintenance costs Low performance Frustration (development team)

Page 10: Effective Scrum

How to Prevent and Fight It?• Prevention, prevention, prevention…• Strict Definition of Done• Covering code quality as well• Sonar

• Extreme Programming Techniques• TDD• Pair Programming

• Boy Scout Rule• Clean Code principles

Page 11: Effective Scrum

The Agile Manifesto

Processes and ToolsIndividuals and Interactions >

Comprehensive DocumentationWorking Software >

Contract Negotiation

Customer Collaboration >

Following a PlanResponding to Change >

Page 12: Effective Scrum

The 12 Principles Behind theAgile Manifesto

Frequent delivery

Early and continuous delivery

Close cooperation between business people and developers

Working SoftwareSelf-organizing teams

The art of maximizing the amount of work not done

Frequent delivery

Early and continuous delivery

Motivated, trusted individuals

Self-organizing teams

Welcome changing requirements

Welcome changing requirements

Face-to-face conversation

Technical excellence and good designAdapt quickly to changing realities

Simplicity

Simplicity

Face-to-face conversation

Page 13: Effective Scrum

The Iron Triangle ofProject Management

Quality(fixed)

Deadline(scheduled)

Cost(fixed)

Scope(fine-tuned)

Page 14: Effective Scrum

ChallengesWaterfall

V Model

Agile

Understand customer needs

Requirements change

Tight deadlines

System integration

Estimating is more an art than science

Attitude and skills of project team members

Technical debt

Young Science

Comparison

Page 15: Effective Scrum

Definition of Scrum

“A framework within which people can address complex adaptive problems, while productively and creatively delivering products of the highest possible value.”

The Scrum Guide™, Ken Schwaber and Jeff Sutherland

Characteristics: Lightweight Easy to understand Difficult to master

Page 16: Effective Scrum

The Scrum Framework

Rules

Iteration

Increment

Product OwnerScrum MasterDevelopment Team

Roles

Sprint PlanningSprint ReviewSprint RetrospectiveDaily Scrum

Ceremonies

Product BacklogSprint BacklogReports (charts)

Artifacts

Page 17: Effective Scrum

Iterative and Incremental Development

Functionality

Iteration

TasksRequirements

Page 18: Effective Scrum

Sprint – Iteration

• Goal• Scope – development

team decides Team commitment

Product increment

• Length: 2-4 weeks

Photographer: Vullioud Pierre-AndréSource: http://www.freeimages.com/

Page 19: Effective Scrum

Sprint Board

To Do In Progress DoneUser Story

PBI #1

PBI #2

PBI #3

Impl Impl Test

CRImpl

Impl CR Test

Impl Test Test

CRImpl

Page 20: Effective Scrum

User Story• Represents the customer needs• Customers/users write them• Informal, non-technical language• Acceptance criteria• Size• Limited• Estimate• Time• Story points• Quantity• Complexity

Page 21: Effective Scrum

Sprint Board

To Do In Progress DoneUser Story

PBI #1

PBI #2

PBI #3

Impl Impl Test

CRImpl

Impl CR Test

Impl Test Test

CRImpl

Page 22: Effective Scrum

Sprint Board

To Do In Progress DoneUser Story

PBI #1

PBI #2

PBI #3

ImplImpl Test

CR Impl

ImplCR Test

Impl Test Test

CRImpl

Page 23: Effective Scrum

Sprint Board

To Do In Progress DoneUser Story

PBI #1

PBI #2

PBI #3

ImplImpl Test

CR Impl

ImplCR Test

Impl Test Test

CRImpl

Page 24: Effective Scrum

Sprint Board

To Do In Progress DoneUser Story

PBI #1

PBI #2

PBI #3

Impl Impl TestCR

Impl

ImplCR Test

ImplTest Test

CRImpl

Page 25: Effective Scrum

Sprint Board

To Do In Progress DoneUser Story

PBI #1

PBI #2

PBI #3

Impl Impl Test

CRImpl

ImplCR Test

ImplTestTest

CR Impl

Page 26: Effective Scrum

Sprint Board

To Do In Progress DoneUser Story

PBI #1 PBI #2

PBI #3

Impl Impl Test

CRImpl

Impl CRTest

Impl TestTest

CR Impl

Page 27: Effective Scrum

Sprint Board

To Do In Progress DoneUser Story

PBI #1 PBI #2

PBI #3

Impl Impl Test

CRImpl

Impl CRTest

Impl Test Test

CRImpl

Page 28: Effective Scrum

The Definition of Done

Source: http://geek-and-poke.com/

Page 29: Effective Scrum

Acceptance Criteria

• Addition to the Definition of Done• User Story• Refinement

• Remember the V Model• User Acceptance Test (UAT)

Defined upfront• BDD (Behavior Driven Development)

Page 30: Effective Scrum

Non-Functional Requirements – NFR• System level requirements• It is a good practice to have as many NFRs being part

of the Definition of Done as possibleQuick feedback• Not always possible nor necessary

New functionality

Page 31: Effective Scrum

The Scrum Framework

Rules

Iteration

Increment

Product OwnerScrum MasterDevelopment Team

Roles

Sprint PlanningSprint ReviewSprint RetrospectiveDaily Scrum

Ceremonies

Product BacklogSprint BacklogReports (charts)

Artifacts

Page 32: Effective Scrum

The Scrum Team

Makes efforts in order to deliver at the end of each sprint the potentially shippable product increment they have committed to.

• Team members: Product Owner Scrum Master Development Team

Ideal team size: 5 - 10

Page 33: Effective Scrum

Product Owner

• Responsible to maximize the value of the product

• Responsible for:• Product Backlog• Items • Unambiguous description• Prioritization

• Accessible• Transparent• Understood by every key stakeholder

One single person!

Page 34: Effective Scrum

Scrum Master

Page 35: Effective Scrum

Scrum Master

Servant Leader• Makes sure Scrum is• Understood• Followed

• Interaction Product Owner Development Team Organization All Stakeholders

Page 36: Effective Scrum

Development Team

• Self-organizing• Cross-functional• There are no titles• Everyone is a developer

• There are no subgroups the whole team is responsible for

their commitment

Professionals

Page 37: Effective Scrum

The Scrum Framework

Rules

Iteration

Increment

Product OwnerScrum MasterDevelopment Team

Roles

Sprint PlanningSprint ReviewSprint RetrospectiveDaily Scrum

Ceremonies

Product BacklogSprint BacklogReports (charts)

Artifacts

Page 38: Effective Scrum

Sprint Planning

• The Product Owner presents the Sprint Goal and the Product Backlog Items which need to be completed in order to reach the goal

• What will be accomplished?• How?

• Outcome: Sprint Backlog• In case of 2-week Sprints limited to 4 hours

Page 39: Effective Scrum

Sprint Review

• Purpose: inspect the product increment• The development team• demonstrates the completed work• answers the questions related to the increment

• Informal• Open to everyone• At the end of the Sprint• In case of 2-week Sprints limited to 2 hours

Page 40: Effective Scrum

Sprint Retrospective• Ensures continuous improvement• Scrum Team identifies and prioritizes • What worked well • What could be improved

Outcome: Plan to improve the efficiency of the Scrum Team• When:• After Sprint Review, before next Sprint Planning

• In case of 2-week sprints limited to 1.5 hours

People Interactions Processes Tools

Page 41: Effective Scrum

Daily Scrum• Purpose:

• Maintain momentum• Identify impediments• Improve

communication within the team

• How:• Same time• Same place• Time boxed: 15

minutes

What did you do yesterday?1

What will you do today?

What obstacles are in your way or slowing you down?

2

3

Page 42: Effective Scrum

The Scrum Framework

Rules

Iteration

Increment

Product OwnerScrum MasterDevelopment Team

Roles

Sprint PlanningSprint ReviewSprint RetrospectiveDaily Scrum

Ceremonies

Product BacklogSprint BacklogReports (charts)

Artifacts

Page 43: Effective Scrum

Product Backlog• The single source of product change

requests• Requirements• Functionality• Enhancements• Bug fixes

• Living document

• Never complete Refinement

Page 44: Effective Scrum

Backlog Refinement / Grooming• Continuous activity• Development team and

Product Owner• Items:• Reviewed• Extended• Estimated• Priority changed when

needed

• No more than 10% of the capacity of the development team

Page 45: Effective Scrum

Estimation Technique: Planning Poker

Scale

Story Points

Relative SizeBased on Previous

Data

No AveragesDiscuss Consensus

Expert Opinion

Page 46: Effective Scrum

Sprint Backlog

Page 47: Effective Scrum

Scrum Ceremonies and Artifacts

Potentially shippable product

increment

Sprint2-4 weeks

24 hours

Sprint BacklogProduct Backlog

Refinement

Sprint planning

Daily Scrum

Sprint DemoSprintRetro

Page 48: Effective Scrum

Monitoring Progress - Reports• Scrum relies on transparency• Actual state of work packages

Decisions to optimize value and control risk

Sprint burn down

Cumulative flow

Velocity

Page 49: Effective Scrum

Sprint Burn Down Chart

1 2 3 4 5 6 7 8 9 10 11 12 13 14 150

10

20

30

40

50

60

70

80

90Ideal Actual

Before schedule

Behind schedule

SprintStart

SprintEnd

Estim

ated

Tim

e (m

an-d

ays)

Sprint Days

Page 50: Effective Scrum

Cumulative Flow

1 2 3 4 5 6 7 80

50

100

150

200

250

300

350

400

DoneIn ProgressTo Do

Sprints

Num

ber o

f Use

r Sto

ries

Page 51: Effective Scrum

Velocity Chart

1 2 3 4 5 6 70

5

10

15

20

25

30

35

CommitmentActual

Velocity: 27

Num

ber o

f Sto

ry P

oint

s

Sprints

Page 52: Effective Scrum

Cancelling a Sprint Sprint goal - obsolete, no longer relevant

Company strategy changed Important market or technology conditions changed

In the given circumstances it does not make sense to

continue

Who: Product Owner Rarely makes sense

Short duration of sprints Demotivating

Page 53: Effective Scrum

Scalability• Large project• A lot of functionality to implement• Tight deadlines

• Mandatory:Parallelizable tasks Several teams

• Approach:• Work packages independent from each other• That can be built into the product one after other or at

the same time• There is enough work to keep everyone busy

Page 54: Effective Scrum

Scalability – Scrum• Several Product Owners – only one Product Backlog!• Coordination• Chief Product Owner

• Before refinement and planning• Synchronization between Product Owners is necessary

• Sprint Review• All teams together• Separately

• Retrospective• Sometimes also with the representatives of all teams

• Scrum of Scrums (SOS)

Page 55: Effective Scrum

Scrum of Scrums

Page 56: Effective Scrum

Scrum of ScrumsWhat has your team done since we last met? 1

What will your team do before we meet again?

Is anything slowing your team down on their way?

2

3

Are you about to put anything in another team’s way?4

Resolve problems and discuss issues on the team backlog.

Page 57: Effective Scrum

What Scrum of Scrums is Not

“All the ScrumMasters and the project manager would have a teleconference three times a week where the ScrumMasters would take turns giving status reports(!) and complaining about the problems they had. I was approached by some of the ScrumMasters asking me if we shouldn’t have the meeting less frequently since ‘nothing new is being said. The same problems are being brought up in every meeting.’”

Morgan Ahlström: Scrum of Scrums – A Communication Thermometer

Page 58: Effective Scrum

Theoretically There Is No Limit

Page 59: Effective Scrum

Benefits of Scrum

Source: http://nyphotographic.com/

Page 60: Effective Scrum

Increased Sense of Responsibility

Development Team

Estimates Decision

Development TeamSet Their

Own LimitsCommitment -

Together

Increased Sense of Responsibility

Page 61: Effective Scrum

Less “Single Point of Failure”

ScrumCross-Functional

TeamsAttend All

Ceremonies

Team Members

Product Know-How Project Know-How

Less Pressure on Individuals

Page 62: Effective Scrum

Motivation, CreativityScrum

Clear and Common Goals Solution - Team

Team Members

Motivation Creativity

Page 63: Effective Scrum

Commitment

Big Picture

Fail fast… Commitment

Scrum

Clear and Common Goals Solution - Team

Page 64: Effective Scrum

Scrum

Transparency

Transparency

Sprint Review(Demo) Discuss User Stories

Page 65: Effective Scrum

High Degree of Independence

Scrum Team

Mixed Professional Background

High Degree of Independence

Cross-Functional Teams

Page 66: Effective Scrum

Extreme Programming

Communication, Team Spirit

Photographer: Sebastian DanonSources: http://www.freeimages.com/

Scrum Team

IndependentProblem Solving

Communication Team Spirit

PairProgr TDDCI

Page 67: Effective Scrum

Continuous Improvement

IdentifyOpportunities

Flaws in the process

PlanHow can the process be improved?Try outFor one iteration

Retrospect

Did it work?

Page 68: Effective Scrum

Fail Fast and Often

• Does not give the possibility to failure• Can lead to a mental roadblocks

Most Education Systems Suggest

Hard Work Time Success

Page 69: Effective Scrum

Learn from Our Failures

Hard Work Time

Success

Failure 1

Failure n

…?

Page 70: Effective Scrum

Software Bugs Found at an Early Stage of Development

Cost

Page 71: Effective Scrum

The Dark Side

Page 72: Effective Scrum

Scrum is VerboseScrum ceremonies:• Sprint planning• Up to 4 h

• Daily Scrum• ~10x15 minutes = 2h 30m

• Sprint Review• Up to 2 h

• Sprint Retrospective• Up to 1.5 h

Other meetings:• Backlog Refinement• Up to 10% ≈ 8 h

Scaled:• Meetings to discuss, break

down and assign epics/features to teams• Scrum of Scrums

*2 week sprintsUp to 2 work days – 20% of total time!

Page 73: Effective Scrum

Flow• Meetings

Agenda Focus Participants• Choose wisely!

Keep it short Meeting minutes

• Alternatives

• Even if short, they still interrupt developers in their creative work Flow

Page 74: Effective Scrum

Daily Stand-up• Scrum framework Daily Scrum• Stand-up became a habit, a ritual, a dogma,Jon Evans calls it even cargo cult• Ideal circumstances• Development team members• Start working more or less at the same time• Are collocated• Are in the same or close time zones

• Kept short (up to 10-15 minutes)

Creative and Productive Morning Period Context Switchingor

Page 75: Effective Scrum

The Check-in as Alternative

What did I accomplish yesterday?1

What do I intend to do today?

Are there any impediments?

2

3

Login

Write

Read

Asynchronous

Page 76: Effective Scrum

Adaptability and Flexibility…• “Scrum’s roles, artifacts, events, and rules are immutable

and although implementing only parts of Scrum is possible, the result is not Scrum. Scrum exists only in its entirety and functions well as a container for other techniques, methodologies, and practices.“

End Note, The Scrum Guide,Ken Schwaber and Jeff Sutherland, July 2013

Processes and ToolsIndividuals and Interactions ?

Page 77: Effective Scrum

No Changes During the Sprint• Choose the

length of the Sprints in such a way that it can resist change

SprintScrum Master

Guardian of Scrum

Following a Plan

Responding to Change ?

Page 78: Effective Scrum

Agile Mindset

Clie

nt

Team

OrganizationHigh

er m

gmt.

AgileMindset

Page 79: Effective Scrum

Agile Keeps People Busy

• Can be very tiring to the whole development team

• Being iterative, it offers some moments to relax between sprints – take advantage of it!

Agile

Page 80: Effective Scrum

Money, Money, Money…

• Courses• Workshops• Certifications• Cost a bunch of money• Expire• Need to be renewed from time to time, for even more

money• They exist for most specialties but in the case of Scrum it

became outrageously over-dimensioned

• Evangelists, coaches preach for money the new religion

Page 81: Effective Scrum

Who Became the Scrum Masters?• Mostly Project Managers

• Often with no technical knowledge• They have no development experience• In any case, not with the modern

way of it

Scrum often simply does not work

Servant LeaderInstead

Manager

Page 82: Effective Scrum

Scrum Masters Cannot Stand on the Side Line

• Scrum process – “good enough”

• Scrum Master – sometimes get out of shape• Remember: agile required continuous improvement!

A Scrum Master cannot stand on the side line

Page 83: Effective Scrum

Part time and remote work

• Part time work• Scrum ceremonies eat up the same time

Barely have time for development

• Remote work• Meetings

Video conferencing Online real time collaboration tools Still difficult to follow

Page 84: Effective Scrum

Lean Principles – 7 Wastes

PartiallyDoneWork

UnnecessaryFunctionality Hand-offs

UnnecessaryProcesses

Delays DefectsSwitchingBetween

TasksWaiting Rework

Movement

Page 85: Effective Scrum

Kanban, an Alternative• Goal: improve organizational efficiency

• Kanban: focus on processes• Lean principles – 7 wastes• Clearly defined process rules• Transparency of tasks• Limit work in progress• Constantly measure and improve flow

Page 86: Effective Scrum

Scrum Board

To Do In Progress DoneUser Story

PBI #1

PBI #2

PBI #3

Impl Impl Test

CRImpl

ImplCR Test

ImplTestTest

CR Impl

Page 87: Effective Scrum

Kanban BoardTo Do Plan

Max 3DevelopMax 5

TestMax 5

DeployMax 3 Done

Page 88: Effective Scrum

Kanban• Easy to learn• Works well with other methodologies• Extreme programming• TDD• Pair Programming• Continuous Integration

• Efficient at adapting to changes• Makes continuous delivery possible

Page 89: Effective Scrum

Kanban• No roles• Kaizen meetings• Anyone can organize• Only affected team members participate

• Focus: Kanban board• Does not prescribe estimations• Difficult to tell when specific tasks are done• Deadlines – may be written to cards but not necessary

• Puts efficiency before predictability

Page 90: Effective Scrum

ComparisonScrum Kanban

Empirical

Lean

Agile

Sprints Continuous flow of work

Limits work in progress

Focus on fast and continuous delivery

Reorganization might be necessary (cross-functional teams)

Current situation is the starting point

Transparency

Continuous improvement of processes

Roles (SCM, PO) No roles

Estimates Does not prescribe estimates

Predictability Efficiency

Page 91: Effective Scrum

ConclusionOrganization

Opportunities Constraints

Team

Skills Attitudes

Project Specifics

Mindset

Agile Lean

Process

Scrum Kanban

Extreme Programming

Page 92: Effective Scrum

Contact Information

• Name: Székely Sipos Sándor Zolta• LinkedIn: https://www.linkedin.com/in/zoltaszekely• Mail: [email protected]

Page 93: Effective Scrum

Bibliography• A Scrum Guide, Ken Schwaber and Jeff Sutherland• Introduction to Scrum, Mike Cohn• Stand up against the stand-up, Jon Evans• Lean + Agile vs Seven Wastes in Software Development, V S

S N R Ram Nanduri• A Scrum keretrendszer és agilis módszerek használata a

Visual Studióval, Csutorás Zoltán, Árvai Zoltán, Novák István• Essential Scrum, A Practical Guide to the Most Popular Agile

Process, Kenneth S. Rubin• http://www.adaptiveconsulting.hu/kanban-vagy-scrum• https://www.linkedin.com/pulse/how-reduce-risk-missing-n

onfunctional-requirements-miller-cbap

Page 95: Effective Scrum

Recommended Reading

Page 96: Effective Scrum

Copyright Notice• You are free:• To Share―to copy, distribute and transmit the work• To Remix―to modify/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:

https://creativecommons.org/licenses/by/4.0/

Attribute! CC BY 4.0

Page 97: Effective Scrum

Q/A

Page 98: Effective Scrum

Thank You forYour Kind Attention