scrum training day 1

87
You walk into a class, you have been invited to attend a training. You read the text on the slide on the projector. You first ignore it, the second time you see it you start reading... Once you finish reading the slide, you find someone at a table. You sit down, and exchange all you know about Agile and Scrum with each other until the session is going to start.

Upload: elad-sofer

Post on 21-Jan-2018

412 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Scrum training day 1

You walk into a class, you have been invited to attend a training.You read the text on the slide on the projector. You first ignore it, the second time you see it you start reading... Once you finish reading the slide, you find someone at a table. You sit down, and exchange all you know about Agile and Scrum with each other until the session is going to start.

Page 2: Scrum training day 1

Introduction to ScrumElad Sofer - Agile Coach

http://[email protected]

Page 3: Scrum training day 1

• No answers, just questions.• Don’t believe anything.• Discussion!• The agenda is a draft.• Games & exercises• Use the parking lot.• A-Ha wall.

Page 4: Scrum training day 1
Page 5: Scrum training day 1
Page 6: Scrum training day 1

Discussion

Page 7: Scrum training day 1
Page 8: Scrum training day 1

Games and exercises

Page 9: Scrum training day 1

Parking lot

Page 10: Scrum training day 1

Photos

Page 11: Scrum training day 1
Page 12: Scrum training day 1

Let’s form

teams

Page 13: Scrum training day 1

Who am I ?

Page 14: Scrum training day 1

• S/W Engineer.• Agile coach.• Blogger• Co-Founder of “Practical-Agile”• Co-Organizer of “Agile

Practitioners IL” group• Married to Keren• Father of 2 boys.

Page 15: Scrum training day 1

I am the EXPERT!

Page 16: Scrum training day 1

Requirements

Design

Implement

Test

Acceptance

Analysis

Deliver

Page 17: Scrum training day 1

The waterfall development model originates in the manufacturing and construction industries

The first description of waterfall is a 1970 article by Winston W. Royce

Royce presented this model as an example of a flawed, non-working model

"I believe in this concept, but the implementation described above is risky and invites failure"

[Royce 1970]

Page 18: Scrum training day 1

Division of work to specialized teams (specification, design and testing) is

efficient

It is possible to “collect” or even “know” all the requirements up-front

The harder we plan and analyze in the beginning, the less there’s change in the project and the more successful

the project.

Multiple parallel programs speed up the development

Multiple programs create big management overhead and risk of

overloading the pipeline, R&D works most efficiently in continuous mode

There is change always and responding to it is vital. Uncertainty is best reduced by learning from actual

implementation

Requirements evolve as customers and our knowledge increases – based

on experience

Cross-functional teams reduce the amount of handovers and delays, thus

they are more productive

Page 19: Scrum training day 1

You can save time by “good-enough” development.

It’s possible to transfer information effectively on written documents without much of human contact.

Resource usage and cost optimization is the key to increased productivity

Product development process can be defined as a predictable and

repeatable process

Product development is an evolving and adaptive process, unique for every

organization.

Concentrating on value stream optimization, removing waste and

sustainable flow increases productivity

Essential knowledge is lost in every handover and human interaction is

needed to overcome it.

Any technical debt will slow development down and thus we

don’t allow technical debt to accumulate.

Page 20: Scrum training day 1

Wishful thinkingNo matter how hard you try, it ain’t gonna work

Page 21: Scrum training day 1
Page 22: Scrum training day 1

1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software

2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.

3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to a shorter timescale.

4. Business people and developers must work together daily throughout the project.

5. Build project around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

6. The most efficient and effective method of conveying information to and within development team is face-to-face conversation.

Page 23: Scrum training day 1

7. Working software is the primary measure for progress. 8. Agile processes promote sustainable development. The

sponsors, developers, and users should be able to maintain a constant pace indefinitely.

9. Continuous attention to technical excellence and good design enhances agility.

10. Simplicity – the art of maximizing the amount of work not done – is essential.

11. The best architectures, requirements, and designs emerge from self-organizing teams.

12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Page 24: Scrum training day 1
Page 25: Scrum training day 1

Scrum

Page 26: Scrum training day 1

"Scrum is a team of eight individuals in Rugby.

Everyone in the pack acts together with everyone else to move the ball down the field in small incremental

steps. Teams work as tight, integrated units with whole team focusing on a single goal."

Page 27: Scrum training day 1

• Understanding that we cannot predict the future. • One size does not fit all. • Constant improvement. • Transparency • Team work • As simple as possible & as little as possible. • Prioritizing – Industry statistics show: 65% of all

features are rarely\never used. • Empirical approach • Fun !!!

Page 28: Scrum training day 1
Page 29: Scrum training day 1

• Defines the features of the product • Defines release dates and content • Responsible for ROI. • Prioritizes features. • Can change features and priority

once every predefined interval. • Decides what will be worked on in each

iteration • Accepts or rejects results.

Page 30: Scrum training day 1

• Responsible for the scrum process. • Protects the team. • Helps removing impediments. • He is standing at the nexus between:

• The product management that believes that any amount of work can be done.

• Developer’s that have the willingness to cut quality to support the managements belief.

• Probably the least loved person in the world.

Page 31: Scrum training day 1

Time

Work left

20

10 12 14 16 18

Page 32: Scrum training day 1

• Scrum helps prevent such things by encouraging:– Team productivity– High quality– Top-notch engineering practices

• Unit testing \ TDD• BDD• Pair work• Continuous integration• Refactoring.

32

The Scrum master

Page 33: Scrum training day 1

Exercise

Is command and control

Management?

33

Page 34: Scrum training day 1

• Typically 5-9 people

• Cross-functional: •“Architects”, Programmers, testers

UI 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 as little as possible •only between sprints

Page 35: Scrum training day 1

• List of features, Technology, issues. • Items should deliver value for customer. • Constantly prioritized & Estimated. • Anyone can contribute. • Visible to all. • Derived from business plan, may be

created together, with the customer. • Can be changed every sprint!!! • Customer is not “programmed” to think

of everything in advance.

Page 36: Scrum training day 1

Backlog item Estimate

As a user I would like to register 3

As a user I would like to login 5

As a buyer I would like to make a bid 3

As a buyer I would like to pay with a credit card 8

As a seller I would like to start an auction 8

... …

Test register feature 10

Create infrastructure for login 20

Page 37: Scrum training day 1

Define 3 users for a social network

targeted for kids

Page 38: Scrum training day 1

Create a 3 LARGE user stories for a Social

network special for kids

Page 39: Scrum training day 1

• Also called backlog refactoring \ Sniffing.• Done by the team and the PO.• The goal is to have the backlog ready for the sprint

planning.• Grooming = Splitting, clarifying & estimating.• Usually grooming just enough for 2-3 sprints

ahead.• Recommended to allocate ~5% of sprint time for

this task.• NEVER allow the PO to reach a sprint planning

meeting with a backlog not in good shape.

Product backlog refinement

Page 40: Scrum training day 1

• Different scenarios• Splitting across the data model.

– Support only a subset of attributes• Splitting across operations

– CRUD \ parts of a protocol • Splitting on results

– Success and failure scenarios.• Splitting cross-cutting concerns

– Logging \ Security.• Splitting functional & non-functional

requirements

Page 41: Scrum training day 1

Split the biggest backlog items to 5 user stories.

Page 42: Scrum training day 1

Slide Scrum introduction (Intel) / Elad Sofer Elad Sofer – Agile coach – CSM\CSP http://blog.thescrumster.com

[email protected]

Page 43: Scrum training day 1

Exercise

• Estimate the following based on Weight in Kilograms. [NO GOOGLE PLEASE!!!]

• Chihuahua• Great Dane• Staffordshire bull terrier.• Appalachian mountain dog.• Border Collie• American Cocker spaniel

43

Page 44: Scrum training day 1

Persistence of time

44

Page 45: Scrum training day 1

Slide Scrum introduction (Intel) / Elad Sofer Elad Sofer – Agile coach – CSM\CSP http://blog.thescrumster.com

[email protected]

34.4

Page 46: Scrum training day 1

Story points• Name is derived from user stories. • They reflect the “bigness” of a user story.

–How hard it is ? –How risky it is ? –How much of it there is ?

• Relative values matters. • Unitless. • Point values “include uncertainty”. • Easy and quick

–A little effort helps a lot –A lot of effort helps a little more

46

Page 47: Scrum training day 1

Planning poker1. Each person gets a deck of cards.2. The item to be estimated is read to all.3. Attendants ask clarifications for the item.4. Each person selects a card and puts it on the

table facing down.5. When everyone is done, cards are exposed.6. If the estimations do not match a short

discussion is done. -> Goto 4.7. Handle next item.

47

Page 48: Scrum training day 1

Exercise

• Estimate the following based on size using planning poker.

• Spain• China• Luxembourg• Denmark• South Africa - 8 (Reference point)• Belize

48

Page 49: Scrum training day 1

Why planning poker works ?• Those who do the work estimate it.• Emphasizes relative estimation• Estimates are within one order of

magnitude.• Reduces anchoring - Everyone's

opinion is heard.

49

Page 50: Scrum training day 1

Specification length

•One page spec

•Group A

•7 Pages spec

•Group B

173 hours

117 hours

Page 51: Scrum training day 1

Irrelevant information

•Group A

•added irrelevant details: •End user desktop apps •Usernames & passwords •Etc.

•Group B

39 hours

20 hours

Page 52: Scrum training day 1

Extra requirements

•Requirements 1-4•Group A

•Requirements 1-5•Group B 4 hours

4 hours

•Requirements 1-5 but told to estimate 1-4 only

•Group C8 hours

Page 53: Scrum training day 1

Given anchor

•Group A

•Customer thinks 500 •customer has no technical knowledge •Don’t let the customer influence you

•Group B555 hours

456 hours

•Same as B customer thinks 50

•Group C99 hours

Page 54: Scrum training day 1

The results:

54

Spain 5 506K

China Too big10M

Luxembourg0 3K

Denmark3 301K

South Africa 13 1.22M

Belize1 112K

Chihuahua 3

Great Dane 90

Staffordshire bull terrier. 17

Appalachian mountain dog.

???

Border Collie 34

American Cocker spaniel 13

Page 55: Scrum training day 1

• Usually the longest meeting of all. • The meeting takes place prior to

every sprint. • Participants:

• All Team members , PO, Scrum master.

• Is divided into two Parts: • Part I

– Team and PO discuss and clarify the top priority items – Team and PO selects sprint Goal.

• Part II – Team creates the sprint backlog – Team commits on content of coming sprint.

Page 56: Scrum training day 1

• The sprint backlog is defined by understanding and agreeing on the sprint goal(s) and selecting the appropriate items from the product backlog.

• The goal is determined by the customers\product owner\team.

• The team compiles a list of tasks that are needed in order to complete the sprint goal(s).

• A task should be as small as possible and should not exceed a time period of 2 days (time not effort).

• If a task X can not be defined, there will be a task to define the task X.

• The sprint backlog can be modified throughout the sprint.

Page 57: Scrum training day 1
Page 58: Scrum training day 1

• The sprint is the productive part of the scrum

• It is a fixed, predefined, period of time.

• During this time the work load, the scope or nature of work must not be changed. The only “manager” of the scope is the sprint backlog.

• The team is free to accomplish the sprint goal as it see’s fit, within the limits of the team’s procedures and the time limits.

• During the sprint, the team has total freedom over how it works: • Work as many hours as it wants. • Hold meetings whenever it wants

– During the sprint the team is accountable for only two things • Daily scrum • Sprint backlog.

Page 59: Scrum training day 1

Source: “The New 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

Design Code Integrate Test

Page 60: Scrum training day 1

• A meeting that occurs daily at the same time. anyone who wants attend , can do so.

• Each of the team members needs to answer briefly these three questions: 1. What have you done since the last daily scrum? 2. What will you do until the next daily scrum? 3. What got in your way of doing work?

• The team does not report to anyone but the team.

• During the meeting only one of the team members is allowed to speak, others should keep quiet.

• All of problems raised in the meeting should be written down and resolved by the scrum master\team.

• The daily scrum is not a technical meeting.

Page 61: Scrum training day 1

Effo

rt re

mai

ning

0

25

50

75

100

Sprint

1 2 3 4 5 6 7 8

Page 62: Scrum training day 1
Page 63: Scrum training day 1

• At the end of each sprint there is a meeting called the sprint review.

• The purpose of the meeting is to let the “captain” to know where the ship is heading and where it is in it’s route. In addition all new features will be presented to the product owner.

• During this meeting the team presents to the management\customers\users\product owner, what work has been DONE and what was not.

• The only form of “automated” presentations allowed is working software, Slideware is banned.

• The things that were not accomplished will be returned to the product backlog.

Page 64: Scrum training day 1

• We have in Scrum – DOD – Definition of Done.

• Terms of satisfaction of the PO • Only DONE items count • Success is well defined • Example:

• Unit tested, Verification,Documented, deployed.

Page 65: Scrum training day 1

The ball-point game

• Ball must have air-time• No ball to your direct neighbor• First person= Last person• Iteration = 1 min• In between = 1 min

65

Page 66: Scrum training day 1

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

• Typically takes ~60 minutes

• Done after every sprint

• Whole team participates • Scrum Master

• Product owner

• Team

• Possibly customers and others

Page 67: Scrum training day 1

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

Start doing

Stop doing

Continue doing

Page 68: Scrum training day 1

Scrum will not solve any problems...

it will only make them

painfully visible

Page 69: Scrum training day 1
Page 70: Scrum training day 1
Page 71: Scrum training day 1

71

Planningin agile projects

Page 72: Scrum training day 1

Velocity•How many points can the team complete in one iteration.

•Easy to measure.•Fixes estimation errors.•Easily reflects the project status.•Primary parameter in planning.

72

Page 73: Scrum training day 1

How to calculate time ?

Content

VelocitySprint #

73

Page 74: Scrum training day 1

• How many points still to complete ? (pts)• What is the velocity ? (vel)• How many sprints to go ? (num = pts/vel)• What is the sprint’s length ? len• How much time left ? num*len

• This is as simple as it gets !!!

74

So, how much time left ?

Page 75: Scrum training day 1
Page 76: Scrum training day 1
Page 77: Scrum training day 1

• Mindset: – My work is to do my work and to improve my

work.• Practice:

– Choose and practice techniques the team has agreed to try, until they are well understood—that is, master standardized work

– Experiment until you find a better way– Repeat forever

Page 78: Scrum training day 1

• Value: The moments of action or thought creating the product that the customer is willing to pay for.

• Waste: All other moments or actions that do not add value but consume resources.

• value ratio = total-value-time / total-cycle-time

Page 79: Scrum training day 1

• Overproduction– features or services the customer doesn’t want– large engineering documents, more detailed

designs than can be quickly implemented– duplication of data

• Waiting / delay– for clarification– Documents– Approval– Components– other groups to finish something

Page 80: Scrum training day 1

• Handoff, conveyance, moving – Giving a specification from an analyst to an

engineer– Giving a component to another group for testing

• Extra processing – Relearning, lose of information.– Forced conformance to centralized process

checklists of– Recreating something made

Page 81: Scrum training day 1

• Partially done work – WIP \ DIP– Designs documented but not built– Things built but not integrated or tested– Things tested but not delivered.

• Task switching– Interruption– Multitasking on 3 projects– Partial allocation of a person to many projects

Page 82: Scrum training day 1

• Under-realizing people– People only working to single speciality job– Do people have the chance to change what they

see is waste. • Information scatter or loss

– Information spread across many separate documents

– Communication barriers such as walls between people, or people in multiple locations.

Page 83: Scrum training day 1

• Wishful thinking– “We MUST follow the plan”– “The estimate cannot increase; the effort

estimate is what we want it to be, not what it is now proposed.”

– “We’re behind schedule, but we’ll make it up later.”

Page 84: Scrum training day 1

Find one example of waste from your work and design

an experiment to try eliminate it.

10 minutes

Page 85: Scrum training day 1
Page 86: Scrum training day 1

Parking lot

Page 87: Scrum training day 1

Sources of knowledge• Books:

– http://www.noop.nl/2011/08/top-100-agile-books-edition-2011.html

• Videos & Presentations:– http://www.makinggoodsoftware.com/2009/04/28/top-5-video-conferences-on-

agile/– http://www.infoq.com/agile/

• Blogs:– http://www.thescrumster.com– http://agilescout.com/top-agile-blogs-200/

• Discuss:– http://www.linkedin.com/groups/Agile-Practitioners-IL-81807