Lightweight Requirements Engineering Metrics Designing And
Total Page:16
File Type:pdf, Size:1020Kb
Universiteit Leiden ICT in Business and the Public Sector Lightweight Requirements Engineering Metrics Designing and evaluating requirements engineering metrics for software development in complex IT environments – Case study Name: Jenny Yung Student-no: s0952249 Date: 18/04/2019 1st supervisor: Werner Heijstek 2nd supervisor: Guus Ramackers Pagina 1 van 83 Abstract The software development industry is relatively young and has matured considerably in the past 15 years. With several major transformations, the industry continues to seek ways to improve their delivery. A while ago, the waterfall method was the standard option for software development projects. Today, agile methodology is used more frequently. New development engineering practices are developed like standardization, continuous integration or continuous delivery. However, the consensus of being predictable and repeatable is not yet there. Agile software development and delivery are still not sufficiently reliable, resulting in expensive and unpredictable projects. In this thesis, measurements in requirements engineering are introduced. This paper presents a maturity model to assess the requirements engineering in complex IT environments. Companies strive to improve their software production and delivery, and the study aims to find a lightweight requirements metric method. The method is compared with a library of abstract metric models. The case study is performed at three different companies, and experts evaluated the conceptual metric system. As a result, a Requirements Engineering Maturity scan (REMS) is created. The tool suggests appropriate generic requirements metrics to deal with the encountered project. The paper concludes a review with related work and a discussion of the prospects for REMS. Keywords: Requirements Engineering • Quality Measurements • Metrics • ISO/IEC 9126 • Agile Methodology • Requirements Engineering Maturity Scan • Complex IT Infrastructure • Pagina 2 van 83 Acknowledgement Anyone writing a thesis will tell you it is a lot of work, and they are right. It has been a rewarding journey where I learned a lot. The first contact with “Lightweight Requirements Engineering Metrics” started as a business case at Nederlandse Spoorwegen. As time passed, I was lucky enough to develop and implement a lightweight metrics system at a consultancy company and an international bank. I had the chance to put the theory into practice. It was great to see the conceptual metrics model in a corporate company. There are not enough words to express the gratitude I feel to the people that have helped, inspired and supported me in writing this thesis. First, I would like to thank my first supervisor, Werner Heijstek, and second supervisor, Guus Ramackers. In addition, I would like to thank the manager of NS, for giving me advice and input during, and even after the business case. Also, I would like to thank the consultancy company and international bank for giving me the chance to work with this delightful topic. Finally, I would like to thank my parents, Chi Lung, Ka Ho, and all the participants who helped to review and kept me motivated for writing the thesis. Pagina 3 van 83 [Page intentionally left blank] There’s a saying in Dutch: “Meten is weten, gissen is missen” Meaning: “measurement is the key to knowledge” Pagina 4 van 83 Table of content Abstract ................................................................................................................................ 2 Acknowledgement ............................................................................................................... 3 1. Introduction ..................................................................................................................... 8 1.2 Problem statement ............................................................................................................................. 9 1.3 Research Relevance .......................................................................................................................... 10 1.4 Research questions ........................................................................................................................... 12 1.5 Thesis scope ...................................................................................................................................... 13 1.6 Thesis overview ................................................................................................................................ 14 2. Research Methodology ................................................................................................... 15 2.1 Research approach ........................................................................................................................... 16 2.1.1 Case study overview ...................................................................................................................... 16 2.2 Data collection .................................................................................................................................. 17 2.3 Data analysis ...................................................................................................................................... 17 2.4 Creating Requirements Engineering Maturity Scan .................................................................... 18 2.5 Validity ............................................................................................................................................... 19 3. Literature review ............................................................................................................ 20 3.1 Traditional Software Development Methods .............................................................................. 21 3.2 Agile Software Development Methods ......................................................................................... 21 3.3 Requirements Engineering .............................................................................................................. 23 3.4 Requirements Engineering Metrics ............................................................................................... 23 4. Results ............................................................................................................................ 27 4.1 Design of the proposed Maturity Scan ......................................................................................... 27 4.1.1. The relation between REMS 1 and REMS 2 ...................................................................... 28 4.1.2. REMS 1.0 .................................................................................................................................. 29 4.1.3. REMS 2.0 .................................................................................................................................. 33 5. Discussion ...................................................................................................................... 35 5.1 Lightweight method to measure the quality of requirements engineering for custom software development in complex IT environments ........................................................................ 35 5.2 Main challenges in requirements engineering .............................................................................. 36 5.3 Criteria for lightweight requirements engineering ....................................................................... 38 5.4 KPI’s in requirements engineering ................................................................................................ 38 5.5 Implementation of the Maturity Scan ........................................................................................... 39 5.6 Evaluation of the Maturity Scan .................................................................................................... 39 6. Conclusion and recommendations ................................................................................ 43 Pagina 5 van 83 6.1 Conclusions ....................................................................................................................................... 43 6.2 Limitation .......................................................................................................................................... 44 6.3 Recommendations for future work ............................................................................................... 45 7. References ...................................................................................................................... 48 8. Appendices ..................................................................................................................... 49 Introductie ......................................................................................................................... 57 Achtergrondinformatie .......................................................................................................................... 57 Huidige situatie ................................................................................................................. 59 Het model .......................................................................................................................... 62 Het doel van elk requirements proces ................................................................................................. 63 Requirements Engineering Quick Scan ..............................................................................................