using scrum as a test management method · using scrum as a test management method asta conference...
TRANSCRIPT
Using SCRUM as aTest Management method
ASTA conference 2007S l KSeoul, Korea
Presented by Klaus Olsen
dAgenda
Introduction
Scrum
7.
Scrum
& K
laus
Ols
en 2
007
Agile Estimation
© S
oftw
aret
est.d
k &
Test management
Kl Ol bi h Klaus Olsen, biography Founder and owner of the company Softwaretest.dk Has used the past 15 years to focus on software testing, test process improvements and teachingAuthor of “Softwaretest – how to get started” in DanishgCertified ScrumMaster Trustee in TMMi FoundationMember of ISTQB Board representing Denmark
7.
Member of ISTQB Board, representing DenmarkCo-author of ISTQB Foundation and Advanced SyllabusOther presentations:
& K
laus
Ols
en 2
007
EuroSTAR´98 in Münich Second World Congres on Software Quality 2000 in Yokohama, JapanEuroSTAR´2001 in Stockholm
© S
oftw
aret
est.d
k &
Quality Week 2001 in San Francisco, USAEuroSTAR´2003 in Amsterdam.
Advanced Workshop ”Boost Your Testing, Go on a Bug Hunt!”
Contact Klaus by mail [email protected]
I d iIntroduction
Scrum is an Agile method to create software in iteration of 30 days. In this tutorial you will learn how to use Scrum as a Test Manager. At the same time you will be introduced to the
h d S hi h h h d i i
7.
method, Scrum, which has shown productivity improvements of 100%, 200% and up till 300% in companies who are using this method as the way
& K
laus
Ols
en 2
007companies who are using this method as the way
they build software.You can be certified as a ScrumMaster but this is
© S
oftw
aret
est.d
k &You can be certified as a ScrumMaster, but this is
not a certification class, read more about this on www.controlchaos.com
il M ifAgile Manifesto
1. Individuals and interactions2. Working software
over processes and toolsover comprehensive
3. Customer collaborationdocumentation
over contract negotiation
7.
4. Responding to changeg
over following a plan
& K
laus
Ols
en 2
007
While there is value in the items on the right,
© S
oftw
aret
est.d
k &While there is value in the items on the right,
we value the items on the left more.
Read more on www.AgileAlliance.org
U il Use Agile to
Increase control of a projectReduce the riskMaximize Return on Investment, and Increase probability of success
7.
c ease p obab y o success
& K
laus
Ols
en 2
007
© S
oftw
aret
est.d
k &
il P iAgile Practices
Agile lays out a vision and then nurtures project resources to the best possible to achieve the plan.Agile is the “art of the possible.”Scrum maximized communication through daily
7.
status meetings, open workspaces, and optimal size teams.
& K
laus
Ols
en 2
007
Focus time during an iteration when the team is protected from interference and distractions.
© S
oftw
aret
est.d
k &
3 k i f hi i3 key points of this presentation
1. You will learn how to create a Product Backlog where all the work you need to get done within your test team should be listed.
2. You will learn why Daily Meetings of 15 minutes l bl d h
7.
are more valuable to you and your team than a once a week status meeting.
3 Y ill l h t t B d Ch t f
& K
laus
Ols
en 2
0073. You will learn how to create a Burndown Chart of
remaining work within each iteration.
© S
oftw
aret
est.d
k &
dAgenda
Introduction
Scrum
7.
Scrum
& K
laus
Ols
en 2
007
Agile Estimation
© S
oftw
aret
est.d
k &
Test management
S M t hScrum Metaphor
A part of a rugby game when players from both sides link themselves together in a group with their headslink themselves together in a group, with their heads down, and push against the other side.
7.
The ball is then thrown between them and each
& K
laus
Ols
en 2
007
side tries to get it.
© S
oftw
aret
est.d
k &
Just before this, each teamhas agreed there tactics tobe used in the next playbe used in the next play.
k lScrum Skeleton
24-hourInspection
7.&
Kla
us O
lsen
200
7
Iteration
© S
oftw
aret
est.d
k &
ProductBacklog
Increment ofproduct backlog
Read more about Scrum on www.controlchaos.com
Scrum
3 R l3 Roles
7.
3 Meetings
& K
laus
Ols
en 2
007
g
© S
oftw
aret
est.d
k &
3 Artifacts
R lScrum Roles
P d OProduct Owner
7.
ScrumMaster
& K
laus
Ols
en 2
007
© S
oftw
aret
est.d
k &
Team
P d OProduct Owner
One personSets development schedule by prioritizing backlogp y p g gResponsible for ensuring that the most important business value is developed first
7.
Represents all stakeholders
& K
laus
Ols
en 2
007
© S
oftw
aret
est.d
k &
MScrumMaster
Test (Project) ManagerCoach Responsible for the processResponsible for maximizing team productivity
7.
espo s b e o a g ea p oduc ySets up meetingsConducts meetings
& K
laus
Ols
en 2
007Conducts meetings
Representative to managementRepresentative to team
© S
oftw
aret
est.d
k &Representative to team
TTeam
Self-organizingSeven +/- 2 membersBest experts availableHas the business and technical domain skills to test
7.
as e bus ess a d ec ca do a s s o esan increment of functionalityResponsible for committing to work
& K
laus
Ols
en 2
007
p gAuthority to do whatever is needed to meet commitment
© S
oftw
aret
est.d
k &
T lf O i iScrum Team Self Organization
Team decides who will do whatAs more is known, team continues to adjust work , jand assignmentsTeam self-organizes at beginning of Sprint
7.
Each team member self-organizes himself or herself every day
& K
laus
Ols
en 2
007
Team self-organized itself every Daily Scrum
© S
oftw
aret
est.d
k &
Scrum
3 R l3 Roles
7.
3 Meetings
& K
laus
Ols
en 2
007
g
© S
oftw
aret
est.d
k &
3 Artifacts
M iScrum Meetings
S i t Pl i W k hSprint Planning Workshop
7.
Daily Scrum
& K
laus
Ols
en 2
007
y
i R i M i
© S
oftw
aret
est.d
k &Sprint Review Meeting
MScrum Meetings
DailyScrum
7.&
Kla
us O
lsen
200
7
SprintIteration
© S
oftw
aret
est.d
k &
ProductBacklog
Increment ofproduct backlog
Sprint Planning Workshop Sprint Review Meeting
i Pl i M iSprint Planning Meeting
1st. - 4 hours meeting max. for team to select Product Backlog and sets goal with Product Owner Team selects as much Product Backlog as it believes it can handle during the next Sprint
7.
2nd. - 4 hours meeting max. for team to define Sprint Backlog to agree functionality to be tested
& K
laus
Ols
en 2
007
Anyone can attend, but primary conversation and work is between team and Product Owner
© S
oftw
aret
est.d
k &
D il Daily Scrum
Daily 15 minutes status meetingSame place and time every dayp y yChickens and PigsThree questions:
7.
ee ques o s1. What have you done since last meeting?2. What will you do before the next meeting?
& K
laus
Ols
en 2
0072. What will you do before the next meeting?
3. What is in your way?Impediments
© S
oftw
aret
est.d
k &Impediments
Decisions
Chi k d PiChickens and Pigs
A chicken and a pig are together when the chicken says, "Let’s start a restaurant!”
The pig thinks it over and says,
7.
"What would we call this restaurant?”The chicken says, "Ham n’ Eggs!"
& K
laus
Ols
en 2
007
The pig says, "No thanks. I’d be committed, but you’d only be involved!"
© S
oftw
aret
est.d
k &
D il Daily Scrum
First meeting take more time as team learns how to ScrumKeep meetings crispUse “Stand Up Meetings”
7.
Focus on answering the three questionLet each person have 2 minutes to answer
& K
laus
Ols
en 2
007
pKeep chickens quite, and Don´t allow discussions regarding what has been
© S
oftw
aret
est.d
k &g g
reported Setup meetings following the Daily Scrum as needed
D b l f D l Don´t be late for Daily Scrum
One team started with a $1 fine for the late person, but later decided that it made it feel almost OK to be late -- "I've paid my fine, I'm in the clear".”So they tried a different approach: when one person i l $1 fi fl h f
7.
is late, everyone pays a $1 fine -- to reflect the fact that the lateness costs everyone. People pretty much stopped being late after that
& K
laus
Ols
en 2
007stopped being late after that.
Make sure the fine isn't used to buy doughnuts or things like this for the team - because in a weird way
© S
oftw
aret
est.d
k &things like this for the team because in a weird way
you're actually rewarding the behavior.Make the suggestion of the $1 fine for charity.gg $ y
Nicholas Cancelliere at [email protected]
i R i M iSprint Review Meeting
1. ScrumMaster provides review of Sprint goals, functionality chosen and functionality actually tested and to be demonstrated.2 Team provides overview of the Sprint and functionality tested2. Team provides overview of the Sprint and functionality tested.3. Team demonstrates the functionality on various workstations. Sometimes, if the audience is large, various team members demonstrate different pieces of functionality simultaneously until everyone has seen
7.
different pieces of functionality simultaneously until everyone has seen everything.4. Meeting reconvenes and ScrumMaster facilitates a discussion of impressions and observations on what was just demonstrated
& K
laus
Ols
en 2
007impressions and observations on what was just demonstrated.
5. ScrumMaster facilitates Sprint retrospective, a discussion of what went right and what went wrong in the Sprint, and what can be done to improve th t S i t
© S
oftw
aret
est.d
k &the next Sprint.6. ScrumMaster facilitates a discussion of the impact and implications of the demonstrated functionality of the schedule and product backlog.7. ScrumMaster announces time and place of Sprint Planning meeting that will initiate the next Sprint.
i R i M i R lSprint Review Meeting Rules
2-3 hours Maximum 1 hour preparationp pNo PowerPoint presentationsUse equipment where software was developed and
7.
Use equ p e e e so a e as de e oped a dtestedPresented by team to Product owner and
& K
laus
Ols
en 2
007
ycustomer/usersBasis for planning the next Sprint
© S
oftw
aret
est.d
k &
Must represent potentially shippable increment of product functionality
Scrum
3 R l3 Roles
7.
3 Meetings
& K
laus
Ols
en 2
007
g
© S
oftw
aret
est.d
k &
3 Artifacts
ifScrum Artifacts
P d B klProduct Backlog
7.
Sprint Backlog
& K
laus
Ols
en 2
007
p g
© S
oftw
aret
est.d
k &
Burndown Chart
SCRUMS 15 i t d il ti
24hours Scrum: 15 minute daily meeting.
Team members respond to:1) What did you do since last
Scrum Meeting?2) Do you have any obstacles?
hours
30 days
Sprint Backlog:Tasks selected for a Sprint
Tasks selected by h b
2) Do you have any obstacles? 3) What will you do before next
meeting?
7.
yfor a Sprint each member
& K
laus
Ols
en 2
007
Functionality ready to ship
© S
oftw
aret
est.d
k &
Product Backlog:Everything included within testing
at end of Sprint
Everything included within testing, prioritized and estimated Read more on
www.controlchaos.com
P d B klProduct Backlog
List of task that needs to be doneIssues are placeholders that are later defined as work pMore detail on higher priority backlogOne list for multiple teams
7.
O e s o u p e ea sProduct owner responsible for priorityAnyone can contribute
& K
laus
Ols
en 2
007Anyone can contribute
Maintained and posted visibly
© S
oftw
aret
est.d
k &
P d B kl E lProduct Backlog ExampleID Description Estimate PriorityID Description Estimate Priority1 Define roles and responsibility within project2 Define Test Levels in project 3 Define Goals for each Test Level in project 4 Write Test Plan for project5 R i R i d i
7.
5 Review Requirement documentation6 Structure System Test into Test Areas 7 Create and document test cases
& K
laus
Ols
en 2
0077 Create and document test cases
8 Define requirement for test environment9 Define requirement for test data
© S
oftw
aret
est.d
k &
10 Investigate how test data can be created11 Execute test12 Create defect reports
ifScrum Artifacts
P d B klProduct Backlog
7.
Sprint Backlog
& K
laus
Ols
en 2
007
p g
© S
oftw
aret
est.d
k &
Burndown Chart
i B klSprint Backlog
List of highest priority task from Product BacklogTasks are estimated in hours, usually 1-16, yTask with more than 16 hours are broken down laterTeam members sign up for tasks, they aren´t
7.
ea e be s s g up o tas s, t ey a e tassigned (be patient, just wait)Estimate work remaining is updated daily
& K
laus
Ols
en 2
007
g p yIf work is unclear, define a Sprint Backlog with a larger amount of time … break it down later
© S
oftw
aret
est.d
k &
Update work remaining as more is known, as items are worked
i B kl E lSprint Backlog ExampleThe Sprint Backlog is an extract of the Product Backlog with estimated work for 30 calendar days / 22 workdays for a team 7 +/- 2
ID Description Estimate Priority1 Define roles and responsibility within project 1
7.
1 Define roles and responsibility within project 12 Define Test Levels in project 23 Define Goals for each Test Level in project 3
& K
laus
Ols
en 2
007p j
8 Define requirement for test environment 49 Define requirement for test data 5
© S
oftw
aret
est.d
k &
4 Write Test Plan for project 65 Review Requirement documentation 76 St t S t T t i t T t A 86 Structure System Test into Test Areas 810 Investigate how test data can be created 9
iSprint
The Scrum Team has decided what it will accomplish during the upcoming Scrum. It now Sprints to accomplish the Sprint Goal.A Sprint is conducted in a vacuum, totally protected f id i d i f Thi ll h
7.
from outside noise and interference. This allows the team to get their collective minds around a problem and creatively solve it
& K
laus
Ols
en 2
007and creatively solve it.
S i t B kl
© S
oftw
aret
est.d
k &
30 days
Sprint Backlog:Tasks selected for a Sprint
Tasks selected by each member
f lf l klSprinting to fulfil Sprint Backlog
Scrum Practice – SprintThirty calendar day iterationThirty calendar day iterationTeam work on task defined in Sprint BacklogTeam self organizes to do work
7.
Team self-organizes to do workTeam conforms to existing standards and conventions
& K
laus
Ols
en 2
007conventions
© S
oftw
aret
est.d
k &
R l d i iRoles during Sprint
Execute task listed in Sprint BacklogMaintain the Sprint Backlog
TeamScrumMaster p g
Assess Sprint BurndownTeam, +ScrumMaster
7.
Stop External InterferenceRemove Impediments
ScrumMasterScrumMaster
& K
laus
Ols
en 2
007
p
© S
oftw
aret
est.d
k &
M ibiliScrumMaster responsibility
Stop External InterferenceThe primary tool for the ScrumMaster monitoring forThe primary tool for the ScrumMaster monitoring for outside interference is the Daily Scrum meeting.Most organizations tolerate continual interference
7.
Most organizations tolerate continual interference which result in reduced productivity. The ScrumMaster is a change agent who must
& K
laus
Ols
en 2
007g g
politely but firmly enforce the rule of no interference.
© S
oftw
aret
est.d
k &
M ibiliScrumMaster responsibility
Remove ImpedimentsObstacles reported at Daily Scrum meeting must beObstacles reported at Daily Scrum meeting must be dealt with by the ScrumMaster. The ScrumMaster must work to optimize the team
7.
The ScrumMaster must work to optimize the team productivity during the Sprint by removing impediments.
& K
laus
Ols
en 2
007
© S
oftw
aret
est.d
k &
C I diCommon Impediments
Workstation, network, and/or server are down.Network or server are slow.Test environment are not ready when planned. Test data are not in place when testing should start.
7.
es da a a e o p ace e es g s ou d s aUnsure about the exact requirement that must be tested.
& K
laus
Ols
en 2
007
Required to attend status meeting with management.Asked by management to something other than what
© S
oftw
aret
est.d
k &y g g
this team member committed to do for this Sprint.
ifScrum Artifacts
P d B klProduct Backlog
7.
Sprint Backlog
& K
laus
Ols
en 2
007
p g
© S
oftw
aret
est.d
k &
Burndown Chart
B d ChBurndown Chart
Work remaining on each task is reported during the Daily Scrum meeting, and updated by the ScrumMasterNotice that this is different than measuring how many h h b d k
7.
hours have been spend on a taskTime reporting is not part of Scrum
& K
laus
Ols
en 2
007Scrum is results oriented, not effort driven
© S
oftw
aret
est.d
k &
B d Ch E lBurndown Chart ExampleBurndown Chart Examplep
7.&
Kla
us O
lsen
200
7©
Sof
twar
etes
t.dk
&
B d Ch E lBurndown Chart Example
Show in Excel tool
7.
Show in Excel tool
& K
laus
Ols
en 2
007
© S
oftw
aret
est.d
k &
Questions?
7.
Questions?
& K
laus
Ols
en 2
007
© S
oftw
aret
est.d
k &
dAgenda
Introduction
Scrum
7.
Scrum
& K
laus
Ols
en 2
007
Agile Estimation
© S
oftw
aret
est.d
k &
Test management
Wh i E iWhat is an Estimate
The most common view, an estimate is a numberAn estimate is a prediction about the future which phas an equal probability of being above or below the actually result
7.
An estimate always has a level of uncertainty. Estimates should always be accompanied with an
l ti f t i t
& K
laus
Ols
en 2
007explanation of uncertainty.
© S
oftw
aret
est.d
k &
il E i iAgile Estimation
An Agile way to estimate is a technique with cards:1. Each team members select a set of cards (13)2. Decide if estimates is in hours or days 3. The facilitator reads the task to be estimated4 Th t k i di d
7.
4. The task is discussed5. Each person selects a card with a value they believe the task
need in order to be completed
& K
laus
Ols
en 2
007p
6. All cards are turned over and put on the table with value facing up
7 If t ti t thi i th ti t
© S
oftw
aret
est.d
k &7. If agreement on estimate this is the estimate8. If values are diverse the person with the highest and lowest
value explains the reason for there estimatesp9. Repeat process from step 5 until agreement in step 7
il E i i i C dAgile Estimation using Cards
7.&
Kla
us O
lsen
200
7©
Sof
twar
etes
t.dk
&
Using the ”Fibonacci numbers” - each number is the sum of the two preceding numbers
il E i i E l IAgile Estimation Example I
7.&
Kla
us O
lsen
200
7©
Sof
twar
etes
t.dk
&
5 Scrum team members estimates a task
il E i i E l IIAgile Estimation Example II
7.&
Kla
us O
lsen
200
7©
Sof
twar
etes
t.dk
&
5 Scrum team members estimates a task
il E i i E l II Agile Estimation Example II close-upCards are turned over with value facing upCards are turned over with value facing up
7.&
Kla
us O
lsen
200
7©
Sof
twar
etes
t.dk
&
P l ith ti t f 5 d 21 h l iPeople with estimate of 5 and 21 hours explains the reason why they have the estimate they have
il E i i E l IIIAgile Estimation Example IIIA new game of estimating is playedA new game of estimating is played
7.&
Kla
us O
lsen
200
7©
Sof
twar
etes
t.dk
&
III Agile Estimation Example III close-up
7.&
Kla
us O
lsen
200
7©
Sof
twar
etes
t.dk
&
Consensus on Estimate, 3 hours is used asan estimate for this task
il E i iAgile Estimation
An Agile way to estimate is a technique with cards:1. Each team members select a set of cards (13)2. Decide if estimates is in hours or days 3. The facilitator reads the task to be estimated4 Th t k i di d
7.
4. The task is discussed5. Each person selects a card with a value they believe the task
need in order to be completed
& K
laus
Ols
en 2
007p
6. All cards are turned over and put on the table with value facing up
7 If t ti t thi i th ti t
© S
oftw
aret
est.d
k &7. If agreement on estimate this is the estimate8. If values are diverse the person with the highest and lowest
value explains the reason for there estimatesp9. Repeat process from step 5 until agreement in step 7
P d B kl E lProduct Backlog ExampleID Description Estimate PriorityID Description Estimate Priority1 Plan functional test of Selling Tickets 13 h2 Plan functional test of selling food and drinks 8 h3 Plan functional test of being picked up 8 h4 Plan test of other products – blankets etc. 8 h5 Pl t t f bilit 21 h
7.
5 Plan test of usability 21 h6 Plan test of security 34 h7 Plan test of Performance 34 h
& K
laus
Ols
en 2
0077 a test o e o a ce 3
8 Plan test of Browser 13 h9 Set requirement for test environment 34 h
© S
oftw
aret
est.d
k &
10 Set requirement for test data (get data) 21 h11 Execute test of Usability – low cost 13 h12 E t t t f f ti lit S lli Ti k t 8 h12 Execute test of functionality Selling Tickets 8 h
Questions?
7.
Questions?
& K
laus
Ols
en 2
007
© S
oftw
aret
est.d
k &
dAgenda
Introduction
Scrum
7.
Scrum
& K
laus
Ols
en 2
007
Agile Estimation
© S
oftw
aret
est.d
k &
Test management
T M i Test Management using Scrum
Use the parts of Scrum that are feasible in your organisationMany parts are common sense, but through Scrum the have been put together, and they have proven
k
7.
to workIf not all, I suggest you use:
& K
laus
Ols
en 2
007
Product BacklogSprint Backlog
© S
oftw
aret
est.d
k &
Agile EstimatingDaily Scrum meetingsBurndown Chart
SCRUMS 15 i t d il ti
24hours Scrum: 15 minute daily meeting.
Team members respond to:1) What did you do since last
Scrum Meeting?2) Do you have any obstacles?
hours
30 days
Sprint Backlog:Tasks selected for a Sprint
Tasks selected by h b
2) Do you have any obstacles? 3) What will you do before next
meeting?
7.
yfor a Sprint each member
& K
laus
Ols
en 2
007
Functionality ready to ship
© S
oftw
aret
est.d
k &
Product Backlog:Everything included within testing
at end of Sprint
Everything included within testing, prioritized and estimated Read more on
www.controlchaos.com
B fi f D il M iBenefits of Daily Scrum Meetings
As a test manager you will once each 24 hours know the status of your teams test progress.Your team members will experience they are moving things forward, they will have a small
d h h bl
7.
success everyday, when they are able to report there progress since the last meeting.Y ill d i th d il 15 i t b bl t
& K
laus
Ols
en 2
007You will during the daily 15 minutes be able to
measure the temperature of your team. Instead of once a week status meeting of 1 or 1½ hour
© S
oftw
aret
est.d
k &
You will be able to notice team members who needs support/coaching within a few days instead
Instead of once a week status meeting of 1 or 1½ hour
needs support/coaching within a few days, instead of weeks.
H dScrum – How to get started
1. Create a Product Backlog2. Estimate each task the Agile way, with your team g y, y3. Prioritize each task, together with you Product
Owner, or together with your test team
7.
4. Create a Sprint Backlog with work for an iteration of 30 calendar days
& K
laus
Ols
en 2
007
5. Start with a Daily Scrum meeting, and let each team member set there own goal for the next 24 h
© S
oftw
aret
est.d
k &hours6. Update your Burndown Chart each day with
remaining workremaining work
Questions?
7.
Questions?
& K
laus
Ols
en 2
007
© S
oftw
aret
est.d
k &
f kMore information - Linkswww controlchaos comwww.controlchaos.com
7.lli
& K
laus
Ols
en 2
007www.scrumalliance.org
© S
oftw
aret
est.d
k &
f kMore information - Linkswww agilealliance orgwww.agilealliance.org
7.ft t t dk
& K
laus
Ols
en 2
007www.softwaretest.dk
© S
oftw
aret
est.d
k &