shirly ronen - agile defect management - functional defects versus regression defects
DESCRIPTION
TRANSCRIPT
Agile Defect management
Functional defects vs Regression defects
Shirly Ronen-Harel
Oct 2010
http://il.linkedin.com/pub/shirly-ronen-harel/0/653/249
An example of an agile bug management by
an agile team/s
Life cycle principles
• Defects management is one of Highly important process to manage efficiently and effectively.
• Managing and resolving defects in a timely and efficient manner.
• Outstanding defects can hold up the release of functionality to the business.
• Defect should be related to functionality – not to a module.
• Finding Defects Early.
• Quality in – fixing and testing early.
Identify two types of defects
Functional Defect : • Related to a specific user story and found during testing a specific user
story .
– A fault (Defect) will be traced to this user story .
– In this case the fault (Defect) at the moment detected, is already in the iteration backlog , waiting for a decision.
Regression defect : • Regression fault : a fault that was found during regression tests with no
specific user story related or when a specific user story related is already delivered and close.
– In this case it will be an independent regression fault (regression defect)
– In this case fault (regression defect) will be added to the backlog as an item with priority and decision , unless it was fixed on the spot when detected.
Functional Defect
• Development process:
–A defect is a user story child.
– It is born from a task testing or user
story acceptance, regression, sanity testing
User story
Task
Task in testing
Defect
Defect Epic
User storyUser story
User story
Acceptance tests - scenarios
DefectDefect
Managing functional defects
During the iteration :
• Peering testers with developers; functional Defects are fixed
immediately.
• For every functional defect detected there should be a decision on fix
or approved as open.
• In case of ‘check-in’ to a branch fails – defect should be immediately
fixed.
• No additional code is integrated in cases of failed integration into a
branch till the defects are fixed.
• Defects fix are high priority against continue to code for a new
functionality.
• After the team creates a build the team performs sanity tests : Sanity
defects – should be fixed immediately.
• Code integrated Defects should not be left to the hardening phase.
• End of iteration target – zero functional defects (either fixed or
approved as open by PO for example : minor bugs).
• As a result of acceptance tests, all defects decisions should be closed.
User story
Task
Task in testing
Defect
Defect
Fix immediatelyTest again before commit/integration
What is done:
PO decides: Approve as openFix before doneFix immediately
User story
Defect
A user story cannot be 'Done' unless all of its bugs are fixed or
approved as open.
• Functional defects are fixed according to User story priority.
• And not according to the defects priority between themselves.
• Our goal is to finish user stories functionality first.
User story priority 1
Defect Priority 1
Defect Priority 2
User story priority 2
Defect Priority 1
Defect approve as
open
User story priority 3
Defect Priority 1
First fixed
Managing Regression defects
Should be added to the sprint/ product backlog and
prioritized as part of a backlog item.
User story 1
User story 2
Regression defect 3
Regression defect 4
User story 5
Regression defect 6
User story 7
User story 8
Regression defect detected at customer
site
Regression defect not reproduced or reproduced
as requirements
Reproduced in our site
developmentVersion release
Customer lab
Production
Iteration backlog
Product/release backlog
priority
Defects work flow – regression & customer related:
Regression defect during
iteration