Defect Management Process
Defect Management Process
Process Definition
Version DRAFT, 06/25/2004
Revision History
Version Date Updated By Modifications
This process will govern all defects identified by the team responsible for Quality
Assurance testing of the Project Telescope solution. This process will also be used to
support defects identified during both informal and formal user acceptance testing.
Process Control
Process Objectives
• Efficient management and resolution of defects across all development teams
• Enable efficient communication
• Visibility to software quality
• Clear business ownership of priorities and risk
Process Owners
This process will be owned by Chris Solomon, as the QA lead for Project Telescope.
Chris will be responsible for addressing any issues with the design and execution of the
process.
Review open
Business
defects and
assign priority
QA Test Execution
No
Verify defect
Verified as a Clear
QA Defect Management
No Yes
Review Identify
Close as “Not a Assign Schedule Coordinate
defects targeted and
Defect” or link to No development testing within software
“ready for regression
existing defect ownership iteration cycle promotion
QA” scripts to run
Identify defect
ownership
Review Dispute
Development Liasion
No No
Yes
Design Update Unit Develop Unit Test Defect resolved Merge Integration
Investigate Yes
Change Test Plan Change Change by developer Change Test Change
No
Defect Creation
A defect is created by QA whenever a discrepancy between expected results and actual
results are encountered. The person executing the test will open a new defect with a brief
description, provide information regarding the operating conditions that were in place
when the defect occurred, where in the application flow the defect was found, what test
script was being executed, the expected and actual results, and any additional information
that may be of assistance in the resolution of the defect.
Defect Verification
Once a defect is created, the defect coordinator performs an initial analysis of the
situation to verify that the defect is valid, that the problem has not already been identified
and logged as another defect, and assigns a severity code to the defect. The severity code
provides an indication of the impact that the defect has to the operation of the solution.
The following severity codes will be employed:
Defect Prioritization
The business owner of the solution will review all open defects that have not been
prioritized, determine the urgency of resolution for a defect, and assign a priority code to
the defect. The following priority codes will be employed:
Note: If a defect is preventing the QA team from executing their testing, a priority code of 1
or Critical will be assigned by QA
Defect Assignment
The defect coordinator will further analyze the defect and determine which development
group should be assigned responsibility for resolving the defect. The defect coordinator
may engage the development team for assistance in determining ownership of the defect
where it is unclear or requires deep technical knowledge.
Defect Resolution
Understanding the development team workload and skill set, other changes being
performed to the defective component, and current development schedules, the
development liaison will assign the responsibility for resolving a defect to a developer.
The developer will analyze, design, develop, and test any changes necessary to resolve
the defect. Once the changes have been made, the development liaison will inform QA
that the change is ready to be migrated to QA for testing and verification.
Resolution Verification
The QA Defect Coordinator will review the defects that have been identified as “ready
for QA”, identify the set of test scripts that should be run to verify that the defect has
been resolved and work with the environment control and test execution team to schedule
the software migration and configuration as well as the verification test execution.
Defect Closure
Upon verification that a defect has been resolved, the QA test execution group can close
the defect.
Outputs
The process is complete once the defect has been closed or deferred.
Resolving the discrepancy between the actual results and the expected results closes a
defect. This can be accomplished through a change in the software, a modification or
clarification of the requirements resulting in a change to the expected results, or the
realization that a defect has already been identified.
A defect is deferred if the business owner, after reviewing the defect with QA and
Development and assessing the associated risks, defers the resolution of a discrepancy.
Other outputs of this process include the process performance reports that should be used
to monitor and continuously improve the process.
QA Test Execution
The QA test execution group is responsible for executing the initial testing and any defect
resolution verification testing within each testing iteration/phase. Including:
• Setting up the test data required to execute the test scripts
• Execution of the test scripts whether manual or automated
• Identification of discrepancies between expected and actual results
• Verification of expected data updates
• Creation of defects and entry of supporting information in the defect management
tool
• Execution of test scripts to verify that the defect has been resolved
• Updating the defect management tool with the final resolution
QA Defect Coordinator
The QA defect coordinator is responsible for managing the lifecycle of a defect from
initiation through closure. Including:
• Verifying that a defect is valid and unique
• Assessing and assigning the severity of a defect
• Ensuring that a defect is prioritized and assigned to the correct owner
• Monitoring the resolution progress with the appropriate development group
• Managing any defect disputes to closure
• Coordinating the promotion of the software changes to resolve a defect into the
staging environment with the operations group and test execution team
• Working with the development group to understand the impact of the defect
resolution and defining the scope of the defect verification testing
• Scheduling the defect resolution verification testing with the test execution team
• Coordinating and facilitating the go/no go meetings at the end of an iteration
• Producing, analyzing, and publishing the defect management performance reports
Development Liaison
The development liaison is the person designated from each development group to
coordinate the defect management process. Their responsibilities include:
• Supporting the QA defect coordinator to ensure that defects are valid, unique and
assigned to the appropriate development group for resolution
• Coordinating defect resolution efforts with ongoing development to maintain a
high level of responsiveness to defects while minimizing negative productivity
impacts
• Verifying that software changes by the development group have been in
compliance with quality development practices and fully unit and integration
tested
Developers
The developers are responsible for:
• Investigating the defective software
• Designing the changes needed to address the defect
• Making the appropriate code changes
• Unit and integration testing the changes
• Applying quality development practices and procedures
• Working with the development liaison to get the changes migrated into the
staging environment and verified by the QA team.