34
The Art of Scrum! (n) scrum, scrummage (rugby) the method of beginning play in which the forwards of each team crouch side by side with locked arms; play starts when the ball is thrown in between them and the two sides compete for possession) (…And How to Apply it to Testing) -by Kevin Kilburg

The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

The Art of Scrum!(n) scrum, scrummage (rugby) the method of beginning play in which the forwards of each team crouch side by side with locked arms; play starts when the ball is thrown in between them and the two sides compete for possession)

(…And How to Apply it to Testing)-by Kevin Kilburg

Page 2: The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

Who Am I?

Better yet- why am I qualified tobring this material to you?

• Scrum Implementer x 2• Certified Scrum Master• Avid Scrum Student

Page 3: The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

• What is Scrum?• How Scrum Works!

– Self Organization– People, Places, & Things– Process Guidelines

• How Scrum Fits into Testing…

Overview:

Page 4: The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

• What Scrum is Not!– A “silver bullet solution” to your organization’s

disorganization– A process “on rails”– A means of keeping management from

changing direction– A front-line only change

What is Scrum?

Page 5: The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

• What Scrum IS!– Scrum is an iterative process for developing

any product or managing any work, which produces a potentially shippable set of functionality at the end of every iteration.

-Ken Schwaber (Father of Scrum)

– It operates on the basis that projects using small, cross-functional teams historically produce the best results.

– Scrum enhances team interaction and places guidelines around what we already do!

What is Scrum?

Page 6: The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

Self Organization• Traditional Software Development

Quality Development BA’s / PM’s

3 Disparate functional

units,singularly tasked.

Page 7: The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

Self Organization• Agile/Scrum Software Development

Page 8: The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

People, Places, and Things

• Things!

– Product Backlog• Defects• Enhancements• Technological Initiatives• Corporate Vision/Strategy

• UNIQUELY PRIORITIZED!

• Owned and Maintained by……the Product Owner!

.Net Conversion

Orders Defects

Reporting Defects

Interface Update

SQL 2K5 Upgrade

Data Model Changes

Page 9: The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

People, Places, and Things

• More Things…!

– Sprint Backlog• List of items a team will complete in a SPRINT.• Broken down to individual tasks by hours.

Data Model Changes

Update Data Dict.Incorp. Changes in TestData ConversionTesting

Page 10: The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

• Even More Things!

– Sprint Backlog / Burndown• Daily updated list of sprint backlog tasks, with

hours remaining being the key indicator• Hours may go UP as tasks could be bigger than

initially anticipated• Helps the Scrum Master determine if the team is

on pace to be successful

People, Places, and Things

Page 11: The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

People, Places, and Things• Sprint Backlog /Burndown

Sprint Burndown

0

200

400

600

800

1000

1200

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

Series1

Page 12: The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

People, Places, and Things

• Yes, One More Thing!

– Sprint• An increment of time in which a team has to complete the

selected backlog of work

Page 13: The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

People, Places, and Things

• People!

– Product Owner• Must be an individual, not a committee• Maintains the Product Backlog constantly• Sets the Goals for the Teams

Page 14: The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

People, Places, and Things

• People!

– Scrum Master• Ensures Scrum values, practices, and rules are adhered to• Helps team to focus on goal by evaluating progress• Removes impediments• Facilitates Daily Scrums

Page 15: The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

People, Places, and Things

• People!

– Team Members• Manages the work the team has selected• Reports on the work the team has selected• Collaborates among themselves to overcome obstacles• Obviously, they perform the work• Communicate frequently and effectively

Page 16: The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

People, Places, and Things

• Places!

– Sprint Planning Meeting, Part I• With a ready and complete product backlog, the

team will meet with the Product Owner• The Product Owner will state the objective or goal for

the team as it relates to the upcoming sprint• The team will select tasks from the Product Backlog

that are relative to that goal

Page 17: The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

People, Places, and Things

• Places!

– Sprint Planning Meeting, Part II• The team will break down the high level backlog items

into individual tasks, and estimate the effort• The team members will select the items they will work on• The team will manage it’s time, ensuring that no individual

is over-allocated in time• The result will be a complete team sprint backlog

Page 18: The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

People, Places, and Things

• Places Everybody!

– Daily Scrum Meeting• A meeting that occurs with all of the team members, as well

as the Scrum Master, every day of the sprint, same time, same place

• Team Members answer 3 Questions:– What did I work on since the last meeting?– What will I work on since we meet again?– What impediments are preventing me from getting my tasks

done?• Team Members will have updated their hours on the sprint

backlog / burndown prior to the daily scrum

Page 19: The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

People, Places, and Things

• More Places!

– More on the Daily Scrum Meeting…• Team Members need to be on time, or the cost is $1• Scrum Masters must facilitate the meeting to begin and end

on time, or the cost is $5• There are two categories of Daily Scrum Attendees:

– Chickens (Not Team Members – May not talk during the scrum)– Pigs (Team Members – May talk during the scrum

Page 20: The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

People, Places, and Things

• Places Still!

– Sprint Review• A meeting that occurs on the last day of the sprint with the

entire team present as well as any interested management members, other teams’ members, customers, etc.

• A working session of the completed work is demonstrated– No elaborate PPT’s, flip charts, etc.

• The team will begin with citing the team goal, and will give a brief synopsis that speaks to whether or not they accomplished it, and to what percent.

• The Product Owner, Customer, and Management will determine if course corrections need to be made, and will incorporate them into the Product Backlog

Page 21: The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

People, Places, and Things

• Places to Go!

– Sprint Retrospective• A meeting that occurs day after the sprint with the entire team

present – nobody else.• The team will review what they worked on, with the focus

lying in two areas:– What worked (process-wise) ?– What didn’t work- or could be done better?

Page 22: The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

People, Places, and Things

.Net Conversion

Orders Defects

Reporting Defects

Interface Update

SQL 2K5 Upgrade

Data Model Changes

Update Data Dict.Incorp. Changes in TestData ConversionTesting

Product Backlog

Sprint Backlog

• The Whole Enchilada!

Page 23: The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

Process Guidelines• Scrum Rules

– Have teams set- try not to swap personnel– Plan what you want to do for the next sprint– Have a daily scrum, and stick to brief, relevant status– Communicate in meetings, backlogs, etc. – Truthfully– The Team manages the Team– Sprints cannot be interrupted– One Person maintains the Product Backlog

Page 24: The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

Process Guidelines• Scrum Values

– Do what makes sense (Absolutely #1)– Traditional roles do not apply, but help– Team members are responsible to the entire team for

the iteration to be successful (i.e. How can I help?)– Frequent, if not instant communication to remove

impediments– Responsiveness and Adaptation to change– Working software is more important than exhaustive

documentation

Page 25: The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

Pause for Exercise?

Page 26: The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

Benefits…

Sprint 2 Sprint 3Sprint 1 Sprint 4

Home Quote:New Business

Home Application:

New BusinessFarm Quote:

New Business

Farm Quote:New Business

Home Quote:New Business

Home Quote:New Business

Home Application:

New Business

Home Application:

New Business

Home Application:

New Business Change

Home Application:

New Business Change

Farm Quote:New Business

Home Application:

Existing Business Change

Home Quote:New Business

Home Quote:New Business

Home Quote:New Business

Specification

Review and Signoff

Design / Dev

Home Quote:New Business

Auto / Test

Home Quote:New Business

UAT / Beta / Release

First Customer / Management Review

Traditional Waterfall Agile / Scrum

Page 27: The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

What About Testing?

• Doubts, Misconceptions, etc?– How will this prevent QA from the squeeze?– If Developers code until the last day of the

sprint, when do we test?– How will QA stay busy during the whole

sprint?– Isn’t Scrum and other Agile methods

Development Methodologies?

Page 28: The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

What About Testing?

• The Squeeze:– Scrum is implemented from the top down, so-

This is an issue to address right up front:• “What does DONE” mean for your organization?• For most, it means the increment of code

completed has been unit tested and acceptance tested

• In the subsequent sprint, folks testing may take on a task of functional, integration, system testing, etc. (i.e. Shadow Testing)

Page 29: The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

What About Testing?• Coding until the 11th Hour:

– Again, on a larger project that may require some serious integration, this is a topic to address right at the beginning

• For us, it means that all teams will partake in an “Integration Sprint”

– Testers will Test– Coders will Test / Unit Test / Write utilities to

aid in testing / Fix bugs– All others will test, document, prepare for

release

Sprint 8 Sprint 9

Farm Umbrella Application:

New Business Change

Farm Umbrella Application:

New Business

Farm Umbrella Application:

New Business

Farm Umbrella Application:

New Business

Farm Umbrella Application:

New Business Change

Farm Umbrella Application:

Existing Business Change

INTE

GR

ATI

ON

SP

RIN

T (C

OM

PLE

TE C

OD

E F

REE

ZE)

Page 30: The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

What About Testing?

• Up Front Work:– Traditionally, QA will not have much work up

front in a project– In Scrum, all team members are called to step

up and do something that will help the team be successful

• Pre-Test Planning• Specs / Reqs Review / Draft• Estimation of tasks that are several sprints away• Support / Training / etc.

Page 31: The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

What About Testing?

• Isn’t this just for Development?:– Scrum Defined:

• “Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality at the end of every iteration”

– Any work being the operative words here…

Page 32: The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

Observations

• Awareness of roles• Uncomfortable at first• Slower before faster• Teams underestimate up front• It only works if it is supported from the top• Account for ‘normal duties’• People like to have something to say!

Page 33: The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

Questions?

Page 34: The Art of Scrum! · • What Scrum IS! – Scrum is an iterative process for developing any product or managing any work, which produces a potentially shippable set of functionality

ReferencesAgile Alliance

www.agilealliance.comControlled Chaos

www.controlchaos.comJeff Sutherland's Technology

jeffsutherland.com Various content related to software programming and technology, with specialties in objects, components, and Scrum. Very up to date and educational

Mike Cohn's Scrum Sitewww.mountaingoatsoftware.com/scrum/ Various Scrum definitions, flow, and tutorial type of information

Ron Jefferies' Extreme Programmingwww.xprogramming.com Updated site with the best information, talk, and commentary on

Agile Methodswww.objectmentor.com Training, mentoring, and consulting for the agile methods, particularly Extreme

www.agiledata.org Use modeling techniques appropriate to agile methods, generally hosted by Scott Ambler, and anyone interested in agile database techniques.

Martin Fowlerwww.martinfowler.com Good information from a great mind

Crystalalistair.cockburn.us/crystal/crystal.html Alistair Cockburn's information on Crystal and sufficient processes