Jobber du i en stor organisasjon? Deployer dere mange ulike applikasjoner samtidig? Har dere mange tverrfaglige team?
Hvis du svarer ‘Ja’ til disse spørsmålene, har du sannsynligvis samme problem som vi sliter med i forsikringsselskapet Fremtind.
Først og fremst vil jeg gjerne introdusere deg for en del av vår struktur. De fleste frontend-utviklere jobber i tverrfaglige team hvor teamet består av folk fra flere roller (designere, testere, backend-utviklere osv.). Medlemmene av teamet jobber sammen for å bygge én eller flere applikasjoner som tjener et felles mål.
Vi kan referere til disse applikasjonene som et produkt. Teamets fokus er utelukkende på produktet, og produktet vårt spiller en rolle i en større scene som er organisasjonens forretningsdomene. Som et resultat av dette, faller tverrfaglige team lett inn i et isolert rom.
Å organisere ulike team for forskjellige mål er naturen til å drive store virksomheter, men denne fordelaktige isolasjonen medfører også noen ulemper for teammedlemmene.
Sliter med å løse problemer på egen hånd
Hvert tverrfaglige team har sine dedikerte frontend-utviklere (vanligvis to). Hver utvikler løser lignende problemer innenfor sitt eget kunnskapsområde, erfaring og ferdigheter. For eksempel, hver webapplikasjon trenger state management, routing strategy, enhetstesting, feilsøking, og så videre.
Disse operasjonene inneholder mange likheter, men frontend-utviklerne i hvert team sliter med å løse disse problemene på egen hånd.
Vi har absolutt noen periodiske arrangementer for å synkronisere våre teammedlemmer: Forum møter, fagdager, hackathons, demopresentasjoner, og så videre.
«Utviklere føler ofte at de er alene på sin egen øy.»
Men er disse arrangementene nok til å skape organiske bånd mellom medlemmene i ulike team? For eksempel presenterer teamene sine nye og kritiske funksjoner for andre tverrfaglige teammedlemmer i demopresentasjoner, men de mottar svært lite tilbakemelding fra sine kolleger. Tilsynelatende er noen få minutter med demo ikke nok for at ansatte skal få et grep om dette produktet.
Vi innså at våre periodiske arrangementer ikke fylte gapene på tre områder:
- Forretningsdomene-kunnskap
- Teknologi
- Sosiale interaksjoner
Og disse hullene ble synlige gjennom utfordringene nedenfor:
- Utviklere trengte dypere innsikt for å forstå det totale systemet. De kjente bare forretningsdomenet til sitt eget produkt, men visste svært lite om de andre teamenes produkter.
- Folk kjente ikke hverandre godt nok.
- Utviklere føler ofte at de er alene på sin egen øy. Frontend-utviklere hadde ingen anelse om andre teams teknologi-stack. Derfor kunne de ikke bli inspirert av hverandres løsninger selv om de alle stod overfor lignende problemer.
- Lite intern rekruttering.
Hospiteringsdagen
Som et resultat av dette bestemte vi oss for å organisere et interaktivt arrangement mellom våre frontendutviklere for å synkronisere de tverrfaglige teamene. Det heter hospiteringsdagen.
Hospiteringsdagen er en halvdagsaktivitet. Front-end utviklere fra to produktteam kommer sammen og introduserer hverandre for produktene sine.
Demopresentasjoner, fagdager og hackathon-arrangementer forbedrer tilkoblingen og interaksjonen mellom ansatte fra ulike produktteam, men et arrangement som fokuserer på produkt, folk og arbeidsmetoder kan bidra til å skape organiske bånd mellom teamene. Dermed kan det være med på å skape et sterkere nettverk i organisasjonen.
Derfor bestemte vi oss for å arrangere hospiteringsdagen.
Sånn er programmet
Nedenfor er programmet vi fulgte:
- 11:00 – 11:30 Lunsj
- 11:40 – 13:00 Introduksjon
- 13:15 – 14:00 Parprogrammering
- 14:00 – 14:20 Kort trening i gym eller bordtennis
- 14:20 – 15:30 Parprogrammering
Lunsj: Vi starter hospiteringsdagen med lunsj i kantinen vår. Å spise sammen er en god isbryter de første minuttene av aktivitetsdagen, og det skaper en passende atmosfære for å starte naturlige samtaler mellom host og gjesteutviklerne.
Introduksjon: Etter lunsj introduserer teamene sine produkter for hverandre. De kjører en demo av webapplikasjonen sin og presenterer sin kodearkitektur. Under denne delen søker deltakerne svar på følgende spørsmål:
- Hva løser denne applikasjonen?
- Hvorfor trenger Fremtind denne appen?
- Hvem er kundene deres? (Er dette en intern app for våre medarbeidere? Eller en ekstern løsning som blir benyttet av kundene våre?)
- Hvilken funksjonalitet er du mest stolt av?
- Hvilken modul kunne vært forbedret?
Parprogrammering: Hospiteringsdagen har som mål å fremme interaktivitet, produktivitet og dyp kunnskapsdeling. Derfor ber vi deltakerne om å løse oppgaver i parprogrammering, men vi ber dem ikke løse tilfeldige kodeutfordringer som de finner på internett for å forbedre ferdighetene sine. Vi stiller følgende spørsmål til hver utvikler: "Hvis du ikke skulle vært på hospiteringsdagen i dag, hvilken oppgave ville du jobbet med?" Deretter ber vi utvikleren om å løse denne oppgaven med hjelp fra en utvikler fra det andre teamet i en parprogrammeringsøkt.
Gode tilbakemeldinger
Hospiteringsdagen ble nylig presentert på JavaZone-konferansen, og jeg mottok engasjerende tilbakemeldinger fra publikum.
Noen utviklere fra andre organisasjoner sa at de vil prøve dette arrangementet på sin arbeidsplass.
Hospiteringsdagen inspirerer andre roller også. Fremtind-ansatte ønsker å prøve hospiteringsdagen gjennom backendutviklere, teamledere, designere og testere. De kan også organisere lignende arrangementer for å bli bedre kjent med folk, produktene og den generelle organisasjonen.
Hvis din organisasjon også sliter med lignende problemer, bør du kanskje være en ambassadør for hospiteringsdagen.