This scenario explores the level of rigor that is associated with the process of making changes to the software that is under development. When changes are not managed closely, discrepancies can arise over delivered functionality when compared to that which was contracted. When changes cannot be accounted for clearly, these can have serious implications—for example, in project scheduling, security, and destabilization or interference with existing functionality.
Central to a formal Change Request process are the ideas of impact analysis and risk assessment. The CMMI template includes several "Impact on" fields; by making these mandatory, we will now capture a statement of the impact of the change from various perspectives (architecture, test, user experience, and so on). In addition, a new "Impact on Scheduling" field requires a statement of the project-management implications that this change brings.
As per the risk scenario that is described in Scenario 1, each Change Request work item must have an Accountable Change Owner field. This person is responsible for ensuring that the impact and risk assessments are undertaken, and also has a vital role in moving the work item from the Proposed state to the Active state and, later, from the Resolved state to the Closed state. The former transition (Proposed -> Active) is important, because it represents an agreement that the change will proceed and that it has been properly appraised and understood for impact; the latter transition (Resolved -> Closed) is important, because it reflects that the change has been verified as being correctly carried out, according to the details in the Change Request, and that the impact and risk have been managed. (To support further the correct use of these state changes, one could add specific REASON values to the TRANSITIONS within the Change Request work item XML definition—for example, "Proposed Change Agreed" and "Change Verified Correct" in the preceding state changes.)
The state changes may be made only by a member of the Accountable Change Owners security group. Custom alert e-mail messages can be configured to e-mail these people or a discussion list when the state changes to one of interest. If these state changes are not explicit enough, it is possible to imagine the use of an additional custom field, such as "Customer Approval Given By name" (see Scenario 4).
A Change Board could be established for the purposes of reviewing all Change Requests routinely. The operation of this group of people would be defined in a Change Board terms-of-reference document. Within the terms of reference could be included the frequency of meeting and also the membership—with the same persons being listed in the new Accountable Change Owners security group. This document could be kept in synch with the security group that controls the fields and states for the Change Request work item.
The implementation of the change may be scheduled to take place in a specific iteration during the development of the software. The Iteration Path field could be used to capture to which iteration the change is allocated.
Before a change can proceed (that is, move into the Active state), an impact analysis and risk assessment may be performed. At the end of this, one would expect the impact fields to be populated and to see one or more Risk work items linked to the Change Request work item. Each of the linked Risks would describe a risk to be managed in implementing this change. The Risk work items represent the risk assessment and risk-management activity. The existing Links field would be used to create these associations.
The business can prepare a list of all Change Requests for the period that is under examination, grouped by Proposed, Active, Resolved, and Closed. For those Change Requests that have progressed beyond the Proposed stage, the business can review the notes or minutes from the Change Board meeting that discussed each change. These minutes can be attached to the Change Request work item (by using the existing Attachments field); or, alternatively, a resource pointer (URL or file reference) can be entered into the History field (such as a pointer to a document within Office SharePoint). The minutes would indicate that the Impact fields were reviewed, and that the risk assessment (the set of Risk work items) was approved.
The Change Request can be seen as instantiating a new requirement in the system. This allows one to demonstrate what new work was created and when it was undertaken, in implementing the change. This can be done by linking a Requirement work item with this Active Change Request, which can show the new Task work items that implemented that Requirement, including the dates on which they were performed. This approach is also consistent with the cumulative flow reporting that is used by the team and/or project managers.
As seen earlier, several queries could be used to obtain information that the change-request process is taking place in a disciplined manner—for example, a list that shows:
-
Change Requests in their Proposed, Active, Resolved, and Closed states.
-
The Change Request title and the linked child Task work items—each with owners, dates, and status.
-
Change Requests in Resolved (but not Closed) state, for the purpose of showing which Change Requests have not been approved for closure by the Change Board.
-
The Impact fields—containing, for example, some substantial description that captures the team's thinking, instead of just a tacit indication that the impact was considered.
-
Risk work items that are associated with the Change Request.
Figure 6 shows a modified Change Request work item to capture the extended data that is associated with a formally defined change process, as described in the preceding scenario.
Note: |
|---|
|
To support the Change Request scenarios that are described in this document, the following additional fields have been added: Accountable Change Owner, Change Is Billable, Customer Requested Change, and Customer Approval Given By. These fields have been added to a new "Compliance" group on the work-item form. In addition, a new Impact on Scheduling field has been added to the top of the Analysis tab. (All new fields appear highlighted in yellow.)
|
Figure 6. Change Request work item, modified
Figure 7 shows the results of a query to display Change Requests as a starting point for examining Change Requests and their related Task work items:
Figure 7. Query results displaying Change Requests for examining Task work items
To view the related Task work items, each Change Request must be opened, and its Links tab must be examined, as shown in Figure 8:
Figure 8. Review of linked work items for Change Request 202
Figure 9 shows a query that may be used to retrieve the Change Requests. This image shows the query being modified to select only Change Requests that are in a Resolved state in the workflow—representing those items that are still to be approved for closure by the Change Board (see the preceding point 3):
Figure 9. Query modified to select only Change Requests in Resolved state