Controlling the requirements may be the most important aspect of achieving success on a project and ensuring the full usability of the developed system. Control does not mean that there are never any changes to the original baselined requirements. It does mean that all of the stakeholders in the project are informed of and involved in a requirements control process that eliminates the single greatest threat to any system development project — requirements creeping. Requirements creeping can and probably should be viewed as a villainous saboteur who, like a chameleon, takes on many different colors. This villain strikes out with only one purpose: get someone, anyone on the project, to make a change in the baselined requirements without assessing the impact and logical disposition of the change and informing all parties of the need for the change. To eliminate requirements creeping: - Make certain that there are baseline requirements. - Have a change control method in place for handling any type of modification to baselined requirements. - Make certain that all people involved in the project, both on the publishing side and on the development side, understand the process and methods used to baseline requirements and to affect change to the baselined requirements. The requirements list baseline is established following the customer review meeting and should be given a unique identifier at that time. It must be distributed to all participants as the only requirements list to be used as design work commences. The identifier should have provisions for indicating the version or edition or release. If an approved change is made to the requirements list, the identifier must be updated and the revised requirements list distributed to all participants. Controlling the Change of Requirements For example, say that as the design of the Graphical User Interface (GUI) gets underway, the designer realizes that there is no requirement for the GUI to provide transportation to the query subsystem, a function the designer thinks will be essential to the user. Using the requirements control process, the designer does not add the function (which would creep the requirements). Instead, the designer prepares an incident/problem report that notes the fact that there is not a requirement for the GUI to query transportation and notifies the keeper of the requirements list, who may be the quality assurance manager, the engineering manager, the project manager, or someone in configuration management. The information provided by the designer is assessed for project impact and disposed of in one of the following ways: 1. The change is approved as a necessary component of the current system development effort. In this case, the schedule and budget will be assessed for impact. If the schedule must be maintained, a management decision will need to be made regarding adding a resource to do the programming, increasing hours for one or more existing programmers, or contracting out that piece of work. If the budget is already at bare bones and the schedule must be met, then the increased hours most likely will be included in the nonpaid exempt employee overtime category, but management must realize that they are increasing the pro ject risk. 2. The change is approved as a modification to the current system to be implemented in the first software release subsequent to the initial delivery of the system. A work-around may or may not need to be developed for the initial implementation. The point is to make sure that there is agreement with the customer as to who is going to develop the work-around should it be needed. The other critical point to be made here is that the change control records and the process for using them must be implemented so that items such as this do not fall through the cracks as development for the next release gets underway. 3. The change is approved as a potential future enhancement to the current system without a specific schedule for implementation. Similar to the change approved as a modification, the change control records must be precise to ensure that the decision specific to this change is not lost. Because this change will not become part of the next release, it will go back to wish list status and be carried through the entire requirements process. The reason for this is to make certain that the development of this enhancement is scheduled for work and delivery within the context of all other existing work. 4. The change is rejected. This closes out the incident report. No work is scheduled now or for the future. There may be many reasons for this type of a response. Whatever the reason, the rejection action and the reason for rejection should be recorded within the change control process. A record of all closed changes is maintained to ensure accurate project history and to provide the rationale on why the change was rejected. Whenever any software is released to the customer, the release should follow a defined release management process that includes the specific identification of all of the components that are included in the software release as well as the components that are assumed to be present (i.e., system software). This identification also should include the specific incident/problem reports that were corrected by the release and any work-arounds that were developed for the known problems that exist in the software.
|
|||||||||||||
Disclaimer
1) E-articles is not responsible for the information contained by this article as well for any and all copyright infringements by authors and writers. E-articles is a free information resource. If you suspect this article for any copyright infringement, please read the terms of service and contact us or use the "Report this article" button on this page to investigate the problem.
2) E-articles is not responsible for inaccuracies, falsehoods, or any other types of misinformation this article may contain and will not be liable for any loss or damage suffered by a user through the user's reliance on the information gained here. link to this article |
|||||||||||||