Best Practices in Agile Software Development
Total Page:16
File Type:pdf, Size:1020Kb
Universiteit Leiden ICT in Business Best practices in Agile software development A qualitative study on how organizations identify, analyze, improve, represent and document (best) practices to improve their software development processes. Name: Ing. R.H.J.C. (Roy) van Wel Student-no: 1310194 Date: 25/08/2013 1st supervisor: C.J. (Christoph) Stettina MSc. 2nd supervisor: Dr. L.P.J. (Luuk) Groenewegen MASTER'S THESIS Leiden Institute of Advanced Computer Science (LIACS) Leiden University Niels Bohrweg 1 2333 CA Leiden The Netherlands Acknowledgements By completing this Thesis I finished my education and will receive my Master of Science degree. Of course, I was not able to finish my Thesis without supervision. Therefore I would like to first thank Dr. Luuk Groenewegen, especially for making time available on short notice. Also I would like to give special thanks to Christoph Stettina MSc. for his supervision and coaching skills. You were there when I needed your help and you always gave me enough space for self-deployment. Although my background is ICT-related, I found the Thesis proposal from Christoph very intriguing. The initial objective was to look on currently available Agile practices and compare the applicability of existing process model descriptions to document Agile practices in an accessible but complete manner. During my literature study I got really enthusiastic about the subject Agile software development and decided to also examine how organizations identify, analyze and improve their practices. During my literature research I found very interesting literature how practices can be identified by executing workshops. Because I was really curious how this would work in practice, I asked André Lauwerijssen, a very skilled Scrum Master, to execute the workshop with me. Based on his knowledge I was able capture the practice and use this information as input to represent several representation examples that I used during the interviews. Thank you very much André. Without your help I could never completed the workshop successfully. As stated before, I used the results of the process workshop to represent several representation examples. However I was not able to represent the results in a very appealing manner. Brahim Harmane, an Architect student from the University of Delft, helped me to create an appealing concept-representation method that I could use for my interviews. Thank you for time and creativity Brahim. After all the representation methods were developed, I was ready to conduct the interviews. Unfortunately I cannot mention the names of the organizations where I conducted the interviews or the names of the interview participants. Nevertheless, I would like to thank you all very much, because your participation and enthusiasm about this subject matter gave me a lot of energy and great research results. I hope that you can use my research results in some way to improve your Agile software development processes. Last but not least I would like to thank my wife Wiesia for given me the opportunity to steal our private time and taking great care of our daughter Lara. Index 1 INTRODUCTION........................................................................................................................................ 6 1.1 PREFACE ................................................................................................................................................... 6 1.2 PROBLEM DOMAIN ...................................................................................................................................... 6 1.3 RESEARCH OBJECTIVE................................................................................................................................... 7 1.4 SCOPE AND DELINEATION ............................................................................................................................. 7 2 LITERATURE STUDY .................................................................................................................................. 8 2.1 AGILE SOFTWARE DEVELOPMENT AND PROJECT MANAGEMENT ............................................................................ 8 2.1.1 History Agile software development ................................................................................................. 8 2.1.2 Existing Agile frameworks ............................................................................................................... 10 2.1.2.1 Scrum method ........................................................................................................................................ 11 2.1.3 Agile practices ................................................................................................................................. 13 2.2 BEST PRACTICES ....................................................................................................................................... 14 2.2.1 Best practices .................................................................................................................................. 14 2.3 METHODS TO IDENTIFY AND ANALYZE PRACTICES ............................................................................................. 15 2.3.1 Narratives ........................................................................................................................................ 15 2.3.2 Organizational routines ................................................................................................................... 19 2.3.3 Best practices typology.................................................................................................................... 20 2.3.4 The Process Workshop .................................................................................................................... 22 2.3.5 Benchmarking ................................................................................................................................. 25 2.3.6 Grammatical pattern-matching ...................................................................................................... 29 2.3.7 Process mining ................................................................................................................................. 30 2.4 METHODS TO REPRESENT PRACTICES AND PROCESSES....................................................................................... 32 2.4.1 Business process modeling methods ............................................................................................... 33 2.4.2 Process modeling and notations ..................................................................................................... 34 2.4.2.1 Role Activity Diagrams (RAD) .................................................................................................................. 36 2.4.2.2 Integration DEFinition ............................................................................................................................ 36 2.4.2.3 Petri Nets ................................................................................................................................................ 38 2.4.2.4 Event-driven Process Chains (EPCs) ........................................................................................................ 38 2.4.2.5 Business Process Modeling Notation...................................................................................................... 39 2.4.2.6 Unified Modeling Language (UML) activity diagram .............................................................................. 40 2.4.2.7 Archimate ............................................................................................................................................... 41 2.4.2.8 PROforma ............................................................................................................................................... 43 2.4.2.9 Guideline Interchange Format (GLIF) ..................................................................................................... 44 2.4.2.10 GUIDE/PatMan ....................................................................................................................................... 45 2.4.2.11 RACI ........................................................................................................................................................ 46 2.5 RESULTS OF THE LITERATURE STUDY .............................................................................................................. 47 2.5.1 Agile methods .................................................................................................................................. 47 2.5.2 Agile (best) practices ....................................................................................................................... 47 2.5.3 Research gap ................................................................................................................................... 48 3 METHODOLOGY ..................................................................................................................................... 49 3.1 RESEARCH STRATEGY ................................................................................................................................. 49 3.2 CASE SELECTION STRATEGY ......................................................................................................................... 50 3.3 DATA COLLECTION ...................................................................................................................................