You are on page 1of 30

Software Requirements Management

By

Khaqan Zaheer
Background of Lecture
Phases of Requirement Engineering Role of Requirements in SDLC

Project
 Requirement Elicitation Planning

 Requirement Analysis & Project


Construction
Negotiation Process Tracking

 Requirement Specification
Software
 Requirements Management Requirements
Management
 Requirement Validation
User Change
Documentation Control

System
Testing
Lecture Agenda
Change Control
 “The only constant in life is change”-Heraclitus.
 Change Control Process
 Change Control Board (CCB)

 Requirement Baselines
 Set of functional and non-functional requirements that the
development team has committed to implement in a specific
release
 Subsequent changes can be made only through the
project's defined change-control process
 Baseline SRS document should contain only those
requirements that are planned for a specific release
Version Control
 Manually label each requirement version
 Track changes by using word processor
 Version Control Tools
"I finally finished implementing the multivendor catalog query feature," Shari
reported at the Chemical Tracking System's weekly project status meeting.
"Man, that was a lot of work!"
"Oh, the customers canceled that feature two weeks ago," the project manager,
Dave, replied. "Didn't you get the revised SRS?"
Shari was confused. "What do you mean, it was canceled? Those requirements
are at the top of page 6 of my latest SRS."
Dave said, "Hmmm, they're not in my copy. I've got version 1.5 of the SRS. What
version are you looking at?"
"Mine says version 1.5 also," said Shari disgustedly. "These documents should be
identical, but obviously they're not. So, is this feature still in the baseline or did I
just waste 40 hours of my life?"
Requirement Status Tracking
"How are you coming on that subsystem, Jackie?" asked Dave.
"Pretty good, Dave. I'm about 90 percent done."
Dave was puzzled. "Weren't you 90 percent done a couple of weeks
ago?" he asked.
Jackie replied, "I thought I was, but now I'm really 90 percent done."
Requirement Traceability

“Requirements traceability refers to the ability to describe


and follow the life of a requirement, in both a forwards and
backwards direction, i.e. from its origins, through its
development and specification, to its subsequent
deployment and use, and through periods of on-going
refinement and iteration in any of these phases.”
Gotel and Finkelstein
Requirement Tracing
 Requirement Traceability allows you to follow the life
of a requirement both backward and forward
 Change impact analysis
 Time, cost, risks, hardware, software technologies,
outsourcing, offshoring, nearshoring, reuse   
 Tool Support is available
 CaseComplete, Caliber
Requirements Change Management
 Key activities
 requesting changes to the baselined requirements,
 performing impact analysis for the requested changes,
 approving or disapprovingchanges,
 implementing the approved changes
 Measure the progress
 Person hours

 Managing the logical links between individual


requirements and other project work products
 Backward & Forward Traceability
Requirements Management and
Traceability
 Requirements cannot be managed effectively without requirements
traceability

 A requirement is traceable if you can discover who suggested the


requirement, why the requirement exists, what requirements are related to it
and how that requirement relates to other information such as systems
designs, implementations and user documentation
Requirements Traceability Management

• Traceability is key to impact,


derivation and coverage analysis
 Impact analysis. What artifacts might be affected if a given
requirement changes?

 Derivation analysis. What requirements have given rise to the


need for a given artifact?

 Impact coverage analysis. Have all requirements been taken


into account?
Requirement Management is Critical to Success
 According to the Standish Group, IT project success rates have hovered below 35% for nearly 15
years without any measurable improvement
 The three major reasons
 user involvement
 executive management support,
 and a clear statement of requirements.

https://www.projectsmart.co.uk/white-papers/chaos-report.pdf
Change Control Process
Where do changes come from?
Changing Requirements
 All stakeholders want to change requirements, due to
different reasons
 Studies have shown that very significant percentage
of delivered defects can be traced back to changing
user requirements
 A major issue in requirements engineering is the rate
at which requirements change once the requirements
phase has “officially” ended
 This rate is on average 3% per month in the subsequent
design phase, and should go down after that
 This rate should come down to 1% per month during
coding
Sources of Change
 New business or market conditions dictate changes
in product requirements or business rules
 New customer needs demand modification of data
produced by information systems, functionality
delivered by products, or services delivered by
computer-based system
 Reorganization or business growth/downsizing
causes changes in project priorities or software
engineering team structure
 Budgetary or scheduling constraints cause a
redefinition of the system or product
Why All This Modification?
 As time passes, all constituencies know more
 About what they need
 Which approach would be best
 How to get it done and still make money
 Statement of the fact: most changes are justified!
Managing Changing Requirements ???
 Following quality assurance mechanisms can limit the damage done by
changing requirements
 Formal change management procedures
 State-of-the-art configuration control tools
 Requirements reviews
CASE Tools for Requirements Management

http://www.volere.co.uk/tools.htm
 http://www.accompa.com/
Benefits of using Requirement Management tools

 Manage versions changes


 Store requirement attributes
 Facilitate impact analysis
 Track requirements status
 Control access
 Communicate with stakeholders
 Reuse requirements
Stable and Volatile Requirements
 Requirements changes occur while the requirements are being elicited,
analyzed and validated and after the system has gone into service
 Stable requirements are concerned with the essence of a system and its
application domain. They change more slowly than volatile requirements
 Volatile requirements are specific to the instantiation of the system in a
particular environment and for a particular customer
Types of Volatile Requirements
 Mutable requirements
 Emergent requirements
 Consequential requirements
 Compatibility requirements
Types of Volatile Requirements
 Mutable Requirements
 These are requirements which change because of
changes to the environment in which the system is
operating
 Emergent Requirements
 These are requirements which cannot be completely
defined when the system is specified but which
emerge as the system is designed and implemented
Types of Volatile Requirements
 Consequential Requirements
 Requirements that result from the introduction of the
computer system. Introducing the computer system may
change the organization's processes and open up new
ways of working which generate new system
requirements.
 Compatibility Requirements
 These are requirements which depend on other
equipment or processes
Requirements Change Factors
 Requirements conflicts and inconsistencies
 Evolving customer/end-user knowledge of the
system
 Technical, schedule or cost problems
 Changing customer priorities
 changingbusiness environment, the emergence of
new competitors, staff changes, etc.
 Organizational changes
 Business process re-engineering, management hierarchies
Storing Requirements
 Requirements have to be stored in such a way that they can be accessed
easily and related to other system requirements
 Requirement Storage Techniques may be:
 In one or more word processor files
 In a specially designed requirements database
Word Processor Documents: Advantages and
Disadvantages
 Requirements are all stored in the same place
 It is easy to produce the final requirements document
 Requirements traceability must be externally maintained
 Search facilities are limited
 Not possible to link requirements with proposed requirements changes
 Not possible to have version control on individual requirements
 No automated navigation from one requirement to another
Requirements Database Advantages and
Disadvantages
 Good query and navigation facilities
 Support for change and version management
 Readers may not have the software/skills to access the requirements
database
 The link between the database and the requirements document must be
maintained
Requirements Database Choice Factors

 The statement of requirements


 The number of requirements
 Teamwork, team distribution and computer support
Sources
 Software Requirements, Second Edition by Karl E. Wiegers 
 Requirements Engineering: Processes and Techniques’ by G. Kotonya and I.
Sommerville, John Wiley & Sons, 1998

You might also like