Professional Documents
Culture Documents
Analysis of Requirements Volatility Duri
Analysis of Requirements Volatility Duri
n
Forms Change
io
at
ri z
Taxonomy
Management group is located across four sites. The
te
ac
Stage 2
ar
development group is located in three Australian and
ch
Release Change Analysis
one New Zealand sites, and customers are grouped in Documents Process Evaluation
ide
nt
five large market segments across five continents. In
ific
at
ion
addressing the geographical distribution of customers Interviews Causes of
data
worldwide, the organization maintains on-site field Change
A single case study design with a single unit 4.2. Causal Analysis of Requirements Volatility
analysis (i.e. one project) in an industrial setting (GDS)
was applied to investigate the problem of requirements The analysis process began by collecting change
volatility during software development. This approach request data. The change request documents were
is appropriate for the researcher to conduct in-depth collected, screened, and analysed. This paper focuses
investigation the situation of a typical project in the specifically on the analysis of change requests that
real software industry environment [15] related to requirements change. Our data analysis
A historical change database was used to analyse framework (as described in Figure 1) comprises three
the nature of requirements change. Change requests stages:
data were collected from one project release within
GDS organisation. A total 0f 78 change request was Stage 1: Understanding the changes
collected during the last six months of the project We considered three main sources of evidence to
duration (16 months). perform causal analysis of requirements volatility:
Change Request (CR) forms, other release documents
4.1. Analysis Method (i.e. requirements specification document, the
configuration management plan, and software product
The purpose of our analysis was to identify and documents), and interview data.
understand the problems relating to changing Based on the information contained in the change
requirements during the software development process request forms, we identified problems related to each
and their underlying causes. Our analysis is based on change. These include: description of the change,
descriptive and qualitative methods. reasons for changes (why factor), types of change
Descriptive analysis provides rich information for (addition, deletion, and modification), impacts of
understanding the requirements volatility problems as
Change Request
10
This phase starts when the proposed change has
8
been accepted and approved and the change becomes
6
part of the system development. The Project Manager
4
assigns related engineers to implement the change.
Communication and coordination among project 2
Jun-02
Jul-02
Aug-02
Jan-02
Feb-02
Apr-02
May-02
Sep-02
Nov-02
Jan-03
Feb-03
Mar-02
Oct-02
Dec-02
Mar-03
trace the change across the impacted products. It is left
up to the Project Manager and team members to trace Change Request (CR) CRs against Requirements
the change. Requirements Analysis
Design
Phase 4: Change Verification
Code and SIT
SAT and Field Test
The objective of this phase is to verify that the
change was made correctly. The Verifier (i.e. project
manager or quality assurance team) performs Figure 2. Change requests arrival rate
verification tasks. If the verification is successful, the
initial change request is closed. If it is not successful, The rate of change requests increased sharply from
the project manager will be notified. In this March to April 2002 when requirements analysis and
circumstance, the implemented change needs to be documents reviews (i.e. requirements specification,
investigated further and change request remains open. feature proposal, and functional specification) were
In summary, our analysis identified the following being completed. During this period, most of the
limitations in the change management process: a lack requests resulted in additions and deletions of
of information about the rationales of the proposed requirements. This is not surprising, since the
change, the impact analysis of the proposed change has developers or engineers received feedback from
not been performed completely, and the change requirements and functional specification reviews. The
implementation process is controlled manually. arrival of change requests decreased as the project was
getting closer to the end of its lifecycle. However the
5.2. Change Request Arrival Rate rate of change requests increased again during the end
of detailed design review and system integration
This section describes our findings in the change testing. The majority of change requests during this
process analysis: the arrival rate of change requests period related to functional and design specification
(overall) over time and change requests against changes, as the developers gained more knowledge
requirements throughout the project life cycle. about the product.
The arrival rate of overall change requests during
development life cycle is presented in Figure 2. There 5.3. Measuring Requirements Volatility
are two legends illustrated in the Figure 2: overall
change requests and change requests against Since we were only interested in analysing the
requirements. The average rate is relatively low, volatility of requirements, the focus of the analysis was
approximately between two and three change requests on the change requests that related to changes in
submitted per week. In fact, the number of change requirements and other changes to the software product
requests reflects the number of request for that affect requirements specification. This section
requirements change. presents our quantitative analysis on the change request
Over the course of the project (16 months), a total data. The objective here is to quantify the extent of
of 78 change requests were submitted. Most of these requirements volatility throughout system development
requests (86%) were related to product changes, which life cycle.
include changes to requirements specification, The measure of requirements volatility is defined as
functional specification, and software product the ratio of the number of requirements change (i.e.
specification. The rest of the change requests (14%) addition, deletion, and modification) to the total
16.00
16.85 existing requirements from the system,
14.00 x Requirements Modification; modifying or
12.00
10.00
rewording requirements text.
8.00
6.90
6.00 6.45 Reason, this component relates to the categorization of
4.44 4.83
4.00
the change in term of the reason or rationales behind
2.00
0.00
1.02 0.68
0.00
the proposed changes. Our classification for the
Apr-02 May-02 Jun-02 Jul-02 Aug-02 Sep-02 Oct-02 Nov-02 Reason of change is as follows;
x Defect Fixing: - changes to correct defects that
Requirements Analysis arise from previous releases
Design x Missing requirements: - requirements were not
Code and SIT
SAT and Field Test
captured during the initial product definition or
discovered after detailed design analysis
x Functionality Enhancement: - maintaining or
Figure 3. Requirements volatility during managing functionality for the product releases,
development life cycle e.g. technical upgrade, functionality upgrade, etc.
x Product Strategy: - change that related technical
The level of requirements volatility at each stage of
engineering and instigated by Marketing group
product development is illustrated in Figure 3. The
x Design Improvement: - changes that are triggered
volatility rate varied across the stages of development
by improved knowledge of the developers about
and is consistent with the arrival rate of change
the product, action items from review documents
requests. The overall rate of volatility is 6%, which is
(i.e. functional specification, design specification)
considered tolerable. The only high peak (16.85%)
was at the end of requirements analysis stage and at the x Scope Reduction: - removing functionality or
beginning of the design stage. The requirements reducing amount of work due to lack of resources
volatility measure can be viewed as an indicator of x Redundant Functionality: - unnecessary
how stable requirements are in the system. functionality or functionality that already exists or
Our analysis (as illustrated in Figure 3) indicates can be replaced by other existing functions
that requirements volatility was high at the end of x Obsolete Functionality: - functionality that no
requirements analysis (May 2002). This means that a longer required for the current release or has no
lot of changes to software requirements occurred in the value for the potential users
period when requirements specification reviews were x Erroneous Requirements: - Incorrect or wrong
being completed. The volatility decreased sharply in requirements
June 2002, however it increased slightly again in July x Resolving Conflicts: changes that triggered by
2002 (at the end of design phase). Then the volatility of functionality conflicts that exist in the system
requirements decreased steadily at the end of system x Clarifying Requirements: - rewording
integration testing and this continued towards the end requirements text for clarification
of the development life cycle.
Origin, is the source of the proposed change, that is,
5.4. Taxonomy of Requirements Change where it originated from. The sources or requirements
change could be from: Defect Reports, Engineering’s
As part of our analysis, we developed a taxonomy Call, Project Management Consideration, Marketing
to assist us in understanding the requirements volatility Group, Developer’s Detailed Analysis, Design Review
problems. We believe this taxonomy will also allow Feedback, Technical Team Discussion, Functional
capabilities. As a result of these modifications, new Reason Defect Missing Functionality Product Design
Category Fixing Requirements Enhancement Strategy Improvement
requirements were needed to enable two sub-features
3 2
exchange the screens definition. This change request 1 1 2 3 3 3
2 1
was raised as an action from the detailed design
Project Design Developer's
reviews. Origin Defect
Report
Engineer
ing's Call Management Review/
Marketing
Group
Detailed
Consideration Feedback Analysis
The last multiple change request we identified is of
‘deletion and modification’ combination type. The
changes involved were as follows:
(1) An obsolete requirement was deleted resulting in Figure 4. Graphical illustration for requirements
modification of several requirements to resolve addition classification
functionality conflicts. This was raised as a result of
technical team discussions Adding new requirements in this product release
(2) An obsolete requirement was deleted resulting in was aligned with the organization’s business goals,
modification of an existing requirement to address where functionality enhancement and introducing new
functionality are the main concern.