Agile in the context of Software Maintenance: A Case Study
Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE creditsStudent thesis
Context: Adopting agile practices has proven to be successful for many practitioners both academically and practically in development scenario. But the context of agile practices adoption during software maintenance is partially studied and is mostly focused on benefits. The success factors of agile practices during development cannot be related to maintenance, as maintenance differs in many aspects from development. The context of this research is to study the adoption of different agile practices during software maintenance.
Objectives: In this study, an attempt has been made to accomplish the following objectives: Firstly, to identify different agile practices that are adopted in practice during software maintenance. Secondly, identifying advantages and disadvantages of adopting those agile practices during software maintenance.
Methods: To accomplish the objectives a case study is conducted at Capgemini, Mumbai, India. Data is collected by conducting two rounds of interviews among five different projects which have adopted agile practices during software maintenance. Close-ended questionnaire and open-ended questionnaires have been used respectively for first and second round interviews. The motivation for selecting different questionnaire is because each round aimed to accomplish different research objectives. Apart from interviews, direct observation of agile practices in each project is done to achieve data triangulation. Finally, a validation survey is conducted among second round interview participants and other practitioners from outside the case study to validate the data collected during second round interviews.
Results: A simple literature review identified 30 agile practices adopted during software maintenance. On analyzing first round of interviews 22 practices are identified to be mostly adopted and used during software maintenance. The result of adopting those agile practices are categorized as advantages and disadvantages. In total 12 advantages and 8 disadvantages are identified and validated through second round interviews and validation survey respectively. Finally, a cause-effect relationship is drawn among the identified agile practices and consequences.
Conclusions: Adopting agile practices has both positive and negative result. Adopting agile practices during perfective and adaptive type of maintenance has more advantages, but adopting agile practices during corrective type of maintenance may not have that many advantages as compared to other type of maintenance. Hence, one has to consider the type of maintenance work before adopting agile practices during software maintenance.
Place, publisher, year, edition, pages
2015. , 94 p.
Software maintenance, Agile Practices, Agile, Advantages and Disadvantages
IdentifiersURN: urn:nbn:se:bth-10957OAI: oai:DiVA.org:bth-10957DiVA: diva2:868367
Subject / course
PA2534 Master's Thesis (120 credits) in Software Engineering
PAAXA Master of Science Programme in Software Engineering
2015-09-21, J1630, BTH, J Block, Karlskrona, 11:00 (English)
Johansson, Conny, Assistant Professor
Börstler, Jürgen, Professor