190 likes | 196 Views
CEN 4021 Software Engineering II. Change Control. Instructor: Masoud Sadjadi http://www.cs.fiu.edu/~sadjadi/ sadjadi@cs.fiu.edu. Acknowledgements. Dr. Onyeka Ezenwoye Dr. Peter Clarke. Agenda. Change Control. Change control. Software projects are prone to changes
E N D
CEN 4021 Software Engineering II Change Control Instructor: Masoud Sadjadi http://www.cs.fiu.edu/~sadjadi/ sadjadi@cs.fiu.edu
Acknowledgements • Dr. Onyeka Ezenwoye • Dr. Peter Clarke
Agenda • Change Control
Change control • Software projects are prone to changes • There is a general belief that software can be easily modified • Changes must be implemented with care • The worst situation occurs when changes are allowed without proper control
Change control • Definition • A set of information and the sequence of activities used in the tracking and managing of a change request from its inception to its close.
Changes control • The processes, methodologies and tools needed to manage change requests must be designed aheadoftime. • The process and people resources needed as part of the management of change request should be set aside, trained and include in the budget and plan.
Example change request process • Every change to product or process should start with a baseline which represents the first formally version. • Then go through a change control process • Change requests may come from anywhere but need to be formalized so it can be tracked back to its source.
Example change request process • Formalization can be achieved with the use of a change request form. • Which should include: • Requestor’s name • Date of the request • Request description • Reason for the request • Priority of the request • Preferred date of completion • Funding source for the request • Areas known to be affected by the change
Example change request process • Once the request form is filed out, it should be submitted to a someone who formally takes charge of the request. • Upon submission, change request needs to be reviewed. • Implications to other parts of the project needs to be assessed
Example change request process • Possible items for change impact analysis include: • Schedule • Cost • Human resources • Processes and tools • Product content and size • Product marketing strategy
Example change request process • Change control process also needs to take into account how a change request affects the customers’ work flow or environment • Change requests to software must be defined, documented and disseminated.
Example change request process Request denied Accept (A) Accept ? Change Request Review of change impact Store all related material Accept (B) product Schedule for follow-on release Process and tools Make appropriate plan changes personnel schedule Complete the changes cost Close change request
Change impact analysis • Software impact analysis identifies the effects of a software change request. • Each impact needs to be quantified and prioritized. • Measurement scheme must be designed such that each change request may be gauged in relation to other change requests.
Change impact analysis • Example of quantifying some of the impacted areas follow • Schedule impact may be designated with values ranging from 1 to 4 (days, weeks, months) • Personnel impact may also be designated with values ranging from 1 to 4 • Cost impact may be quantified using the schedule and personnel impact, converted to dollars
Change impact analysis • Measurement metrics may depend on the type of project • After impacted areas are quantified, change requests can be compared by area and possibly ordered • Each impacted area may be assigned a numerical weight and prioritized • Actual cut-off criteria would depend on many parameters like history, experience, etc
Cumulative effects of changes • A small change in artifact can hugely affect both end product and the work effort required to develop the product. • A small change in a database field might generate the following changes: • Design and code changes to all areas that utilize that field • Modifications to help scripts and user documentation • Reviews of all changes
Cumulative effects of changes • A small change in a database field might generate the following changes: • Development of new test scripts and scenarios • Running of new test scripts and re-running of older ones. • Fixes for any related problems from the tests • Updates to the library and change control tools • Locking and promoting of the successfully changes materials • Communication of the completed change to all interested parties
Cumulative effects of changes • Complications from the ripple effect of related work that can dramatically affect schedule and cost • A change request may lead to one line of altered code but result in one week of effort to complete that change request. • Team managing the change process must have good knowledge of the product and all items associated with it.
Cumulative effects of changes • Most projects are not well equipped to handle the extra workload required to assess change requests • It takes a very disciplined project management team to insist on proper change management • Change request may psychologically effect the team