Change Requests

A change request is a proposal from a stakeholder in the software development process to change something in a product or in a product process. Common change requests include defects and requests for product enhancements or new features.

To initiate the request, the stakeholder completes a form and submits it as a record. This change request then moves through a series of states and actions. The state of a change request is its current status. Typical states include submitted, assigned, duplicated, or closed. An action is an activity that moves a change request along. Typical actions include assign, reject, validate, resolve, and close.

This figure shows how a defect might move through the change request process. An end user submits the change request. A development manager assigns it to a developer and it remains in an open state until the developer makes a decision about the defect. If the developer chooses to fix the defect, it is given a resolved state. At that point, a quality engineer looks at it and validates that it is actually fixed and working. Then, the quality engineer changes the state from resolved to closed.

Flow chart diagram shows the stages and status of a defect moving through the change management process. When a defect is entered, it is in the Submitted, Waiting state until it is Assigned. The state type changes to Ready, until the Assignee opens the defect. Then, the defect is in an Open, Active state until it is resolved. From the Resolved state, the defect must be validated before the state type changes to Complete. Completed defects can be updated to change them to the Closed.state.

Information about a change request is recorded and stored as a record in a user database. A user database contains different types of records for different projects and purposes. Each record type has unique fields and data requirements. For example, a project might have a record type for defects and another for new feature requests. If many records with similar input are used within a development environment, it is often useful to create a record template for each record type. When this template is used to create a new record, the common fields are automatically populated based on the record type.