1. Agile Defect management
Functional defects vs Regression defects
Shirly Ronen-Harel
Oct 2010
shirly@agilesparks.com
http://il.linkedin.com/pub/shirly-ronen-harel/0/653/249
2. An example of an agile bug management by
an agile team/s
3. 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.
4. 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.
5. 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
6. User story
Task
Task in Defect
testing
Defect Epic
User story
User story
User story
Acceptance tests - scenarios
Defect
Defect
7. 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.
8. User story
Task
Fix immediately
Task in Defect
Test again before
testing commit/integration
Defect
9. What is done:
User story
PO decides:
Defect Approve as open
Fix before done
Fix immediately
A user story cannot be 'Done' unless all of its bugs are fixed or
approved as open.
10. • 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 User story User story
priority 1 priority 2 priority 3
Defect Defect Defect
Priority 1 Priority 1 Priority 1
First fixed
Defect
Defect
approve as
Priority 2
open
11. 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
12. Defects work flow – regression & customer related:
Regression defect
detected at customer Reproduced in our site
site priority
Product/
Regression defect not
release
reproduced or reproduced backlog
as requirements Iteration
backlog
Regression
defect during
Customer lab iteration
Version release development
Production