Background:
Originally, developers aimed to identify most software requirements upfront in software development projects. However, agile methods explicitly encourage software requirements to be changed throughout development, i.e., many Requirements Changes (RCs) occur.
Objective:
The objective of this study is to better understand RCs and produce a taxonomy of RCs in agile contexts.
Method:
We ran a mixed-methods approach comprising a series of studies: an interview-based study (10 participants from New Zealand and Australia), a focused literature review, and an in-depth survey (40 participants world-wide).
Results:
Key characteristics of RCs in agile we found relate to different
types
and
forms
, agile RCs have multiple
reasons
and
sources
, they are brought by different
carriers
, and their emergence in agile is via a variety of
events.
Summary:
The presented taxonomy provides a guide for software practitioners to use to help manage RC-related issues in agile contexts.