Produktive distribuerte softwareteam

56
Produktive distribuerte softwareteam Juni 2014 Ole Alexander Mæhle Tobii Technology

description

Hvordan skape produktive scrumteam når medlemmene sitter på ulike lokasjoner? Mange firma som tar i bruk eksterne konsulenter har allerede en lokal utviklingsavdeling som må tilpasse seg og sine prosesser for å tilrettelegge for effektiv leveranse både på forventet tid og kvalitet. Foredraget presenterer erfaringer og praktiske tips fra Tobii Norge sitt arbeid med å skape en produktiv gruppe av utviklere som jobber med Scrum-metodikk med både lokale utviklere og innleide konsulenter fra Ciklum i Kiev, Ukraina. Ole Alexander Daglig leder og leder for utviklingsavdelingen i Tobii Technology Norge AS, en bedrift som leverer programvare for personer med funksjonsnedsettelser, og som styrer datamaskinen med alternative inndatametoder som f.eks. øyestyring (eye gaze). Utdannet ved Universitetet i Bergen (Cand.Scient. informatikk, 2001). 15 års erfaring som programmerer, prosjektleder og utviklingssjef. Leder et internasjonalt softwareteam med personer lokalisert i Norge, Sverige, Ukraina og Tyskland. Tobii Norge er en del av Tobii-konsernet, verdensledende innenfor eye tracking og hjelpemiddelteknologi. Firmaet har ca 600 ansatte på verdensbasis.

Transcript of Produktive distribuerte softwareteam

Page 1: Produktive distribuerte softwareteam

Produktive distribuerte softwareteam

Juni 2014

Ole Alexander Mæhle

Tobii Technology

Page 2: Produktive distribuerte softwareteam

Ole Alexander Mæhle

Tobii Technology Norge

Daglig leder, leder for utviklingsavdelingen, Tobii Norge

Cand.Scient UIB, Informatikk (2001)

Effektive utviklingsteam og prosesser

[email protected]

Page 3: Produktive distribuerte softwareteam

Tobii Eye Tracking

11-Jun-14 3Copyright Tobii Technology

Datamaskinen vet hva du ser på

Page 4: Produktive distribuerte softwareteam

11-Jun-14 Copyright Tobii Technology 4

Page 5: Produktive distribuerte softwareteam

Hjelpemidler

Page 6: Produktive distribuerte softwareteam

11-Jun-14 Copyright Tobii Technology 6

Analyse

Page 7: Produktive distribuerte softwareteam

Gaming

Page 8: Produktive distribuerte softwareteam

11-Jun-14 Copyright Tobii Technology 8

Forskning

Page 9: Produktive distribuerte softwareteam

Group revenue growth

Tobii Technology in Brief

Founded in 2001

Global market & technology leader of eye tracking

40 extensive patent families

HQ in Sweden, offices in US, Japan, China, Germany, Norway, and Ukraine 3 US offices: Boston,

Washington, San Fransisco

Owners Intel, Investor AB, Amadeus

Capital, Northzone, founders

6/11/2014 Copyright Tobii Technology AB 9

2004 2005 2006 2007 2008 2009 2010 2011 2012

Page 10: Produktive distribuerte softwareteam

Programvareutvikling

Programmere

Testere

Brukervennlighet (UX)

Domene-eksperter

Prosjektledere

Kan det fungere i et distribuert team?

Dagens tema

11-Jun-14 10Copyright Tobii Technology

Page 11: Produktive distribuerte softwareteam

Velg modellen som passer best

Prosjektbasert

Team-basert

Mindre enkeltstående prosjekt > Prosjektbasert

Strategisk kjernekompetanse > Team-basert

Modell for nearshoring

11-Jun-14 11Copyright Tobii Technology

Page 12: Produktive distribuerte softwareteam

Velg modellen som passer best

Prosjektbasert

Team-basert

Mindre enkeltstående prosjekt > Prosjektbasert

Strategisk kjernekompetanse > Team-basert

Modell for nearshoring

11-Jun-14 12Copyright Tobii Technology

Page 13: Produktive distribuerte softwareteam

R&D Offices in Tobii Assistive Stockholm, Sweden

Kiev, Ukraine

Bergen, Norway

Pittsburgh, US

Page 14: Produktive distribuerte softwareteam

R&D Offices in Tobii Assistive Stockholm, Sweden

Kiev, Ukraine

Bergen, Norway

Pittsburgh, US

Typisk ~20 personer involvert i et prosjekt

Page 15: Produktive distribuerte softwareteam

R&D Offices in Tobii Assistive Stockholm, Sweden

Kiev, Ukraine

Bergen, Norway

Pittsburgh, US

Typisk ~20 personer involvert i et prosjektBømlo, Norway

Page 16: Produktive distribuerte softwareteam

Eksperimentert med ulike metoder

Hva har vi gjort for å lykkes?

11-Jun-14 16Copyright Tobii Technology

~2009 2012 2012

Page 17: Produktive distribuerte softwareteam

Mest populære teknikken innenfor Agile/Smidig

Levere mindre, ferdige funksjonaliteter hver iterasjon

Cross-functional, self-organized team

Time-boxed iterations

3 – 9 personer per team

Kjent for de aller fleste

Scrum

11-Jun-14 17Copyright Tobii Technology

Page 18: Produktive distribuerte softwareteam

UTFORDRINGER VED DISTRIBUERT TEAM

11-Jun-14 Copyright Tobii Technology 18

Page 19: Produktive distribuerte softwareteam

Velge kjøpsmodell

Finne riktig partner

Lykkes med rekruttering

Samarbeid

Høy produktivitet

Utfordringer ved distribuert team

11-Jun-14 19Copyright Tobii Technology

Page 20: Produktive distribuerte softwareteam

Velge kjøpsmodell

Finne riktig partner

Lykkes med rekruttering

Samarbeid

Høy produktivitet

Utfordringer

11-Jun-14 20Copyright Tobii Technology

Page 21: Produktive distribuerte softwareteam

Samarbeid mellom partneren sin HR-avdeling og deg

Utfordringer:

Vanskelig for partneren å vite hva du er ute etter.

Partner kan ikke vurdere teknisk kompetanse

(«Yes, he is architect»)

Rekrutterern blir målt på om de klarer å lukke stillingene som er

åpne, ikke om prosjektet blir vellykket.

Hvem rekrutterer?

11-Jun-14 21Copyright Tobii Technology

Page 22: Produktive distribuerte softwareteam

11-Jun-14 22Copyright Tobii Technology

«Ta ansvar for rekrutteringen selv. Tenk på det som en lokal rekruttering. Skype er din venn.»

Page 23: Produktive distribuerte softwareteam

Velge kjøpsmodell

Finne riktig partner

Lykkes med rekruttering

Samarbeid

Høy produktivitet

Utfordringer

11-Jun-14 23Copyright Tobii Technology

Page 24: Produktive distribuerte softwareteam

Ut av siloen!

Å lage software er et gruppearbeid

Samarbeid

11-Jun-14 24Copyright Tobii Technology

Page 25: Produktive distribuerte softwareteam

Organisert per leverabel

11-Jun-14 Copyright Tobii Technology 25

Leverabel 1

Leverabel 2

Leverabel 3

Leverabel 4 Kiev

Bergen

Page 26: Produktive distribuerte softwareteam

Manglende samarbeid

Lite fleksibililtet

Jobber mot ulike mål

Lite kunnskapsoverføring

Manglende tillit

Ulik praksis

Eksternt team går glipp av all «hemmelig informasjon»

Konkurrerer med hverandre

Kvalitetsproblemer

Bygger opp en skjult mengde med arbeid

Potensielle problemer

11-Jun-14 26Copyright Tobii Technology

Page 27: Produktive distribuerte softwareteam

11-Jun-14 Copyright Tobii Technology 27

Leverabel 4 Leverabel 2

Leverabel 3 Leverabel 1

Organisert i distribuerte scrumteam

Bergen/Kiev

Bergen/Kiev

Page 28: Produktive distribuerte softwareteam

11-Jun-14 Copyright Tobii Technology 28

Organisert i distribuerte scrumteam

Bergen/Kiev

Page 29: Produktive distribuerte softwareteam

Ulike typer scrum

11-Jun-14 29Copyright Tobii Technology

J. Sutherland – Hyperproductive distributed scrum

teams.

https://www.youtube.com/watch?v=Ht2xcIJrAXo

De fleste kjører en eller annen variant av

scrum

Like greit å kjøre «bra scrum»?

Scrum er et rammeverk, tilpass til ditt behov!

Bruk et verktøy hvor du kan definiere

arbeidsflyten eksplisitt

Page 30: Produktive distribuerte softwareteam

Vanilla Scrum

11-Jun-14 Copyright Tobii Technology 30

Page 31: Produktive distribuerte softwareteam

Samarbeid

11-Jun-14 31Copyright Tobii Technology

«Tilordne prosjekter til et fast team, ikke ressurser til et prosjekt.»

Page 32: Produktive distribuerte softwareteam

Sett sammen et godt team!

11-Jun-14 32Copyright Tobii Technology

Tenk på ulike personlige styrker som kreves i et team

QA, teknisk kompetanse, arkitektur.

Jevnt fordelt lokalt, eksternt

Kommunikasjon, driv, lederskap.

Page 33: Produktive distribuerte softwareteam

Skap tillit mellom team-medlemmer

11-Jun-14 33Copyright Tobii Technology

Page 34: Produktive distribuerte softwareteam

SO FAR SO GOOD....

11-Jun-14 Copyright Tobii Technology 34

Page 35: Produktive distribuerte softwareteam

Distribuert scrum-team

Lokale og eksterne jobber mot et felles mål

Fokus på god rekruttering

Har tillit til hverandre

So far so good....

11-Jun-14 35Copyright Tobii Technology

Page 36: Produktive distribuerte softwareteam

Hvordan hjelpe teamet til å øke produktiviteten?

Neste steg

11-Jun-14 36Copyright Tobii Technology

Page 37: Produktive distribuerte softwareteam

Prosjektnivå – product owner

11-Jun-14 Copyright Tobii Technology 37

Page 38: Produktive distribuerte softwareteam

Sprint-nivå (Hele teamet)

11-Jun-14 Copyright Tobii Technology 38

Page 39: Produktive distribuerte softwareteam

Task-nivå (programmerere)

11-Jun-14 Copyright Tobii Technology 39

Page 40: Produktive distribuerte softwareteam

Samarbeid

11-Jun-14 40Copyright Tobii Technology

«Sørg for at boardet leder opp til Definition of Done.»

Page 41: Produktive distribuerte softwareteam

Sørg for at prosessen din foreskriver samarbeid!

Code review er en ypperlig måte å samarbeide på.

Bygger opp om delt eierskap til koden.

Samarbeid

11-Jun-14 41Copyright Tobii Technology

Page 42: Produktive distribuerte softwareteam

Ikke vær redd for skriftlige krav!

Ingen motsetning mellom Agile og Kravstilling

Kravspesifikasjon

11-Jun-14 42Copyright Tobii Technology

Page 43: Produktive distribuerte softwareteam

11-Jun-14 Copyright Tobii Technology 43

As a developer, I want to run integration tests on build nodes

Page 44: Produktive distribuerte softwareteam

11-Jun-14 44Copyright Tobii Technology

As a team member, I want to build the installer locally on my computer

Page 45: Produktive distribuerte softwareteam

11-Jun-14 Copyright Tobii Technology 45

Page 46: Produktive distribuerte softwareteam

Overføringen av kunnskap på

daglig basis.

Overfør kunnskapen som

sitter i veggen.

Felles mål

Oppfordre til hyppig samtaler

Prosessen må foreskrive

faste kontaktpunkt, gjør det til

en vane å ringe hverandre.

Mix lokale og eksterne i hvert team

11-Jun-14 46Copyright Tobii Technology

Page 47: Produktive distribuerte softwareteam

Tenk på de eksterne som en ressurs

11-Jun-14 47Copyright Tobii Technology

Page 48: Produktive distribuerte softwareteam

Sørg for at du kan kommunisere

hvordan teamet ligger an i forhold

til målsetninger.

Se lengre enn neste sprint.

Vet teammedlemmene hva som er

forventet leveranse? Alle må vite

om vi er ”on time”.

Kommuniser målsetninger effektivt

11-Jun-14 48Copyright Tobii Technology

Page 49: Produktive distribuerte softwareteam

Problem: Lang lukke-tid

For lang tid fra programmererne fullfører, og til vi nådde «Done».

Opp mot 20 dager

ABC «Always Be Closing»

Å lukke en story er et samarbeid mellom utvikler og tester.

Finn forbedringspotensial

11-Jun-14 49Copyright Tobii Technology

Page 50: Produktive distribuerte softwareteam

11-Jun-14 Copyright Tobii Technology 50

0

5

10

15

20

25

30

Wk 12 Wk 13 Wk 14 Wk 15 Wk 16 Wk 17 Wk 18 Wk 19 Wk 20 Wk 21

Baldr's Average Closing Time

0

5

10

15

20

25

Wk 12 Wk 13 Wk 14 Wk 15 Wk 16 Wk 17 Wk 18 Wk 19 Wk 20 Wk 21

Heimdallr's Average Closing Time

Page 51: Produktive distribuerte softwareteam

Det ser ut til at denne framgangsmåten bidrar sterkt til å fremme

produksjon.

Men innovasjon?

Innovasjon vs produksjon

11-Jun-14 51Copyright Tobii Technology

Page 52: Produktive distribuerte softwareteam

RESULTAT?

11-Jun-14 Copyright Tobii Technology 52

Page 53: Produktive distribuerte softwareteam

Økt produktivitet

Bedre kvalitet

Tettere samarbeid

Bedre miljø

Lettere å ta inn nye personer

Utelukkende positive tilbakemeldinger fra teamet lokalt og

eksternt.

Resultat

11-Jun-14 53Copyright Tobii Technology

Page 54: Produktive distribuerte softwareteam

HVA SIER EKSPERTISEN?

11-Jun-14 Copyright Tobii Technology 54

Page 55: Produktive distribuerte softwareteam

11-Jun-14 Copyright Tobii Technology 55

Fully Distributed Scrum: The Secret Sauce for Hyperproductive Offshored

Development Teams

Jeff Sutherland

Page 56: Produktive distribuerte softwareteam

[email protected]

11-Jun-14 56Copyright Tobii Technology