210 likes | 234 Views
Learn the essential of managing requirements change efficiently to ensure software projects meet customer needs, avoid delays, and control costs. Understand impacts, process, storing methods, and tools for effective change management.
E N D
Requirements Engineering: Managing Requirements Change UFCE4S-10-3 Lecture Five Stewart Green
Lecture Structure • Motivation for requirements change management (RCM) • What is involved in RCM? • Identifying and storing requirements • Change management • Traceability Requirements Engineering UFCE4S-10-3 Lecture Five
References • Requirements Engineering, G. Kotonya and I. Sommerville, John Wiley,1998, Chapter 5 • Revisiting Requirements Production, O.Gotel and A. Finkelstein, Software Engineering Journal, May 1995 (a paper related to traceability, a key component of the infrastructure supporting requirements change management) Requirements Engineering UFCE4S-10-3 Lecture Five
Motivation • During the life-time of a software development project, the requirements may change frequently • Changes need to be managed as efficiently and effectively as possible Requirements Engineering UFCE4S-10-3 Lecture Five
Why do requirements change? • Take five minutes to write down reasons why requirements may change during the lifetime of a software project. You may discuss this with your neighbours. Requirements Engineering UFCE4S-10-3 Lecture Five
Reasons for Changing Requirements • Record here the reasons we capture on the whiteboard • I have put my list on UWEOnline; it will appear after the lecture Requirements Engineering UFCE4S-10-3 Lecture Five
Impact of Poor RCM • Poor requirements change management may lead to: • Systems that don’t meet a customer’s needs • Extended development schedules • High costs for rework • So there is a need to manage changing requirements so that their quality is maintained. • Managing requirements change must be performed in parallel with other requirements engineering activities Requirements Engineering UFCE4S-10-3 Lecture Five
Requirements Change Management • Requirements change management involves: • Managing agreed changes to requirements • Managing relationships between requirements • Managing dependencies between requirements (documents) and other development artefacts (design, code, tests, etc.) Requirements Engineering UFCE4S-10-3 Lecture Five
Implications of the RCM • Point one on the previous slide implies that the impact of change must be understood, and that changes are made in a timely and cost-effective way • Points two and three imply that traceability information needs to be supported. • Traceability information includes answers to the following questions: • Who suggested this requirement (backward traceability)? • Why is this requirement needed (rationale)? • What other requirements are related to this requirement (dependencies)? • What design components, code components or user documentation components are related to his requirement (forward traceability) Requirements Engineering UFCE4S-10-3 Lecture Five
Identifying and Storing Requirements in an Online File • An essential pre-requisite for RCM is that all requirements are associated with a unique identifier • In many projects a requirements document that contains the requirements is created and maintained in one or more online files. Requirements Engineering UFCE4S-10-3 Lecture Five
Advantages of Online Files • All the requirements are located in one place • The requirements are easy to access • It is easy to produce a new version of the requirements document Requirements Engineering UFCE4S-10-3 Lecture Five
Disadvantages of Online Files • Traceability information has to be maintained externally • Facilities for searching and querying requirements are limited to available word-processing facilities, e.g. “find” in Word. This means it may be time-consuming to find a group of related requirements • It is not possible to directly access (dependent) requirements linked to a requirement for which a change has been proposed • Version control is at document or chapter level, rather than requirement level • It is not possible to navigate automatically between related requirements. Requirements Engineering UFCE4S-10-3 Lecture Five
Storing Requirements in a Database • Each requirement is represented as an entity or object • Built-in database facilities can be used to link related requirements • Built-in database facilities can be used to support searches and queries • Built-in database facilities can be used to support version control at the requirement level • Built-in database facilities also support: • Browsing • Report generation • Requirement s document generation Requirements Engineering UFCE4S-10-3 Lecture Five
Object-Oriented Database Requirements Engineering UFCE4S-10-3 Lecture Five
Change Management Process Requirements Engineering UFCE4S-10-3 Lecture Five
Change Analysis and Costing 1 Requirements Engineering UFCE4S-10-3 Lecture Five
Change Analysis and Costing 2 • According to Sommerville there are six basic activities in the change analysis process • Ensure the change is necessary • Discover impacted requirements • Find dependent requirements using traceability information • Validate proposed changes with customer • Estimates cost of change in time and money • Validate costs with customer and, if necessary, renegotiate changes Requirements Engineering UFCE4S-10-3 Lecture Five
Traceability 1 Requirements Engineering UFCE4S-10-3 Lecture Five
Traceability 2 (after Sommerville) Requirements Engineering UFCE4S-10-3 Lecture Five
Traceability Mechanisms Requirements Engineering UFCE4S-10-3 Lecture Five