Shirly Ronen - Agile defect management - Functional Defects versus Regression Defects

Post on 13-Jan-2015

1,765 views 1 download

Tags:

description

 

transcript

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