Skip to main content

Lund University Publications

LUND UNIVERSITY LIBRARIES

A multi-case study of agile requirements engineering and the use of test cases as requirements

Bjarnason, Elizabeth LU orcid ; Unterkalmsteiner, Michael ; BORG, MARKUS LU and Engström, Emelie LU orcid (2016) In Information and Software Technology 77. p.61-79
Abstract
Context: It is an enigma that agile projects can succeed ‘without requirements’ when weak requirements engineering is a known cause for project failures. While agile development projects often manage well without extensive requirements test cases are commonly viewed as requirements and detailed requirements are documented as test cases.
Objective: We have investigated this agile practice of using test cases as requirements to understand how test cases can support the main requirements activities, and how this practice varies.
Method: We performed an iterative case study at three companies and collected data through 14 interviews and two focus groups.
Results: The use of test cases as requirements poses both benefits and... (More)
Context: It is an enigma that agile projects can succeed ‘without requirements’ when weak requirements engineering is a known cause for project failures. While agile development projects often manage well without extensive requirements test cases are commonly viewed as requirements and detailed requirements are documented as test cases.
Objective: We have investigated this agile practice of using test cases as requirements to understand how test cases can support the main requirements activities, and how this practice varies.
Method: We performed an iterative case study at three companies and collected data through 14 interviews and two focus groups.
Results: The use of test cases as requirements poses both benefits and challenges when eliciting, validating, verifying, and managing requirements, and when used as a documented agreement. We have identified five variants of the test-cases-as-requirements practice, namely de facto, behaviour-driven, story-test driven, stand-alone strict and stand-alone manual for which the application of the practice varies concerning the time frame of requirements documentation, the requirements format, the extent to which the test cases are a machine executable specification and the use of tools which provide specific support for the practice of using test cases as requirements.
Conclusions: The findings provide empirical insight into how agile development projects manage and communicate requirements. The identified variants of the practice of using test cases as requirements can be used to perform in-depth investigations into agile requirements engineering. Practitioners can use the provided recommendations as a guide in designing and improving their agile requirements practices based on project characteristics such as number of stakeholders and rate of change. (Less)
Please use this url to cite or link to this publication:
author
; ; and
organization
publishing date
type
Contribution to journal
publication status
published
subject
keywords
agile development, requirements, testing, test-first development, test-driven development, Behaviour-driven development, Acceptance test, case study, empirical software engineering
in
Information and Software Technology
volume
77
pages
19 pages
publisher
Elsevier
external identifiers
  • scopus:84964372783
  • wos:000379271000005
ISSN
0950-5849
DOI
10.1016/j.infsof.2016.03.008
project
Embedded Applications Software Engineering
language
English
LU publication?
yes
id
837cc0aa-0f43-420d-aaad-72c67201992b
date added to LUP
2016-05-19 11:14:33
date last changed
2023-09-25 21:00:22
@article{837cc0aa-0f43-420d-aaad-72c67201992b,
  abstract     = {{Context: It is an enigma that agile projects can succeed ‘without requirements’ when weak requirements engineering is a known cause for project failures. While agile development projects often manage well without extensive requirements test cases are commonly viewed as requirements and detailed requirements are documented as test cases.<br/>Objective: We have investigated this agile practice of using test cases as requirements to understand how test cases can support the main requirements activities, and how this practice varies.<br/>Method: We performed an iterative case study at three companies and collected data through 14 interviews and two focus groups.<br/>Results: The use of test cases as requirements poses both benefits and challenges when eliciting, validating, verifying, and managing requirements, and when used as a documented agreement. We have identified five variants of the test-cases-as-requirements practice, namely de facto, behaviour-driven, story-test driven, stand-alone strict and stand-alone manual for which the application of the practice varies concerning the time frame of requirements documentation, the requirements format, the extent to which the test cases are a machine executable specification and the use of tools which provide specific support for the practice of using test cases as requirements.<br/>Conclusions: The findings provide empirical insight into how agile development projects manage and communicate requirements. The identified variants of the practice of using test cases as requirements can be used to perform in-depth investigations into agile requirements engineering. Practitioners can use the provided recommendations as a guide in designing and improving their agile requirements practices based on project characteristics such as number of stakeholders and rate of change.}},
  author       = {{Bjarnason, Elizabeth and Unterkalmsteiner, Michael and BORG, MARKUS and Engström, Emelie}},
  issn         = {{0950-5849}},
  keywords     = {{agile development; requirements; testing; test-first development; test-driven development; Behaviour-driven development; Acceptance test; case study; empirical software engineering}},
  language     = {{eng}},
  pages        = {{61--79}},
  publisher    = {{Elsevier}},
  series       = {{Information and Software Technology}},
  title        = {{A multi-case study of agile requirements engineering and the use of test cases as requirements}},
  url          = {{https://lup.lub.lu.se/search/files/7711971/TCR_IST_Published.pdf}},
  doi          = {{10.1016/j.infsof.2016.03.008}},
  volume       = {{77}},
  year         = {{2016}},
}