Understanding and Supporting Quality Requirements Engineering
Total Page:16
File Type:pdf, Size:1020Kb
UNDERSTANDING AND SUPPORTING QUALITY REQUIREMENTS ENGINEERING QUALITY AND SUPPORTING UNDERSTANDING ABSTRACT [Background] Quality requirements deal with how QREME is validated with five companies in a multi- UNDERSTANDING AND SUPPORTING well a product should perform the intended func- case study. QREME was able to capture the com- tionality. Failure to meet essential quality require- panies’ ways of working and provide relevant im- QUALITY REQUIREMENTS ENGINEERING ments can result in customer dissatisfaction, unus- provement recommendations. Also, the presence able products, or extra costs. of the underlying constructs was confirmed. IN SOFTWARE-INTENSIVE PRODUCT [Objective] The aim is to identify challenges and [Conclusions] Quality requirements engineering DEVELOPMENT needs in practice and design solutions for quality should be integrated with the overall requirements requirements engineering which can be applied in process. The awareness of quality requirements practice. on a strategic level and catering for the product and portfolio lifecycle are important for success. [Results] In the two exploratory studies quality re- quirements engineering practices are investigated. I conclude that there is potential in sources such Thomas Olsson I confirm that some quality requirements fulfill- as usage data, customer service data, and contin- ment is not simply being implemented or not, rath- uous experimentation to complement stakeholder er evaluated on a scale. Furthermore, some quality analysis, expert input, and focus groups. However, requirements are cross-functional. Also, the prod- there is a need to better understand challenges uct lifecycle phase seems to influence both the and needs in practice, especially from a lifecycle prevalence and acceptance of quality requirements perspective. Furthermore, longitudinal studies are in the scope decision process. Lastly, relying on ex- needed to evaluate quality requirements solutions ternal stakeholders and upfront analysis seems to over time -- to understand the impact, costs, and lead to long lead-times and an insufficient quality benefits. requirements scope. QREME is a conceptual quality requirements en- gineering model with a lifecycle perspective. It is built upon a construct with a strategic and tactical level, a product and data dimension to include data in the scope decision process, and a forward- and a feedback-loop to enable a data-driven scope de- cision process. Thomas Olsson Blekinge Institute of Technology Doctoral Dissertation Series No. 2020:08 2020:08 ISSN: 1653-2090 ISBN: 978-91-7295-407-6 Department of Software Engineering 2020:08 Understanding and Supporting Quality Requirements Engineering in Software-Intensive Product Development Thomas Olsson Blekinge Institute of Technology Doctoral Dissertation Series No 2020:08 Understanding and Supporting Quality Requirements Engineering in Software-Intensive Product Development Thomas Olsson Doctoral Dissertation in Software Engineering Department of Software Engineering Blekinge Institute of Technology SWEDEN 2020 Thomas Olsson Department of Software Engineering Publisher: Blekinge Institute of Technology SE-371 79 Karlskrona, Sweden Printed by Exakta Group, Sweden, 2020 ISBN: 978-91-7295-407-6 ISSN: 1653-2090 urn:nbn:se:bth-20248 To my family ABSTRACT [Background] Quality requirements deal with how well a product should perform the intended functionality. Failure to meet essential quality require- ments can result in customer dissatisfaction, unusable products, or extra costs. [Objective] The aim is to identify challenges and needs in practice and design solutions for quality requirements engineering which can be applied in practice. [Results] In the two exploratory studies quality requirements engineer- ing practices are investigated. I confirm that some quality requirements fulfillment is not simply being implemented or not, rather evaluated on a scale. Furthermore, some quality requirements are cross-functional. Also, the product lifecycle phase seems to influence both the prevalence and acceptance of quality requirements in the scope decision process. Lastly, relying on external stakeholders and upfront analysis seems to lead to long lead-times and an insufficient quality requirements scope. QREME is a conceptual quality requirements engineering model with a lifecycle perspective. It is built upon a construct of a strategic and tactical level, a product and data dimension to include data in the scope decision process, and a forward- and a feedback-loop to enable a data-driven scope decision process. QREME is validated with five companies in a multi-case study. QREME was able to capture the companies’ ways of working and provide rele- vant improvement recommendations. Also, the presence of the underlying constructs was confirmed. [Conclusions] Quality requirements engineering should be integrated with the overall requirements process. The awareness of quality require- ments on a strategic level and catering for the product and portfolio lifecycle are important for success. I conclude that there is potential in sources such as usage data, customer service data, and continuous experimentation to complement stakeholder analysis, expert input, and focus groups. However, there is a need to better understand challenges and needs in practice, especially from a lifecycle per- spective. Furthermore, longitudinal studies are needed to evaluate quality requirements solutions over time – to understand the impact, costs, and benefits. vii ACKNOWLEDGMENTS Thanks to all co-authors and reviewers! My supervisors, Tony Gorschek and Krzysztof Wnuk, have supported be throughout my thesis project. Tony helped a lot to restart my thesis work and in creating the surrounding at BTH tailored to my special needs - thanks! Krzysztof with his never-ending patience has supported me a lot in this atypical thesis project, even at times when I was especially demanding. Thank you Kris! I would also like to thank my employer, RISE, for giving me the op- portunity to work on my thesis. I would especially like to thank Jakob Axelsson for the flexibility and support in combining my thesis work with the projects at RISE. My fiend and colleague Markus Borg has supported me throughout the work at RISE and with my thesis by always being positive and supportive. I am and continue to be impressed with your ability to organize your work and your extreme dedication and motivation. You are an inspiration! I hope we will continue to work closely together (and perhaps even on the same project!) in the future! I would also like to thank Serge Demeyer for inputs on the early draft of the introduction chapter and Stefan Cedergren for valuable input on my way towards my thesis. Last but not least, I would like to extend gratitude towards Claes Wohlin. You are the reason I first started my research career. Even though you left Lund University shortly after I started, now more than 10 years later I managed to catch up with you again at BTH! You experience and holistic understanding of software engineering is something I wish I will be able to copy one day. Kävlinge, August 17th, 2020. ix PREFACE papers in this thesis This compilation thesis includes the following 7 papers. Chapter 2: Joerg Doerr, Daniel Kerkow, Tom Koenig, Thomas Olsson and Takeshi Suzuki, “Non-Functional Requirements in Industry – Three Case Studies Adopting an Experience-based NFR Method”, in International Requirements Engineering Conference, pp. 373-382, 2005, doi: 10.1109/RE.2005.47. Chapter 3: Richard Berntsson Svensson, Thomas Olsson and Björn Reg- nell, “An Investigation of How Quality Requirements are Specified in Industrial Practice” Information and Software Technology, vol. 55, no. 7, pp. 1224-1236, 2013, doi: 10.1016/j.infsof.2013.01.006. Chapter 4: Thomas Olsson, Krzysztof Wnuk and Tony Gorschek, “An Empirical Study on Decision making for Quality Requirements” Journal of Systems and Software, vol. 149, pp. 217-233, 2019, doi: 10.1016/j.jss.2018.12.002. Chapter 5: Thomas Olsson, Martin Hell, Martin Höst, Ulrik Franke and Markus Borg, “Sharing of vulnerability information among com- panies – a survey of Swedish companies”, Software Engineering and Advanced Applications, Euromicro track, pp. 284-291, 2019, doi: 10.1109/SEAA.2019.00051. Chapter 6: Thomas Olsson, Séverine Sentilles, Efi Papatheocharous “An SLR on empirical evidence for Quality Requirements”. Requirements Engineering Journal, submitted Q2 2020. Chapter 7: Thomas Olsson and Krzysztof Wnuk, “QREME – Quality Re- quirements Management model for supporting decision-making” In proceedings of the International Working Conference on Require- ments Engineering: Foundation for Software Quality, pp. 173-188, 2018, doi: 10.1007/978-3-319-77243-1_11. Chapter 8: Thomas Olsson, Krzysztof Wnuk and Slinger Jansen, “A Val- idated Model for the Scoping Process of Quality Requirements: a Multi-Case Study” Empirical Software Engineering Journal, accepted with major revisions, June, 2020. The papers have been edited to fit into the template and to be more readable in this complitation thesis. xi contribution statement The papers included in this thesis are results from collaborations with other researchers. My contributions to each paper are outlined in the rest of this section. chapter 2: The first paper in my thesis presents a proposal to use quality models and a tailoring process to adapt the elicitation and documentation of quality requirements. I was one of the researchers who participated in this work, specifically executing one of the case studies and