Integrated Requirements Engineering – Understanding and Bridging Gaps in Software Development
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. 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.
CLICK HERE TO DOWNLOAD THE WHOLE DISSERTATION. (in PDF format)