Examensarbete på kandidatnivån 

presentation

Tidpunkt onsdag 21 April, 13-15

Plats: zoom https://kth-se.zoom.us/j/65933813361

The Solo First Pair Second Programming Model

respondenter: ROBIN HOLMQUIST och CARINA WICKSTRÖM
handledare: Mira Kajko-Mattsson

opponent: Patrik Zhong

examinator: Thomas Sjöland  (sjoland@kth.se)

språk: svenska

Aktiva lyssnare är välkomna att ansluta utan föregående anmälan

Sammanfattning
Mjukvara ar grundlaggande for livet i det moderna samhallet. Vi ar beroende av det for kritiska aspekter som att hantera bankoverforingar och medicinska journaler. Kodfel i programvaran ar dock ett vanligt problem och kan orsaka stora skador pa bade manniskor och miljo. Manga forsok har gjorts for att forbattra programvaruutveckling med malet att minska bland annat kodfel. Ett sadant forsok ar upp nningen av praxisen parprogrammering, dar tva programmerare delar och arbetar tillsammans pa en enda arbetsstation. Det mer traditionella sattet att utveckla programvara ar soloprogrammering, dar varje utvecklare tilldelas en individuell arbetsstation. Dock kvarstar problemet med kodfel. Darfor nns det ett behov av battre metoder for att minska kodfel. Syftet med denna avhandling ar att skapa en programvaruutvecklingsmodell for att minska
kodfel. Modellen som foreslas i denna avhandling ar en kombinerad praxis dar kodning med soloprogrammering foljs av omkodning med parprogrammering, kallad Solo First Pair Second (SFPS). Malet ar att hjalpa programvaruutvecklingsteam att utveckla mer palitlig programvara.
Var forskning var kvalitativ med stod av kvantitativ data. Forskningen omfattade en litteraturstudie och en aktionsstudie. Litteraturstudien gjordes for att skapa en forsta version av SFPS helt baserad pa litteraturen, medan aktionsstudien gjordes for att utvardera och for na SFPS baserat pa praktisk erfarenhet.
Resultaten av denna avhandling ar praxisen SFPS samt en utvardering av denna praxis. Var utvardering visar att SFPS leder till farre kodfel jamfort med soloprogrammering. Dock visar den att kostnaden med avseende pa utvecklingstid och anstrangning ar betydligt hogre for SFPS jamfort med soloprogrammering. SFPS bygger pa bade teoretisk och praktisk kunskap och har darfor en stabil grund att bygga pa. Var litteraturstudie veri erade att det inte fanns nagon praxis som SFPS fore denna avhandling.


Nyckelord
Solo First Pair Second, SFPS, agila metoder, modern mjukvaruutveckling, parprogrammering, soloprogrammering

Abstract
Software is fundamental to life in modern society. We have come to depend on it for critical aspects such as managing bank transactions and medical records. However, code defects in software is a common issue, and has the potential to cause major damage to both humans and the environment. Many attempts have been made in order to improve software development in order to reduce code defects, among other aspects. One such attempt is the invention of the practice pair programming, where two programmers share and work together on a single workstation. The more traditional way of developing software is solo programming, where each developer is assigned an individual workstation. However, the issue with code defects still remains. Hence, there is a need for better methods for reducing software defects.
The purpose of this thesis is to create a software development model for reducing software defects. The model suggested in this thesis is a combined practice where coding with solo programming is followed by re-coding with pair programming called Solo First Pair Second (SFPS). The goal is to help software development teams to develop more reliable software. Our research was qualitative with support from quantitative data. The research included a literature study and an action study. The literature study was done in order to create a rst version of SFPS entirely based on literature, whereas the action study was done in order to evaluate as well as re ne SFPS based on practical experience. The results of this thesis is the practice SFPS as well as an evaluation of said practice. Our evaluation shows that SFPS leads to fewer code defects compared to solo programming. However, the cost with regard to development time and e ort is signi cantly higher for SFPS compared to solo programming. SFPS is based on both theoretical and practical knowledge, and has therefore a solid foundation to build upon. Our literature study veried that no practice like SFPS existed before this thesis.


Keywords
Solo First Pair Second, SFPS, agile, modern software development, pair programming, solo programming