Risker kring refactoring inom agil mjukvaruutveckling: En kvalitativ studie fokuserad på utvecklarens perspektiv
2022 (Swedish)Independent thesis Basic level (degree of Bachelor), 10 credits / 15 HE credits
Student thesis
Abstract [sv]
Världen digitaliseras i en snabb takt och de system som utvecklas blir allt större. Samtidigt som ett system ökar i storlek, ökar även dess komplexitet vilket gör det svårare att både underhålla och vidareutveckla. Parallellt till detta skapar snabba deadlines och de vanliga agila tankesätt som används idag ett mer tidspressat utvecklingsarbete där utvecklare ofta tvingas ta genvägar för att “releasa” i tid. Då tidigare forskning har utforskat risker, som tidspress, och hur man ska hantera dem vid agil utveckling ämnar denna studie att utforska riskerna inom refactoring, en aktivitet för att förändra kod utan att förändra kodens funktionalitet, som en del av den agila utvecklingen. I denna studie utforskas därför hur utvecklare, som arbetar agilt, förhåller sig till och hanterar riskerna kring refactoring genom intervjuer med erfarna utvecklare. På så sätt kan vår studie bidra med ytterligare kunskap om riskhantering inom forskningsfältet samt även ge utvecklare ett nytt perspektiv på hur de genomför refactoring. För att uppnå detta ställer studien frågan: Hur förstår och hanterar utvecklare de underliggande riskerna kring refactoring inom agil mjukvaruutveckling? Denna frågeställning kräver även att studien ställer delfrågan: Vilka är riskerna som finns kring refactoring? Den insamlade empirin kommer från fem semistrukturerade intervjuer som genomförts med utvecklare från olika företag. Resultat har visat att utvecklare är medvetna om refactoring–risker kring Teknisk skuld och Mänskliga faktorer, men att de är problematiska och man försöker hantera dem med hjälp av planering av refactoring, kommunikation inom organisationen och enhetstester. Det har också uppenbarats två nya risker kring refactoring: Uteblivna eller felaktiga tester & Föråldrad teknik och kodstandard.
Abstract [en]
The world is digitizing at a fast pace and the IT-systems continuously get larger. At the same time as a system increases in size its complexity also increases, which makes it more difficult to both maintain and further develop. In parallel, the rapid deadlines and the agile mindset that is most commonly used today create an environment with constant time pressure and developers are often forced to cut corners in order to make deadlines. Since previous research has explored the risks, such as time pressure and how to deal with it within agile software development, this paper aims to further explore the risks within refactoring, a way of rewriting code without changing its functionality, as a part of agile development. This study explores the developers view on refactoring, within an agile environment, by conducting interviews with experienced developers. In this way the study contributes with further knowledge within the field of risk management and can also bring a new perspective for developers on how they perform refactoring. To achieve this, the study asks the research question: How does a developer perceive and deal with the underlying risks of refactoring within agile software development? This question requires that the study also asks the subquestion: What are the risks of refactoring? The gathered empirical in the study comes from five, semi-structured interviews that have been conducted with developers from different corporations. The results show that they are aware of the refactoring risks surrounding Technical Debt and Human factors, but that they are problematic and developers try to deal with them through the planning of refactoring, communication within the organization and unit testing. Two new risks surrounding refactoring have also appeared: Absent or faulty tests and Outdated technology & code standards.
Place, publisher, year, edition, pages
2022. , p. 41
Keywords [en]
Refactoring, agile, agile software development, risk-management, Technical debt, human factors, qualitative study
Keywords [sv]
Refactoring, agil, agil mjukvaruutveckling, riskhantering, teknisk skuld, mänskliga faktorer, kvalitativ studie
National Category
Communication Systems
Identifiers
URN: urn:nbn:se:hv:diva-18420Local ID: EXI500OAI: oai:DiVA.org:hv-18420DiVA, id: diva2:1661010
Subject / course
Informatics
Educational program
Systemutveckling - IT och samhälle
Supervisors
Examiners
2022-06-012022-05-252022-06-01Bibliographically approved