Software Developer Experience : Case Studies in Lean-Agile and Open Source Environments

Show full item record



Permalink

http://urn.fi/URN:ISBN:978-951-51-1747-2
Title: Software Developer Experience : Case Studies in Lean-Agile and Open Source Environments
Author: Fagerholm, Fabian
Contributor: University of Helsinki, Faculty of Science, Department of Computer Science
Publisher: Helsingin yliopisto
Date: 2015-12-04
URI: http://urn.fi/URN:ISBN:978-951-51-1747-2
http://hdl.handle.net/10138/158080
Thesis level: Doctoral dissertation (article-based)
Abstract: Human factors have been identified as having the largest impact on performance and quality in software development. While production methods and tools, such as development processes, methodologies, integrated development environments, and version control systems, play an important role in modern software development, the largest sources of variance and opportunities for improvement can be found in individual and group factors. The success of software development projects is highly dependent on cognitive, conative, affective, and social factors among individuals and groups. When success is considered to include not only fulfilment of schedules and profitability, but also employee well-being and public impact, particular attention must be paid to software developers and their experience of the software development activity. This thesis uses a mixed-methods research design, with case studies conducted in contemporary software development environments, to develop a theory of software developer experience. The theory explains what software developers experience as part of the development activity, how an experience arises, how the experience leads to changes in software artefacts and the development environment through behaviour, and how the social nature of software development mediates both the experience and outcomes. The theory can be used both to improve software development work environments and to design further scientific studies on developer experience. In addition, the case studies provide novel insights into how software developers experience software development in contemporary environments. In Lean-Agile software development, developers are found to be engaged in a continual cycle of Performance Alignment Work, where they become aware of, interpret, and adapt to performance concerns on all levels of an organisation. High-performing teams can successfully carry out this cycle and also influence performance expectations in other parts of the organisation and beyond. The case studies show that values arise as a particular concern for developers. The combination of Lean and Agile software development allows for a great deal of flexibility and self-organisation among developers. As a result, developers themselves must interpret the value system inherent in these methodologies in order to inform everyday decision-making. Discrepancies in the understanding of the value system may lead to different interpretations of what actions are desirable in a particular situation. Improved understanding of values may improve decision-making and understanding of Lean-Agile software development methodologies among software developers. Organisations may wish to clarify the value system for their particular organisational culture and promote values-based leadership for their software development projects. The distributed nature and use of virtual teams in Open Source environments present particular challenges when new members are to join a project. This thesis examines mentoring as a particular form of onboarding support for new developers. Mentoring is found to be a promising approach which helps developers adopt the practices and tacit conventions of an Open Source project community, and to become contributing members more rapidly. Mentoring could also have utility in similar settings that use virtual teams.Ohjelmistokehitysprojektien suorituskyky ja menestys ovat vahvasti riippuvaisia yksilön ajattelu-, motivaatio- ja tunneseikoista sekä ryhmäprosesseista. Ohjelmistokehittäjien kokemus kehitystoiminnasta on tärkeä menestystekijä, jota toistaiseksi ei ole kuitenkaan kattavasti ymmärretty. Väitöskirjassa kehitetään teoria kehittäjäkokemuksesta tapaustutkimusten avulla. Teoriaa voi käyttää parantamaan ohjelmistokehityksen työympäristöjä ja se voi toimia uusien tieteellisten tutkimusten viitekehyksenä. Lisäksi väitöskirja esittelee uutta tietoa kehittäjäkokemuksesta nykyaikaisessa ohjelmistokehityksessä. Virtaviivaisessa (Lean) ja ketterässä (Agile) ohjelmistokehityksessä kehittäjät kokevat korkean suorituskyvyn tavoittelun jatkuvana tiedostamisen, tulkinnan ja sopeutumisen syklinä. Huipputiimit kykenevät onnistuneesti toteuttamaan tätä sykliä ja samalla vaikuttamaan suorituskykyodotuksiin organisaatiossa ja sen ulkopuolella. Väitöstutkimuksen mukaan arvot nousevat esiin erityisenä kysymyksenä kehittäjille. Virtaviivainen ja ketterä ohjelmistotuotanto korostaa arvoina muun muassa yksilöiden välistä vapaamuotoista vuorovaikutusta, asiakasyhteistyötä ja myönteistä suhtautumista muutoksiin. Tutkimus osoittaa kuitenkin, että ymmärrys arvoista vaihtelee ja että kehittäjillä voi olla erilaiset tulkinnat siitä, mitä ne merkitsevät käytännössä. Organisaatioissa voi olla tarpeen selkeyttää virtaviivaisten ja ketterien menetelmien korostaman arvojärjestelmän suhde organisaatiokulttuuriin ja edistää arvojohtamista ohjelmistokehitysprojekteissa. Väitöskirjassa käsitellään myös uusien jäsenten liittymistä avoimen lähdekoodin kehitysprojekteihin. Nämä kehitysprojektit toimivat pitkälti tietoverkon välityksellä, mikä tuo liittymiselle erityisiä haasteita. Tutkimuksessa mentorointia tarkastellaan erityisenä perehdytyksen tukimuotona, joka vaikuttaa kehittäjäkokemukseen. Mentoroinnin todetaan olevan lupaava lähestymistapa, joka auttaa kehittäjiä omaksumaan avoimen lähdekoodin projektiyhteisön käytäntöjä ja lausumattomia tapoja sekä nopeuttamaan heidän edistymistään aktiivisiksi jäseniksi. Mentorointi voi olla hyödyllistä myös muissa samankaltaisissa ympäristöissä, joissa käytetään virtuaalitiimejä.Prestation och framgång i programvaruutvecklingsprojekt beror till stor del på kognitiva, motivationella och emotionella faktorer samt grupprocesser. Programvaruutvecklares upplevelse av utvecklingsaktiviteten är en viktig framgångsfaktor som hittills inte har utforskats heltäckande. I denna doktorsavhandling används fallstudier för att utveckla en teori om utvecklarupplevelse. Teorin kan användas för att förbättra arbetsmiljöer för programvaruutveckling och den fungerar somreferensram för nya vetenskapliga studier. Avhandlingen presenterar dessutom nya resultat om utvecklarupplevelse i modern programvaruutveckling. Utvecklare inom Lean- och Agile-programvaruutveckling upplever strävan till hög prestanda som en kontinuerlig cykel av varseblivning, tolkning och anpassning. Toppresterande team har förmågan att utföra denna cykel framgångsrikt och samtidigt påverka prestationsförväntningar i och utanför den egna organisationen. Enligt avhandlingen lyfts värderingar fram som en särskild fråga för utvecklare. Lean- och Agile-programvaruutveckling betonar värderingar som bland annat fri interaktion mellan individer, kundsamarbete och ett positivt förhållningssätt till förändring. Undersökningen visar dock att förståelsen av värderingarna varierar och att utvecklare kan tolka värderingarnas praktiska betydelse på olika sätt. Det kan vara nödvändigt för organisationer att klargöra hur det värderingssystem som betonas i Lean- och Agile-metoder förhåller sig till organisationskulturen och att främja värdeledarskap i programvaruprojekt. Avhandlingen behandlar också integration av nya medlemmar i programvaruprojekt med öppen källkod. Dessa projekt fungerar främst via datanät, vilket leder till speciella utmaningar för nya medlemmar. I undersökningen granskas mentorskap som en speciell form av onboarding-stöd som påverkar utvecklarupplevelsen. Mentorskap visar sig vara ett lovande tillvägagångssätt som hjälper utvecklare att anta rådande praxis och tysta konventioner i utvecklingsprojekt med öppen källkod, och påskynda deras utveckling till aktiva medlemmar. Mentorskap kan också vara användbart i andra liknande sammanhang som använder virtuella team.
Subject: Computer Science
Rights: This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.


Files in this item

Total number of downloads: Loading...

Files Size Format View
software.pdf 895.5Kb PDF View/Open

This item appears in the following Collection(s)

Show full item record