Upload
others
View
6
Download
0
Embed Size (px)
Citation preview
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
Who Am I?
Better yet- why am I qualified tobring this material to you?
• Scrum Implementer x 2• Certified Scrum Master• Avid Scrum Student
• What is Scrum?• How Scrum Works!
– Self Organization– People, Places, & Things– Process Guidelines
• How Scrum Fits into Testing…
Overview:
• 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?
• 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?
Self Organization• Traditional Software Development
Quality Development BA’s / PM’s
3 Disparate functional
units,singularly tasked.
Self Organization• Agile/Scrum Software Development
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
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
• 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
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
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
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
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
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
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
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
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
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
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
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?
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!
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
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
Pause for Exercise?
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
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?
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)
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)
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.
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…
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!
Questions?
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