Advanced

Integrated Requirements Engineering – Understanding and Bridging Gaps in Software Development

Bjarnason, Elizabeth LU (2013)
Abstract
Software systems are becoming increasingly ubiquitous and can be found in devices we use every day from mobile phones to cars. As our reliance on software-based systems increases, our tolerance with software that is ill-fitted to our needs decreases. We expect these devices to function whenever and however we need them to. However, developing these (often) large and complex software systems to meet our needs and to be usable and robust is non-trivial. Yes, it requires good tools and methods, and competent software engineers that are good at design, development, testing and debugging. But, equally important is that the engineers can coordinate their activities and work together on developing the right thing. Figuring out what the right... (More)
Software systems are becoming increasingly ubiquitous and can be found in devices we use every day from mobile phones to cars. As our reliance on software-based systems increases, our tolerance with software that is ill-fitted to our needs decreases. We expect these devices to function whenever and however we need them to. However, developing these (often) large and complex software systems to meet our needs and to be usable and robust is non-trivial. Yes, it requires good tools and methods, and competent software engineers that are good at design, development, testing and debugging. But, equally important is that the engineers can coordinate their activities and work together on developing the right thing. Figuring out what the right thing is, i.e. defining the requirements, and then ensuring that the whole development team joins together in realising this is a major challenge.

When there are gaps between requirements and other development activities these gaps have a negative impact on the success of a project and a product. Similarly when there are no gaps, or they are effectively managed and bridged, the development process can run more smoothly and the project stands a better chance of delivering the required functionality, with good quality and on time.

The main topic of this thesis is the collaboration and alignment of requirements within software development, and how this can enable a development company to consistently develop and deliver products that are well received by their users. A number of challenges and practices including factors contributing to these have been identified through industrial case studies. Furthermore, this thesis includes two methods for supporting project teams in improving on their work practices. Both methods have been applied in live development projects and found to enable teams to reflect on their practices and consider what gaps there are between people, between activities and between artefacts. By doing so, they can gain insight into how to improve on their coordination and alignment of requirements.

The main conclusion of this thesis is that development as a whole can be improved with an integrated requirements engineering (iRE) approach. Understanding and bridging gaps, or the level of integration between requirements and other development activities, helps development teams in achieving the necessary collaboration to be aligned within the development projects. This then enhances the efficiency and effectiveness of the development process by ensuring that the right thing is developed. (Less)
Please use this url to cite or link to this publication:
author
supervisor
opponent
  • Schneider, Kurt, Leibniz Universität Hannover, Germany
organization
publishing date
type
Thesis
publication status
published
subject
keywords
software engineering, requirements engineering, communication, empirical research
pages
272 pages
publisher
Department of Computer Science, Lund University
defense location
Lecture hall E:1406, E-building, Ole Römers väg 3, Lund University Faculty of Engineering
defense date
2013-11-22 13:15
external identifiers
  • other:LU-CS-DISS: 2013-02
ISSN
1404-1219
ISBN
978-91-7473-732-5 (print)
978-91-7473-733-2
project
EASE
language
English
LU publication?
yes
id
77ffcc12-b5f5-44b7-bfae-4e4ad3f6a3ac (old id 4117175)
date added to LUP
2013-11-04 09:22:08
date last changed
2018-11-21 20:17:04
@phdthesis{77ffcc12-b5f5-44b7-bfae-4e4ad3f6a3ac,
  abstract     = {Software systems are becoming increasingly ubiquitous and can be found in devices we use every day from mobile phones to cars. As our reliance on software-based systems increases, our tolerance with software that is ill-fitted to our needs decreases. We expect these devices to function whenever and however we need them to. However, developing these (often) large and complex software systems to meet our needs and to be usable and robust is non-trivial. Yes, it requires good tools and methods, and competent software engineers that are good at design, development, testing and debugging. But, equally important is that the engineers can coordinate their activities and work together on developing the right thing. Figuring out what the right thing is, i.e. defining the requirements, and then ensuring that the whole development team joins together in realising this is a major challenge.<br/><br>
When there are gaps between requirements and other development activities these gaps have a negative impact on the success of a project and a product. Similarly when there are no gaps, or they are effectively managed and bridged, the development process can run more smoothly and the project stands a better chance of delivering the required functionality, with good quality and on time.<br/><br>
The main topic of this thesis is the collaboration and alignment of requirements within software development, and how this can enable a development company to consistently develop and deliver products that are well received by their users. A number of challenges and practices including factors contributing to these have been identified through industrial case studies. Furthermore, this thesis includes two methods for supporting project teams in improving on their work practices. Both methods have been applied in live development projects and found to enable teams to reflect on their practices and consider what gaps there are between people, between activities and between artefacts. By doing so, they can gain insight into how to improve on their coordination and alignment of requirements.<br/><br>
The main conclusion of this thesis is that development as a whole can be improved with an integrated requirements engineering (iRE) approach. Understanding and bridging gaps, or the level of integration between requirements and other development activities, helps development teams in achieving the necessary collaboration to be aligned within the development projects. This then enhances the efficiency and effectiveness of the development process by ensuring that the right thing is developed.},
  author       = {Bjarnason, Elizabeth},
  isbn         = {978-91-7473-732-5 (print)},
  issn         = {1404-1219},
  keyword      = {software engineering,requirements engineering,communication,empirical research},
  language     = {eng},
  pages        = {272},
  publisher    = {Department of Computer Science, Lund University},
  school       = {Lund University},
  title        = {Integrated Requirements Engineering – Understanding and Bridging Gaps in Software Development},
  year         = {2013},
}