Artifact:
|
| Change Request are used to document and track requests for a change to the product. This provides a record of decisions and, with an appropriate assessment process, ensures that the change impact of the request is considered. |
---|---|
Role: | Change Control Manager |
Optionality/Occurrence: | Mandatory. Occurs as many times as required. |
Templates and Reports: |
|
Examples: |
|
UML Representation: | Not applicable. |
More Information: |
|
|
Input to Activities:
| Output from Activities:
|
The necessity for change is inherent in developing a software system as it evolves during its initial creation and as it is subsequently used and maintained in day-to-day operation in an live environment. Change Request are also known by various names such as CR's, defects, bugs, incidents, enhancement requests. Capturing and managing these requests appropriately ensures that changes to a system are made in a controlled way so that their effect on the system can be predicted. Some import types of Change Request include:
Enhancement Requests are used by various stakeholders to request future features they desire to have included in the product. These are a type of Stakeholder Request that capture and articulate an understanding of the stakeholders needs.
Defects are reports of anomalies or failures in a delivered work product. Defects include such things as omissions and imperfections found during early lifecycle phases, or symptoms of faults (failures) that need to be isolated and corrected within the software. Defects may also include deviations from what can be reasonably expected of the software behavior (such as usability issues).
The purpose of a defect is to communicate the details of the issue, enabling corrective action, resolution, and tracking to occur. The following people use the CR's:
Test Analyst
uses CR's to plan the tests required to verify resolved CR's and to evaluate the test effort by analyzing sets of defects to measure trends in the quality of the software and the software engineering process.
Project:
Change Request Number:
Change Request Type: (Problem or Enhancement)
Title:
Date Submitted:
Originator:
Change Request Priority:
Description of the current problem:
Critical Failure:
Nuisance:
Enhancement:
New Requirement:
Conditions under which the problem was observed:
Current Environment: Hardware
Operating System
Compiler
Source of the current problem:
Cost or Savings Impact of the current problem:
Description of the proposed change:
Estimated cost to implement the proposed change:
Action:
Approved:
Disapproved:
Deferred:
Description of the proposed change:
Affected Configuration Items:
Category:
Error Fix:
Enhancement:
New Feature:
Other:
Estimated cost to implement the proposed change:
Implementer:
Actual time to implement change:
Analysis:
Implementation:
Test:
Documentation:
Affected Number of Lines of Code:
Test Methods:
Inspection
Analysis
Demonstration
Test:
Test Platforms:
Test Cases:
Changes Approved and Accepted:
The following attributes are useful in coming to a decision about any submitted CR:
Size of the change
- How much existing work will have to change?
- How much new work will need to be added?
Alternatives
- Are there any?
Complexity
- Is the proposed change easy to make?
- What are the possible ramifications of making this change?
Severity
- What is the impact of not implementing this request?
- Is there any loss of work or data involved?
- Is this an enhancement request?
- Is it a minor annoyance?
Schedule
- When is the change required?
- Is that feasible?
Impact
- What are the consequences of making the change?
- What are the consequences of not making the change?
Cost
- What is the cost of saving from making this change?
Relationship to Other Changes
- Will other changes supersede or invalidate this one or does it depend on other changes?
Test
- Are there any special tests that will need to be conducted to verify the change has been successful?
Change Management practices are often institutionalized or established early on in the project lifecycle. As such, CR's, which are integral to the change process, can be raised at any time during the course of the project.
The main source of defects is the results of executing the tests-integration, system, and performance. However, defects can appear at any point during the software development lifecycle and include identifying missing or incomplete use cases, test cases, or documentation.
Anyone on the project staff should be able to raise a Change Request. However, these need to be reviewed and approved for the associated resolution work in a manner appropriate for the context of the software project. In larger teams or more formal cultures, approval is generally made by the supervisor of the person raising the Change Request. In many cases the final arbitration of a Change Request is by a Review Team such as a Change Control Board (CCB).
The Change Control Manager role is responsible for the integrity of the Change Request, ensuring that:
While the Change Control Manager role is generally responsible for managing these requests, in the case of Enhancement Requests the Change Control Manager typically collaborates with the System Analyst and Architect roles to assess the change.
The actual fields and data necessary to accurately identify, describe, and track defects vary and are dependent upon the standards, guidelines, and change control system implemented.
It is generally more efficient to store change requests in a database or change request management system, so that change requests can be more easily managed (for example, sorting by priority, tracking assignment and completion status, and so on). On a small project, a spreadsheet may be sufficient.
On a small project, you can manage the defects as a simple list, (for example, using your favorite spreadsheet) with a separate column for each attribute you need to track the change request. This is only manageable for small systems-when the number of people involved and the amount of defects grow, you'll need to start using a more flexible defect-tracking system.
Rational Unified Process
|