Impact of Unified User-Story-Based Modeling on Agile Methods: Aspects on Requirements, Design and Life Cycle Management by Samedi Heng
Total Page:16
File Type:pdf, Size:1020Kb
Impact of Unified User-Story-Based Modeling on Agile Methods: Aspects on Requirements, Design and Life Cycle Management by Samedi Heng A thesis submitted in fulfillment of the requirements for the degree of Doctor in Economics and Management Sciences of the Université catholique de Louvain Examination Committee: Prof. Manuel Kolp (UCLouvain), Advisor Prof. Yves Wautelet (KULeuven), Co-Advisor Prof. Jean Vanderdonckt (UCLouvain), Examiner Prof. Isabelle Mirbel (Université Nice Sophia Antipolis), Examiner Prof. Vincent Englebert (UNamur), Reader Prof. Per Agrell (UCLouvain), President of the jury February 2017 To my parents, for your hard work and sacrifices to support our family and, more importantly, your vision that only better education can improve our standards of living to increased enjoyment and happiness. Acknowledgements As long as I remember, writing a PhD thesis has always been a dream. It has been a unique experience comparable to no others I have had before. It took me six years to finally made it to the end. This would not have been possible without the precious help and encouragements from the people I thank hereafter. First, I would like to express my sincere gratitude to my supervisors Profs. Manuel Kolp and Yves Wautelet. Yves once told me that the path to the PhD is made of ups and downs; downs can be the periods when most of the improvements are there to put yourself into question which is, by nature, the essence of any scientific work. My personal path has also been made of these with a down peak in 2013. Both of you helping me back on my feet in a hard but fair manner made of interventions and coaching but also encouragements, advices, and amusement. Manuel, many thanks for the opportunities you have offered me: the teaching and research assistant position at the Louvain School of Management (LSM ) and Louvain Research Institute in Management and Organizations (LouRIM ) which led me to the honor of being one of your PhD students. You have provided me with the chance, support and liberty to achieve this work. This, of course, has also impacted my private life because I not only found a PhD supervisor in you but also a true and sincere friend. I would like also to extend my acknowledgements to your wife, Ai Vi, for her hospitality and kindness. I deeply respect and admire Yves! You have provided me continuous and constructive feedback on my research to ultimately build this thesis. It would truly not have been possible to achieve and finish this work without your help, Yves; the contents, approach and writings have tremendously evolved because of your rigorous guidance. Many thanks for your time, coaching and the many discussions we have had along the way. Next, I thank the other members of the jury, Profs. Isabelle Mirbel, Jean Vanderdonckt, Vincent Englebert and Per Agrell for accepting to participate in the jury of this thesis and their valuable feedback. Jean in particular, thank you for your gentleness, encouragement, and simple and clear explanations. My sincere thanks also go to Prof. Christelle Scharff for allowing me to participate in the global software development project from 2011 to 2013 from which I have learnt about user stories, agile methods and the case study used in this thesis, and Prof. Stephan Poelmans and Velghe Mattijs for the help building the contributions with respect to the experimentations on user stories included in this thesis. A warm regard also goes to Sandrine Delhaye for helping and facilitating my PhD process. My gratefulness also goes to my colleagues in Center of Management Infor- mation Systems (CEMIS) at LouRIM. I especially want to thank Prof. Marco Saerens, Thanh-Diane Nguyen, Soreangsey Kiv, Sodany Kiv, Sylvie Baudine, Mathieu Zen, Iyad Khaddam and Jorge Luis Perez Medina for their helpful discussions regarding teaching, research and also social life. I am grateful for the help of Thavorac Chun for implementing CASE-Tool during his research stay at CEMIS in 2014 during 2 months. My sincere appreciation also goes to Vietnamese, Taiwanese, Pilipino and, of course, Belgian friends for being friendly and sharing fun with our family. I am very thankful to Cambodian friends in Belgium and the Netherlands who have helped our family and have made our life joyful during all these years. In particular, Samnang Nary, thank you for your assistance and care to our family. Last but not least, I would like to thank my family: my parents, parents- in-law, wife and children, for their support and encouragement, and above all, their care and love. Thank you, Rachana, for accepting to be part of my PhD journey. I know you have had a hard time adapting to the live in a country with a culture and language you were not familiar with but in the end you were able to adapt and enjoy Belgian life, so far away from where we were born. It took me longer than I expected, but I made it for you and our family. Therefore, this PhD thesis is also dedicated to you! Marissa and Matisse, thank you for your everyday smile. Love you all! Samedi Heng vi Abstract User stories (US) are the most commonly used requirements artifacts within agile methods such as XP and Scrum. They are written in the form of text of maximum two lines in natural language using prose or following a specific template. Traditionally, they are written down on an index card and posted on a wall or whiteboard for analyzing and monitoring the progress of the project. This performs well when the number of US is limited; but not so well when the number of US is large. In practice, many templates have been proposed with no semantic associated to each syntax used in the templates. This leads to series of issues looking alike different stakeholders interpreting the purpose of the US differently and results in making the whole set difficult tostructure and analyze. In the end, this translates in misinterpretation of requirements. This thesis starts with studying existing US templates in order to build a (consistent) unified model for their use with, for each keyword, a syntaxand associated semantic. Particularly, this thesis studies US templates following the structure: As [WHO], I want [WHAT], so that [WHY]. Additionally, we also build a derived graphical representation for representing a US set to better analyze dependencies and alternatives of US. This notably allows building a view of the system-to-be on multiple aggregation level. A coarse-grained view can help the development team to better manage the life cycle of the application development by selecting relevant US to be developed within the coming iteration(s). Additionally, a fine-grained view allows dealing with the details of the functions to be developed. This thesis is organized as follows. Part I introduces the work. Part II presents the related literature review—i.e., agile software development, require- ments engineering and requirements engineering in agile methods. Part III exposes the unified model for US template which is the pillar of the thesis andis used as a foundation for the other contributions of the thesis. The unified model was constructed based on empirical data collected from the web and scientific literature. The adopted concepts are the Role in the WHO dimension; the Capability, Task, Hard-goal and Soft-goal in the WHAT dimension; and, finally, the Task, Hard-goal and Soft-goal in the WHY dimension. We also provide a well-defined semantic associated to each of these syntaxes; most of them come for the i* framework. Part IV presents the Rationale Tree (RT), a goal-based graphical representation for representing US sets. It indeed allows analyzing the dependencies between US set in a US set—this allows us to better understand the implications in terms of business value offered by their development as well as to get a multiple level view of the system-to-be. Basically, a RT is built out of a US set tagged following the proposed unified model. This part also exposes an empirical study on the ability of understanding the constructs of the unified model for tagging a US set and ultimately building a RT out of a US set. The experimentations were conducted with 3 groups: IT Students, Business Students and Researchers. The results have shown that, when tagging a US, identifying the right concept—especially for functional elements where granularity plays an important role—can only be done when evaluating a consistent US set as a whole and thus not on an individual basis. Part V provides an alternative approach for graphically representing a US set based on the (industry adopted) Use-Case model. The latter model is nevertheless intended to only provide a coarse-grained representation of the system-to-be. Finally, Part VI concludes the thesis and discusses future work. viii Table of contents List of figures xiii List of tables xv I Introduction1 1 Introduction3 1.1 Research Context . .3 1.2 Reading Map and Contributions . .5 1.3 Limitations . .6 II Literature Review9 2 Agile Software Development 11 2.1 The Emergence of Agile Methods . 11 2.2 Agile Methods . 13 2.2.1 The Manifesto for Agile Software Development . 13 2.2.2 Agile Methods in Practice . 15 2.3 Overview of the Main Agile Methods . 18 2.3.1 eXtreme Programming . 18 2.3.2 Scrum . 22 2.4 Conclusion . 25 3 Requirements Engineering: an Overview 27 3.1 Requirements Engineering Basic Notions . 27 3.1.1 Requirement: Definition . 27 3.1.2 From Requirement to Requirements Engineering . 28 3.2 Abstraction Levels for Requirements Representation and Management . 28 3.2.1 Dimensions in Requirements Engineering .