Teams, organisering, ledelse og værdiskabelse inden for softwareudvikling

Den 25. november blev der sat fokus på softwareudviklingsarbejdet til seminar om softwareudvikling og softwareteams afholdt af InfinITs interessegruppe for Processer og it. I løbet af seminaret blev deltagerne introduceret for en praktisk case omkring organisering af softwareudvikling, der blev sat fokus på pair programming, og til sidst blev de præsenteret for forskning om værdiskabelse gennem softwareteams.
 

Organisering af softwareudvikling 

I dagens første oplæg kom deltagerne med på en rejse i udviklingen af BAEs udviklingsteams og organisation – en uindpakket gennemgang af rejsen på godt og ondt, fortalt af oplægsholder Michael Haugaard Pedersen, Development Manager & Agile Coach, BAE Systems Applied Intelligence A/S.
 
I dag er BAE en teambaseret organisation opdelt i ni ikke-cross functional teams. Et team hedder test, der er således ikke test på hver team, da det vil give for få testere i det enkelte team. Testteams er en ressource, der kan rekvireres af teams. Der er ni teamledere og tre line managers, som fokuserer på processer og personaleledelse.
 
- Vi dikterer ikke processer, hvert team afgør selv hvilken type proces, de kører, fx Scrum eller Kanban – men vi skal være agile. Vi ønsker at have stabile teams, så den øvrige organisation kan ændre sig uden at det påvirker vores teams, fortalte Michael.
 
Før var BAE opdelt i afdelinger med afdelingsledere og hver afdeling havde ansvar for nogle produkter og var specifikt opdelt på funktioner, dvs. folk havde specifikke kompetencer. Det var en udfordring idet det blev en kamp om ressourcer. 


 
BAE havde et ønske om at opnå ensartet udvikling, som blev en slags vandfaldsmodel, men samtidig ønskede man også at udvikle sig i Lean retning, hvilket stod i modsætning til en stor udviklingsmodel. Det var en udfordring at kunderne ikke ønskede delleverancer efter udført sprint, men derimod én samlet leverance af et samlet, færdigt produkt.
 
- Det, vi gjorde, var at droppe kadencen på en måned og i stedet benytte to store releases pr. år, som kunden ønskede. Vi startede i februar 2014, hvor vi udviklede en ny organisation fra blank tavle. Vi kalder det pro agile. I dag har vi ca. 80 udviklere, før havde vi ca. 100 udviklere, fortalte Michael.
 
Hvordan kan vi mere systematisk benytte pair programming?

Da temaet, pair programming, blev taget op af Jesper Lumbye Andersen, Senior Development Engineer & Scrummaster, TC Electronic, var der frem for alt fokus på at sætte gang i snakken og dele erfaringer deltagerne imellem:
 

  • Jesper Lumbye Andersen, TC Electronic: Vi har den udfordring at være tværfaglige. Derfor overvejer vi, om vi mere systematisk kan anvende pair programming. Vi har bl.a. læst en bog af Cohn (2007), som peger på test driven development, automatisk test og pair programming. Cohn mener, at teamet selv skal opdage fordele og indrette sig efter dem. Desuden tilråder han at benytte pair programming i den mest kritiske software udvikling.

  • Ivan Aaen, AAU: Hvis oplæring af nye folk er vigtigt, er det godt at ’parre’ en juniorudvikler med en seniorudvikler. Ulighed er ok under oplæring, men ikke når der er tale om løbende udvikling. Det er vigtigt at have fælles kodeansvar ved pair programming. Målene med denne måde at arbejde på er bl.a. kvalitet og læsbarhed. Der kan også være det skjulte formål at drøfte metoder og dele viden.

  • Mads Jensen, Migatronic: Vi anvender pair programming eller ekstra review under de dele, der er kritiske i produktet.

  • Svend Thielsen, D60: Vi har to par, der er gode til pair programming. De gør det i praksis, andre gør det ikke. Er man ny udvikler, vil det måske opfattes som kontrol, men metoden er også en god måde at få lærdom på. Vi kunne arbejde mere med pair programming, men så skal formålet være klart – arbejde hurtigere, opnå bedre kvalitet e.lign.

  • Jørgen Overgaard, AAU, IT: Vi har i en periode benyttet os af pair programming 20 min. pr. dag for at få erfaringer med dette i sprint. Det har ført til, at nogle ønsker at arbejde med det i længere tid end de 20 min.

 


Pragmatisk softwareinnovation

I dagens sidste oplæg introducerede Ivan Aaen, lektor, Datalogisk Institut, AAU, deltagerne for sin forskning om værdiskabelse gennem softwareteams.
 
- Pragmatisk softwareinnovation kan især benyttes af de virksomheder, der har særlig nærhed til marked og kunder. Pragmatisk menes i denne sammenhæng udvikling af software, mens man gør sig erfaringer, fortalte Ivan og understregede:
 
- Jeg vil gerne nedprioritere kravspecifikationen, som gør det hele forud-fastlagt. I den virkelig verden kommer der ændringer hele tiden, vi bliver klogere undervejs og har behov for at inddrage ændringer.
 
Han lagde vægt på fire principper, som pragmatisme i denne sammenhæng kan benytte sig af. De kan anvendes til at finde løsninger, der ikke var tænkt fra starten. De fire principper er:

  • Paradigme: At forstå kundens domæne som vilkår for udvikling - men vi lægger teknologiløsninger til som muligheder for kunden

  • Produkt: Hvilken løsning er den bedste? Kan vi gøre mere ud over den ønskede løsning?

  • Projekt: Vi skal arbejde med en vision som ledetråd - fordi vi har det problem i den agile udvikling, hvad formålet er med projektet, dvs. helheden

  • Proces: Hvordan bærer vi os ad? Hvordan modner vi metoder? Hvordan finder vi kriterier for at vælge gode løsninger?

 

Kontakt



Faglig koordinator
Ivan Aaen
Aalborg Universitet
Tlf.: +45 99 40 89 11
E-mail

Facilitator
Jørgen Biegel
TEKKVA CONSULT
Tlf.: +45 96 35 45 65
E-mail

Se slides fra interessegruppens arrangementer her

 

Det sagde de om arrangementet:

Allan Bjerregaard, Software Engineering Manager, Cobham Tactical Communications and Surveillance:

- Mit formål med at deltage i mødet var at få nye ideer, høre og dele erfaringer, og dette blev rigtig godt opfyldt. Alt i alt en spændende dag med deling af erfaringer, som satte gang i mange gode dialoger, og som til sidst blev kombineret med input fra forskerverdenen – tak for det.

InfinIT er finansieret af en bevilling fra Styrelsen for Forskning og Uddannelse og drives af et konsortium bestående af:
Alexandra Instituttet . BrainsBusiness . CISS . Datalogisk Institut, Københavns Universitet . DELTA . DTU Compute, Danmarks Tekniske Universitet . Institut for Datalogi, Aarhus Universitet . IT-Universitetet . Knowledge Lab, Syddansk Universitet . Væksthus Hovedstadsregionen . Aalborg Universitet