Ponle Salu.Pdf (4.174Mb)
Total Page:16
File Type:pdf, Size:1020Kb
Deducing Requirements From Agile Software Processes by Ponle Salu A thesis presented to the University of Waterloo in fulfillment of the thesis requirement for the degree of Master of Applied Science in Management Sciences Waterloo, Ontario, Canada, 2014 © Ponle Salu 2014 AUTHOR'S DECLARATION I hereby declare that I am the sole author of this thesis. This is a true copy of the thesis, including any required final revisions, as accepted by my examiners. I understand that my thesis may be made electronically available to the public. ii Abstract In classical engineering practice, the elicitation of requirements is an important early project phase. Requirements help to define the project goals and scope, they serve as a basis for cost estimation, and in validated projects they are the cornerstone of the traceability matrix. However, requirements elicitation is difficult because of the abstract nature of the process and because there is uncertainty at the start of a project about what can be done. In recent software development practice, waterfall methods have fallen into disfavor, and agile methods are preferred. Agile methods avoid formal requirements specification, and instead use techniques such as scrums and user stories to specify development phases that are performed iteratively. In agile methods, requirements remain implicit and undocumented. While agile may avoid the difficulties of formal elicitation of requirements, it may in the process bypass the activity of analysis of user needs, and the generation of a baseline against which the implemented system can be validated. In this thesis we show that requirements can be deduced from the user stories and process maps that result from agile methodologies. A modified failure mode effects analysis approach is used to identify risks, failure modes, and countermeasures, and to evaluate risks and countermeasures by computing severity and likelihood of the risks, and the benefits of the countermeasures. The deduction of requirements from agile artifacts encourages an agile team to think through its preferences and proposed implementations, and objectively rate them. It captures the rationale for the user stories and process maps, and provides traceability from business goals to the functional requirements. iii Acknowledgements First, I want to thank God Almighty, who in His infinite mercies has made this dream a reality. My deepest appreciation goes to my thesis supervisor, Dr. Darrell Raymond whose depth of knowledge and subject matter expertise proved instrumental to the success of this research endeavor. Without his continuous encouragement, enviable spirit of adventure, countless hours of brainstorming, convincing arguments, exemplary work ethic and selflessness, this research work would not have been possible. You will always be a mentor. I will be forever grateful to my co-supervisor, Professor Frank Safayeni, Chairman Department of Management Science at University of Waterloo for ensuring I get all the administrative, technical and scholarly support I needed to succeed in this undertaking. I would also like to acknowledge Dr. Mark Hancock and Dr. Stanko Dimitrov for reading this thesis. I am gratefully indebted to both of you for your time and valuable comments. The case study used in this thesis was conducted as a collaborative industry-university research project. I would like to thank everyone that played a role in ensuring the objectives of the project were successfully realized. Special thanks to Steve Mai and Todd Ronald (industry partners) for the opportunities and supports availed us throughout the project; to MITACS for funding the project through the MITACS Accelerate research internship program; Jennifer Tedman-Jones of MITACS for supporting the project in every way possible; Ada Hurst (lecturer, Industry Liaison) for raising the possibility of a project in the first place; Geovania Pimenta (fellow intern) whose project management skills gave the project the impetus to succeed; Rob Duimering (lecturer, project co-supervisor) for all his efforts and the support he gave to see the project to success. Special gratitude is extended to Dr. David Fuller (Associate Chair, Graduate Studies) for throwing his weight behind me in pursuing this research endeavor. I would like to extend my sincere thanks to the management, lecturers and staff of the Management Sciences department of The University of Waterloo for the high level of support, dedication and professionalism. Studying here has been highly rewarding, enlightening and nourishing. iv Many thanks to Bright Iheanacho’s family for their support upon my arrival in Canada, the Akinniyi family for their big heart, Marcia Halliday (landlady) for being hospitable, members of Our God Hears Foursquare Christian fellowship, My Dad, Prophet Olatunji Gbadebo Salu for relentlessly encouraging me to do this, the families of Deji Olusoga, Gbenga Salu ,Kemi Dairo, Adelola Adesida, Akinboro, my larger family members, in-laws and friends. Last but not the least; I want to profoundly thank my wife, Abimbola Salu and my son, Timi Salu. Your overwhelming show of real support and understanding is thorough and peerless. We envisioned this together, painstakingly went through the stages together and now, we can see it come about together. You are awesome! v Dedication I dedicate this thesis work to my mother, Victoria Iyabo Salu who passed on to glory while I was far away from home doing this program. Your words of advice to serve God, serve my fellow human beings and be the best I can be continues to ring in my ears. vi Table of Contents AUTHOR'S DECLARATION ................................................................................................................................ II ABSTRACT ...................................................................................................................................................... III ACKNOWLEDGEMENTS .................................................................................................................................. IV DEDICATION ................................................................................................................................................... VI TABLE OF CONTENTS ..................................................................................................................................... VII LIST OF FIGURES .............................................................................................................................................. X LIST OF TABLES .............................................................................................................................................. XII CHAPTER 1 INTRODUCTION ............................................................................................................................ 1 1.1 THE IMPORTANCE OF REQUIREMENTS .................................................................................................................... 1 1.2 PROBLEMS ELICITING REQUIREMENTS .................................................................................................................... 2 1.3 AGILE METHODS ................................................................................................................................................ 4 1.4 THE THESIS PREMISES ......................................................................................................................................... 6 1.5 CONTRIBUTIONS OF THE THESIS ............................................................................................................................ 7 1.6 ORGANIZATION OF THE THESIS ............................................................................................................................. 8 CHAPTER 2 MACE CASE STUDY ........................................................................................................................ 9 2.1 INTRODUCTION ................................................................................................................................................. 9 2.2 BACKGROUND OF CASE STUDY .............................................................................................................................. 9 2.3 METHODOLOGY .............................................................................................................................................. 10 2.3.1 Project preparation stage ................................................................................................................... 11 2.3.2 Model development – Iteration 1 ....................................................................................................... 13 2.3.3 Model development – Iteration 2 ....................................................................................................... 18 2.3.4 Model development – Iteration 3 ....................................................................................................... 20 2.3.5 Model development – Iteration 4 ....................................................................................................... 22 2.3.6 Project delivery ................................................................................................................................... 23 2.4 AGILE METHODOLOGY AS PRACTICED IN THE CASE STUDY ......................................................................................... 23 2.4.1 Iterative and incremental development .............................................................................................