Scrum

61
Paylogic, what if we go Scrum? Paylogic, what if we go Scrum? Òscar Vilaplana Paylogic October 26 2011
  • date post

    17-Sep-2014
  • Category

    Technology

  • view

    132
  • download

    0

description

With this talk I introduced Scrum at Paylogic. I cover the basics of Scrum and I explain the reasonings behind the guidelines.

Transcript of Scrum

Page 1: Scrum

Paylogic, what if we go Scrum?

Paylogic, what if we go Scrum?

Òscar Vilaplana

Paylogic

October 26 2011

oscar
Typewritten Text
oscar
Typewritten Text
oscar
Typewritten Text
@grimborg http://oscarvilaplana.cat [email protected]
oscar
Typewritten Text
oscar
Typewritten Text
oscar
Typewritten Text
oscar
Typewritten Text
oscar
Typewritten Text
oscar
Typewritten Text
Page 2: Scrum

Paylogic, what if we go Scrum?

Why Scrum Works

Why Scrum works

Why Scrum works for others, what it can do for us and why it willwork for us.

Page 3: Scrum

Paylogic, what if we go Scrum?

Why Scrum Works

Better control

On complex systems, centralized control breaks down.

Scrum makes the Teams self-managed.

Scrum shortens the feedback loop.

Page 4: Scrum

Paylogic, what if we go Scrum?

Why Scrum Works

Increment of business value

The Product Owner defines "high-priority business value".

The Team decides what it can do in a sprint to deliver it.

Test often the value of the system being developed.

Page 5: Scrum

Paylogic, what if we go Scrum?

Why Scrum Works

Scrum turns small teams into their own managers.

Use many minds to solve a problem

Every member is encouraged to participate.

Their ideas are taken into account.

They share a common purpose: they will figure out how toachieve it.

Page 6: Scrum

Paylogic, what if we go Scrum?

Honesty

Honesty

We are not always honest (but we have always good intentions).When are we not honest, why, and how should we do it?

Page 7: Scrum

Paylogic, what if we go Scrum?

Honesty

Self acknowledgement

We must be honestly account for our abilities.

We must be honestly account for the project that we areworking on.

We must be honestly account for the tasks that we have to do.

Page 8: Scrum

Paylogic, what if we go Scrum?

Honesty

Honest planning

Not all tasks that we work on are planned honestly.

We often need more time to discuss, review, help others.

We are surprised by unsurprising events, e.g. staging issues.

Page 9: Scrum

Paylogic, what if we go Scrum?

The Heart of Scrum

The Heart of Scrum

How Scrum works, in a nutshell.

Page 10: Scrum

Paylogic, what if we go Scrum?

The Heart of Scrum

Requirements

Teams understand and commit to delivering business value

Teams are free to figure out how to perform tasks

Teams are given the resources they need.

Page 11: Scrum

Paylogic, what if we go Scrum?

The Heart of Scrum

Teams are free to figure out how to perform tasks

Once the Sprint has started, the Sprint Backlog cannot bechanged from the outside.

Every day, the Team has a short meeting to synchronize andpick their tasks for the day.

Page 12: Scrum

Paylogic, what if we go Scrum?

The Heart of Scrum

Teams are given the resources they need.

The ScrumMaster’s role is to help the Teams.

Page 13: Scrum

Paylogic, what if we go Scrum?

Bringing Order from Chaos

Bringing Order from Chaos

Scrum and non-Scrum ideas to bring order to a chaotic workflow.

Page 14: Scrum

Paylogic, what if we go Scrum?

Bringing Order from Chaos

The team must own its work.

Collective commitment.

Self-organization.

Page 15: Scrum

Paylogic, what if we go Scrum?

Bringing Order from Chaos

Tracer bullet

When shooting in the dark, add luminiscensce to every 50thbullet.

Build limited functionality through the system to demonstratethe path for all other functionality.

Page 16: Scrum

Paylogic, what if we go Scrum?

Bringing Order from Chaos

Sashimi

Slice of raw fish.

Complete on itself.Has a complete taste similar to the way every other slicetastes.

Every slice of functionality created by the developers must becomplete.

All that constitutes a complete product must be completed inthe Sprint.

Requirements gathering.Design.Coding.Testing.

Page 17: Scrum

Paylogic, what if we go Scrum?

Ready and Done

Ready and Done

“Ready” and “Done” are two important words, yet they arefrequently misused.

Page 18: Scrum

Paylogic, what if we go Scrum?

Ready and Done

Definition of Ready

Tasks fully specified to the needs of the developers.

Not because it’s nice to have, but because undeterminedrequirements can’t be worked on yet and slow down the team.

Tasks estimated before the Sprint Planning meeting.

If a task is not ready, it goes out of the Product Backlog.

Page 19: Scrum

Paylogic, what if we go Scrum?

Ready and Done

Definition of Done.

It is feature complete: the code provides all agreed features.

It is code complete.

There are no known defects.

It has been approved by the Product Owner.

It is Production ready

Page 20: Scrum

Paylogic, what if we go Scrum?

Ready and Done

Definition of code complete:

It is covered by unit tests.

It adheres to coding standards.

It has ben refactored any duplicate or ill-structured code.

It contains no clever programming tricks.

It is easy to read and understand.

It is documented (docstrings and documentation).

It has all database changelogs, migration scripts, deploymentinstructions. . .

Page 21: Scrum

Paylogic, what if we go Scrum?

Artifacts

Artifacts

What are the artifacts that Scrum adds? Who creates them? Howdo they work?

Page 22: Scrum

Paylogic, what if we go Scrum?

Artifacts

Product Backlog

List of functional and non-functional requirements that, whenturned into functionality, will deliver the Product Owner’svision.

Requirements, not tasks.

Prioritized so that the items most likely to generate value aretop priority

Divided into proposed releases

Page 23: Scrum

Paylogic, what if we go Scrum?

Artifacts

Sprint Backlog

Tasks that a Team defines for turning the Product Backlog forthat Sprint into an increment of functionality.

The tasks should take between 4h and 16h.

Tasks longer than 16h are considered placeholders for tasksthat haven’t been yet appropriately defined.

Real-time picture of the work that the Team plats toaccomplish during the Sprint.

Every day, the task estimates are updated with the remainingestimated time.

Page 24: Scrum

Paylogic, what if we go Scrum?

Artifacts

Burndown chart

Shows the amount of work remaining across time.

Visualizes the correlation between the amount of workremaining and the progress of the Team in reducing this work.

Page 25: Scrum

Paylogic, what if we go Scrum?

Artifacts

Defect Backlog

Bugs in the tasks of the Sprint Backlog

Page 26: Scrum

Paylogic, what if we go Scrum?

Artifacts

Changes report

Differences between two last Product Backlogs.

What happened during the Sprint.

What adaptations have been made to the project in responseto the inspection at the Sprint review.

Page 27: Scrum

Paylogic, what if we go Scrum?

Artifacts

Example of Changes report

Why have future Sprints been reformulated?

Why was the release date or content reformulated?

Why did the team complete fewer requirementns thananticipated during the Sprint?

Where was the incomplete work repriotitized in the ProductBacklog?

Why was the team less or more productive than it hadanticipated?

Page 28: Scrum

Paylogic, what if we go Scrum?

Artifacts, in Paylogic

Burndown chart

The Team will update it during the Daily Meeting.

Page 29: Scrum

Paylogic, what if we go Scrum?

Artifacts, in Paylogic

Burndown chart example

Page 30: Scrum

Paylogic, what if we go Scrum?

Artifacts, in Paylogic

Scrum dashboard example

Page 31: Scrum

Paylogic, what if we go Scrum?

Artifacts, in Paylogic

Scrum dashboard example

Page 32: Scrum

Paylogic, what if we go Scrum?

Artifacts, in Paylogic

Scrum dashboard example

Page 33: Scrum

Paylogic, what if we go Scrum?

Artifacts, in Paylogic

Defect Backlog

The Team will add tasks to it during the Sprint.

Page 34: Scrum

Paylogic, what if we go Scrum?

Artifacts, in Paylogic

Changes Report

The Team will make it on the Sprint retrospective meeting.

Page 35: Scrum

Paylogic, what if we go Scrum?

The Scrum flow

The Scrum flow

What does it mean, exactly, to “do Scrum”?

Page 36: Scrum

Paylogic, what if we go Scrum?

The Scrum flow

Basic Scrum flow

Produt Owner produces a plan (Product Backlog).

The Team commits on some of the tasks on the plan.

The Team synchronizes frequently.

At the end of the Sprint, the Team presents the results andre-evaluates.

Page 37: Scrum

Paylogic, what if we go Scrum?

The Scrum flow

Detailed Scrum flow

Product Owner produces a plan for the project that includesthe Product Backlog.

Work is done in Sprints.

Sprints start with a Sprint planning meeting

Product Owner and Team get together to collaborate aboutwhat will be done for the next Sprint.

Page 38: Scrum

Paylogic, what if we go Scrum?

The Scrum flow

Sprint planning meeting: Build the Sprint backlog.

Product Owner tells the Team what is desired.

Identify everyone’s most urgent needs. Focus on theimmediate future.

Team tells the Product Owner how much of that it can turn intofunctionality over the next Sprint.

Cannot last longer than 8h.

Team plans out the Sprint: Sprint Backlog.

Two parts:

Choose the tasks that will go into the Sprint backlog.Timeboxed to 4h.Figure out how it will turn it into an increment of potentiallyshippable product functionality. Timeboxed to 4h.

Page 39: Scrum

Paylogic, what if we go Scrum?

The Scrum flow

Deciding tasks for the Scrum backlog

The Team can make suggestions, but the decision of whatProduct Backlog can constitute Sprint is the responsibility ofthe Product Owner.

The Team is responsible for determining how much of theProduct Backlog that the Product Owner wants worked on theTeam will attempt to do during the Sprint.

It is up to the Team, acting solely on its own and without anydirection from outside the Team, to figure out how it will turnthe Scrum backlog into an increment of potentially shippableproduct functionality.

Page 40: Scrum

Paylogic, what if we go Scrum?

The Scrum flow

Daily Scrum meetingEvery day, the team gets together for a 15-minute weeting:Daily Scrum.

Purpose:

Synchronize the work of all Team members dailySchedule any meeting that the Team needs to forwards itsprogress.

Everybody must attend. If a member cannot attend in person,he must be either on the the phone or have another memberreport on his status.

Be on time.Only pigs talk.

Chickens are not alowed to talk with Team members after themeeting for clarification or to provide advice or instructions.

Page 41: Scrum

Paylogic, what if we go Scrum?

The Scrum flow

Questions to answer on the Daily Scrum

What have you done on this project since the last Daily Scrummeeting?

What do you plan on doing on this project between now aththe next Daily Scrum meeting?

What impediments stand in the way of you meeting yourcommitments to this Sprint and this project?

Reporting has to be specific: commitments are only real ifthey can be assessed.

The purpose is for the Team members to synchronize witheach other, not report to the ScrumMaster.

When adjustment is necessary, the purpose is not to blameanyone.

Page 42: Scrum

Paylogic, what if we go Scrum?

The Scrum flow

When reporting on the Daily Scrum

Do not digress.

Report briskly.

Only the person who is reporting talks. The rest listen.

Don’t engage in side conversations.

If you need to tackle something in detail, set up a meetingafter the Daily Scrum.

Chickens, if present, are not allowed to talk or affect the DailyScrum.

Page 43: Scrum

Paylogic, what if we go Scrum?

The Scrum flow

Multi-team projects: Scrum of Scrums

Daily Scrum with one member from each team in a multi-teamproject.

Coordination.

Resolve dependencies between teams.

Page 44: Scrum

Paylogic, what if we go Scrum?

The Scrum flow

SprintThe Team can seek outside advice.The Team is utterly self managing.No one can provide advice, instructions, commentary ordirection to the Team during the Sprint.No one is allowed to change the Product Backlog during theSprint.If the Sprint proves to be not viable, the ScrumMaster canterminate the Sprint and set up a new Sprint planningmeeting.If the Team feels itself unable to complete all of the committedtasks, it can consult with the Product Owner which items toremove.If the Team determines that it can address more ProductBacklog, it can consult with the Product Owner which items toadd.

Page 45: Scrum

Paylogic, what if we go Scrum?

The Scrum flow

Responsibilities of the Team members

Attend the Daily Scrum meeting.

Keep the Sprint Backlog up to date and publicly visible(including the estimates).

Page 46: Scrum

Paylogic, what if we go Scrum?

The Scrum flow

At the end of the Sprint: Sprint review meeting.

4-hour time-boxed.

The Team presents what was developed to the ProductOwner.

They decide what the Team should do next.

Page 47: Scrum

Paylogic, what if we go Scrum?

The Scrum flow

Before Sprint Planning: Sprint retrospective

Between ScrumMaster and Team

3h time-boxed

ScrumMaster encourages Team to revise its developmentprocess to make it more effective and enjoyable for the nextSprint.

Page 48: Scrum

Paylogic, what if we go Scrum?

The ScrumMaster

The ScrumMaster

What is a ScrumMaster? What does he do? What are hisresponsibilities? What authority does he have?

Page 49: Scrum

Paylogic, what if we go Scrum?

The ScrumMaster

What does the ScrumMaster Do?Has to make a personal commitment to his teams.

The team needs to sense that someone is deeply invested inits work and will protect and help it no matter what.

His attitude should reflect the importance of the project.

It’s a role without authority.

It’s not delegating: it’s being personally responsible.

Earns the team’s respect because he fulfills the duties of therole and not simply because he was assigned the role.

Key duty: find the biggest, nastiest problem that the team hasand solve it within a day or two of the first Sprint meeting.

Enforce the meaning of Ready and Done.

Prevent waterfall.

Page 50: Scrum

Paylogic, what if we go Scrum?

The ScrumMaster

Roles of the ScrumMaster

Remove the barriers between development and ProductOwner: Product Owner drives development.

Teach the Product Owner how to maximize ROI and meet hisobjectives through Scrum.

Improve the lives of the development team by facilitatingcreativity and empowerment.

Improve the productivity of the development team in any waypossible.

Improve the engineering practices and tools so that eachingrement of functionality is potentially shippable.

Keep information about the team’s progress up-to-date andvisible to all parties.

Page 51: Scrum

Paylogic, what if we go Scrum?

The ScrumMaster

Trust and openness

The ScrumMaster must promote trust and openness.

Honestity brings conflict.

When facilitated well, conflict brings an agreement.

When an agreement has been reached, people can commitand results are achieved.

Page 52: Scrum

Paylogic, what if we go Scrum?

Sprint

Sprint

For how long should we Sprint? What should we do in it? Whogets to decide what?

Page 53: Scrum

Paylogic, what if we go Scrum?

Sprint

What length to choose?

A good length is 2 weeks.

However: it’s good to have more than one sprint per release.

Page 54: Scrum

Paylogic, what if we go Scrum?

Sprint

2-week Sprint

It gives enough time to finish the longer tasks.

It’s widely used.

It has less planning overhead.

Page 55: Scrum

Paylogic, what if we go Scrum?

Sprint

1-week SprintIt gives more fine grained control.

It ensures more quality: at the end of week 1, the tasks of theFirst Sprint must be done (Potentially Shippable).

The Product Owner can see finished functionality 1 weekbefore it’s released.

Addresses the difference between Potentially Shippable andShippable.

It has one oportunity to correct the course.

It can adapt to changesIf a task is not Ready, it may still be doable in this Release.

It’s the same as the support schedule (see later).

We don’t add or remove people in the middle of a Sprint.

Page 56: Scrum

Paylogic, what if we go Scrum?

Sprint

Proposed Sprint length

I propose 1-week Sprint.

Key pros:

Fine grained.More quality.Can correct course.

Review:

After 2 releases we evaluate it.If we see that 2-week release would be better, we change.

Page 57: Scrum

Paylogic, what if we go Scrum?

Sprint

First Sprint

Build the core of the features.

Produce the first Potentially Shippable results.

If a task for the release was not Ready, the Product Ownertakes care that it will be for the next Sprint.

At the end, the Product Owner examines them and givesfeedback.

Page 58: Scrum

Paylogic, what if we go Scrum?

Sprint

Second Sprint

Add any necessary changes from the Product Owner’sreaction.

Re-adjust, e.g:

If we were slower due to emergencies.If we were faster and we can take more tasks.

Page 59: Scrum

Paylogic, what if we go Scrum?

Sprint

Sprint planning and retrospective meetings

The Sprint planning and retrospective meetings take asignificant amount of overhead.

After the Team is used to Scrum (about 8 Sprints), they can becollapsed into a single, shorter meeting of about 90 minutes.

Page 60: Scrum

Paylogic, what if we go Scrum?

Sprint

Working during a Sprint

Commit and push frequently. Push at least once per day.

But don’t break the tests: add any necessary code.You can break your own tests and mark them as xskip. But notothers’.Run tests frequently so you don’t have to fix everything at theend of the day.

Work must be done in priority order.

No multi-tasking.

A Team member cannot work on a new task until his currenttask is Done.

Page 61: Scrum

Paylogic, what if we go Scrum?

Questions

Questions

Answers!

oscar
Typewritten Text
oscar
Typewritten Text
oscar
Typewritten Text