Table Of ContentMethod Tailoring in Agile Software
Development Projects
An Exploratory Case Study
Lars Kråkevik
Master of Science in Engineering and ICT
Submission date: February 2018
Supervisor: Nils Olsson, MTP
Co-supervisor: Torgeir Dingsøyr, IDI
Norwegian University of Science and Technology
Department of Mechanical and Industrial Engineering
Preface
This thesis concludes my five year master’s program in Engineering and ICT at the
Norwegian University of Science and Technology (NTNU). The master thesis was
conducted as an exploratory case study in the course Project and Quality Management
(TPK4920) over a period of one semester, and have been a very enlightening and
rewarding process.
Throughout the study program I have taken a broad selection of courses. In several
of these, agile software development have been a prominent theme that caught my
interest. Ifurtherpursuedthisinaspecializationprojectpriortothisthesis,whichalso
introduced me to the concept of method tailoring. I found this to be a very intriguing
and highly relevant topic in the context of agile software development projects that
have yet to be adequately investigated in research. This motivated to further explore
this in my master thesis.
First and foremost, I would like to give special thanks to my two supervisors for
creating this opportunity to pursue my interest for agile software development. A
big thank you to my main supervisor Nils Olsson for helpful guidance, feedback,
and continued support throughout. Thank you also to my co-supervisor Torgeir
Dingsøyr for the many helpful guidance sessions, and for sharing your expertise on
agile software development and related topics.
I would also like to thank the companies and its representatives who gave me the
opportunity to study a very interesting project and use it as a case in my thesis.
Lastly, a thank you to my family for all the support and helpful advice all the way
from start to finish.
Trondheim, February 14, 2018
Lars Kråkevik
Summary
Information technology is becoming increasingly important for organizations and
individualsintoday’ssociety. Softwareisakeypartofthisandcanprovidecompetitive
edge in a market characterized by constant change. This makes it challenging for
those who develop and deliver these products and services. To succeed from idea,
via development, testing and execution, an agile project method that enable quick
handling of change is essential.
Agile methods have typically recommended delivery of change and new features in
increments every two to four weeks. In recent times, a trend is observed towards
agile approaches that enable delivery on a continuous basis for additional benefits and
competitiveness. However, this requires companies to effectively tailor agile methods
and apply mature technology with aim towards this in their projects and deliveries.
Methodtailoringisaveryrelevantissueinconjunctiontothis,whichinvolvestailoring
of project methods to the actual needs and goals of a project context. This thesis was
conducted as a case study which main purpose was to explore a software development
project’s approach to method tailoring, and how an agile method was tailored in such
a manner that deliveries of software changes and new features could be done several
times a day. The main findings showed that ongoing tailoring was a necessary activity
for continuous improvement of the method in the project. A prominent characteristic
of the tailoring approach was that the project suppliers did not confine to a method
framework, but were flexible and selected agile practices from multiple methods
based on needs and experiences. This entailed a combination of agile practices into
a minimal method by omitting unnecessary practices and formalities. The tailored
method was based on a flow-based development model rather than an iterative model,
and consisted of several agile practices that together enabled the suppliers to deliver
continuously, promptly and with the right priorities.
Keywords: Agile methods and practices, method tailoring, continuous software
delivery, project management
iii
Sammendrag
Informasjonsteknologi blir stadig viktigere for organisasjoner og enkeltindivider i
dagenssamfunn. Programvareerensentraldelavdette,ogkangikonkurransefortrinn
i et marked som er preget av konstant endring. Dette gjør det ekstra krevende for
de som utvikler og leverer disse produktene og tjenestene. Skal man lykkes fra idé,
via utvikling, test og produksjonsetting er en smidig prosjektmetodikk som raskt
håndterer endringer vesentlig.
Smidige metoder har typisk foreslått leveranser av endring og ny funksjonalitet i
inkrementer hver andre til hver fjerde uke. I nyere tid ser man en trend mot smidige
tilnærminger som muliggjør leveranse på en kontinuerlig basis for ytterligere fordeler
og konkurranseevne. Dette krever imidlertid at selskaper på en effektiv måte tilpasser
smidige metoder og tar i bruk moden teknologi med sikte mot dette i sine prosjekter
og leveranser.
Metodetilpasning er et særdeles relevant tema i denne forbindelse, som tar for seg
tilpasning av prosjektmetoder til de faktiske behov og mål i en prosjektkontekst.
Denne avhandlingen ble gjennomført som et case studie hvor formålet var å utforske
et programvareutviklingsprosjekts tilnærming til metodetilpasning, samt hvordan
en smidig metode ble tilpasset slik at leveranser av endringer og ny funksjonalitet
kunne gjøres flere ganger om dagen. Hovedfunnene viste at fortløpende tilpasninger
var sentralt for kontinuerlig forbedring av metoden i prosjektet. En fremtredende
karakteristikkfortilnærmingenvaratmanikkebegrensetsegtiletmetoderammeverk,
menvarfleksibleogvalgtesmidigepraksiserfrafleremetoderetterbehovogerfaringer.
Detteinnebarenkombinasjonavsmidigepraksisertilenminimalmetodevedåutelate
unødvendige praksiser og formaliteter. Den tilpassede metoden tok utgangspunkt i
en flytbasert utviklingsmodell fremfor en iterativ modell, og besto av flere smidige
praksiser som til sammen gjorde det mulig for leverandørene å levere kontinuerlig,
raskt og med de rette prioriteringer.
Nøkkelord: Smidigemetoderogpraksiser,metodetilpasning,kontinuerligeleveranser,
prosjektledelse
v
Contents
1 Introduction 1
1.1 Background and Motivation . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Problem Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.1 Clarifications and Definitions . . . . . . . . . . . . . . . . . . . 5
1.3 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4 Target Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.5 Thesis Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2 Background Literature and Theory 11
2.1 Agile Software Development . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.1 Traditional versus Agile Software Development . . . . . . . . . 11
2.1.2 Agile Principles and Agility . . . . . . . . . . . . . . . . . . . . . 14
2.1.3 Towards Continuous Software Delivery in Agile Software Devel-
opment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.2 Agile Methods and Practices . . . . . . . . . . . . . . . . . . . . . . . . 18
2.2.1 Agile Methods Overview . . . . . . . . . . . . . . . . . . . . . . 18
2.2.2 Iterative Methods . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2.3 Flow-based Methods . . . . . . . . . . . . . . . . . . . . . . . . 24
2.2.4 Agile Practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.3 Method Tailoring . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.3.1 Introduction to Method Tailoring Theory . . . . . . . . . . . . . 31
2.3.2 Method Tailoring Approaches . . . . . . . . . . . . . . . . . . . 34
2.4 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3 Method 41
3.1 Literature Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.1.1 Literature Inclusion and Exclusion Strategy . . . . . . . . . . . . 42
3.2 Case Study Research . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3.3 Case Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.4 Preparation for Data Collection . . . . . . . . . . . . . . . . . . . . . . 47
3.5 Data Collection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.5.1 Semi-Structured Interviews . . . . . . . . . . . . . . . . . . . . 49
vii
3.5.2 Observations and Document Analysis . . . . . . . . . . . . . . . 50
3.6 Transcription of Recorded Interviews . . . . . . . . . . . . . . . . . . . 51
3.7 Coding and Data Analysis . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.8 Reporting of Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.9 Confidentiality and Anonymization . . . . . . . . . . . . . . . . . . . . 54
3.10 Research validity, reliability and generalizability . . . . . . . . . . . . . 55
4 Results 57
4.1 Overview of the Project . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.2 The Use and Tailoring of Agile Methods and Practices . . . . . . . . . . 61
4.2.1 Approach to Agile Method Tailoring . . . . . . . . . . . . . . . . 62
4.2.2 Agile Practices and Tailoring of Practices . . . . . . . . . . . . . 67
5 Discussion 83
5.1 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5.1.1 Characteristics of the Agile Method Tailoring Approach . . . . . 83
5.1.2 Combination of Agile Practices . . . . . . . . . . . . . . . . . . 88
5.2 Implications of the Research . . . . . . . . . . . . . . . . . . . . . . . . 94
5.3 Research Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6 Conclusion 99
6.1 Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
Bibliography 105
A Appendices 111
A.1 Appendix A: Interview Guides . . . . . . . . . . . . . . . . . . . . . . . 111
A.2 Appendix B: Agile Practices Survey . . . . . . . . . . . . . . . . . . . . 118
A.3 Appendix C: Confidentiality Agreement . . . . . . . . . . . . . . . . . . 120
viii
Description:manifesto (Fowler and Highsmith, 2001), agile methods and their process (Fitzgerald, Hartnett, et al., 2006; Highsmith and Cockburn, 2001).