Sådan bygger du en bragende it-succes i skyen med open source og agil udvikling

Illustration:
Danske Tradeshift er på to år vokset fra 5 til 70 ansatte med international hype og over 150 millioner kroner i venturekapital. Se her, hvordan cloud computing, open source og agil udvikling gør det muligt - og hvorfor Scrum blev droppet.

Open Source Days: Den danske handelsplatform Tradeshift er nået langt, siden konceptet for tre år siden begyndte som en udveksling af tweets mellem medstifter Christian Lanng og multi-iværksætteren Morten Lund, der efterspurgte personer med forstand på software til mindre kommuner.

I dag er Tradeshift en virksomhed med 70 ansatte og 100.000 brugere i 190 lande. Dermed bliver det en teknisk udfordring, når målet er at opdatere produktet, der leveres som software-as-a-service (SaaS), flere gange dagligt.

På konferencen Open Source Days i København fortalte medstifter og CTO Gert Sylvest om den udfordring, samt om hvordan Tradeshift har håndteret væksten gennem brug af cloud computing, open source-software og agile udviklingsprocesser.

Tradeshift tilbyder grundlæggende et B2B-netværk, der er bygget op om digitale fakturaer, men har ambitioner om at fungere som et socialt netværk og en digital markedsplads for virksomheder.

Billigt i gang med skyen

Da Tradeshift begyndte udviklingen af selskabets platform for tre år siden, skete det gennem outsourcing til Peru og Sri Lanka. Driften blev kørt gennem serverkraft og storage i Amazons cloud, og kodebasen baseret på open source-CMS'et Drupal blev styret via Github.

»Vi begyndte billigt, da vi havde få ressourcer,« fortalte Gert Sylvest.

Ifølge ham er Tradeshift baseret fuldstændig på open source og cloud computing. På kontoret benyttes primært software-as-a-service, og til Tradeshifts backend benyttes Java/Spring og Jetty på Ubuntu, mens Javascript benyttes kraftigt i frontenden. Amazons sky er sidenhen blevet suppleret med Rackspace, og Drupal er erstattet med Grails.

Hele Tradeshifts platform er bygget op som en serviceorienteret arkitektur, hvor alle funktioner tilbydes som et REST API, der er et simplere, webbaseret interface til at integrere med andre systemer.

Problemer med Scrum

Tradeshift ville gerne arbejde agilt, men som selskabet voksede, blev det svært at håndtere en outsourcet udvikling, der i stedet blev hentet hjem til Danmark.

»Når man outsourcer, er det svært at arbejde agilt. Vi udarbejdede detaljerede specifikationer og sendte dem til et andet kontinent og en anden tidszone,« fortalte Gert Sylvest.

Den agile udvikling har været en hjørnesten for Tradeshift - nye funktioner skal hurtigt ud til kunderne, der kan give feedback, så produktet udvikler sig hurtigt. Det begyndte med den agile udviklingsmodel Scrum, men den blev senere droppet.

Gert Sylvest er medstifter og CTO hos Tradeshift Illustration: Tradeshift

»Scrum var svært, fordi omverdenen ændrede sig så meget. Vi kunne være midt i et sprint, og så kom der en artikel i et stort magasin, så vi var nødt til at oversætte systemet til et nyt sprog. Det gjorde det svært at arbejde efter Scrum-reglerne og sikre holdet den nødvendige ro,« fortalte Gert Sylvest.

Kanban giver overblik

I stedet skiftede Tradeshift til metoden Kanban, der på mange måder minder om Scrum.

»Hvis du bryder Scrum-cyklussen, forsvinder mange af fordelene med Scrum, men med Kanban kan du bedre håndtere pludselige input fra omverdenen. Kanban kan tilpasses til mere eller mindre at være Scrum, men uden den faste cyklus. Det giver et rigtigt godt overblik over produktets pipeline,« sagde Gert Sylvest.

Tradeshift gør brug af use cases og user stories, hvor ønsker til nye funktioner eksempelvis beskrives "som kunde kan jeg sende fakturaer med invitationer til brugere uden for mit netværk".

I Scrum-modellen er det produktejerne (product owners), der prioriterer listen af ønskede funktioner - også kaldet for en backlog. Hos Tradeshift oplevede ledelsen dog, at produktejerne ofte blev en flaskehals, når der var en meget stor backlog af nye funktioner, som skulle ind i produktet.

Det faldt sammen med udfordringer i at arbejde med store udviklings-teams. Derfor begyndte Tradeshift at splitte teams op, så de højst bestod af 3-5 personer. De enkelte teams arbejder i dag på tværs, så designere og udviklere sidder i samme team i stedet for at arbejde særskilt. Siden er fokus skiftet til selvorganiserende teams.

Valideret læring - A/B-test

Tradeshift er kraftigt inspireret af bogen "The Lean Startup" af Eric Ries, der blandt andet arbejder med valideret læring. Her bliver hypoteser om produktet afprøvet og målt i stedet for blot at ende i lange diskussioner.

Hos Tradeshift var denne form for A/B-test af produktet eksempelvis med til at vise 50 procent større konverteringsrate for brugere, som fik lov at se en test-faktura før oprettelse.

»Vi har udviklet et A/B-testing framework, som vi kan bruge til give brugerne flere forskellige versioner af produktet og få feedback tilbage,« fortalte Gert Sylvest.

Nye brugere udvælges tilfældigt til A/B-test og mærkes op, så en bestemt udgave af produktet følger dem, når de logger ind fremover.

»I fremtiden vil vi også teste ting, der er lande-specifikke for produktet,« fortalte Gert Sylvest.

Automatiske test

Som led i den agile udvikling arbejder Tradeshift også med test driven development, hvor der er investeret store ressourcer i automatiske test og automatisk skalering af platformen baseret på open source-værktøjer som Puppet og MCollective.

Det skal gøre det muligt hurtigt at skubbe nye udgaver af produktet fra udviklernes maskiner ud i et live-miljø hos kunderne - en proces også kendt som continuous deployment.

Det er en udfordring, når der skal skubbes software ud til 100.000 kunder i 190 lande med kraftig brug af Javascript i frontend, og Internet Explorer 7 stadig understøttes.

»Udviklere kan initiere hele build-processen og hurtigt få tingene gennem test og ud til kunderne. Antallet af deploys af hele systemet er stigende, og det er netop, hvad vi vil opnå. Ideelt vil vi gerne deploye hele systemet flere gange per dag, så vi hurtigt kan teste hypoteser om produktet,« sagde Gert Sylvest.

Ny organisation hvert kvartal

Det er ikke kun på teknikken, at Tradeshift arbejder agilt. Den hurtige udvikling og vækst kan være svær for en organisation at tilpasse sig til, så derfor har selskabet sin egen måde at reorganisere sig flere gange årligt.

»Hver eneste gang du tilføjer 10-15 mennesker, ændrer dynamikken sig i firmaet. Så hver 3. måned tager vi hele organisationen ud i to dage og skaber en ny struktur. Vi simulerer den nye struktur med de ansatte, så vi lærer en masse, og når vi kommer tilbage mandagen efter en team-camp, implementerer vi den nye organisationsstruktur,« fortalte Gert Sylvest.

Den næste store udfordring for Tradeshift er nu at omsætte en god forretningside, komplekse processer og et veludviklet produkt til penge på bundlinjen.

Blandt kunderne i Danmark er TDC, DSV og Lemvigh-Müller, mens de internationale kunder tæller Kuehne+Nagel, NHS og den franske regering. Tradeshift går efter omsætning fra store virksomheder, mens mindre virksomheder fortsat gratis kan benytte selskabets platform.

»I den indlendende fase er det vigtigere at øge netværkets størrelse end at tjene penge. Med kritisk masse er der tusindvis af muligheder for at tjene penge senere hen,« forklarede Gert Sylvest.

Selv så han gerne, at flere prøvede kræfter med de agile udviklingsmodeller, men han erkender også, at det er en kultur, det tager tid at ændre.

»Da jeg arbejdede i Accenture, arbejdede jeg på store udviklingsprojekter, hvor vi fulgte vandfaldsmodellen med klare kontrakter med kunden og udtrykkelige specifikationer på forhånd. Mange virksomheder arbejder stadig på denne måde. Det er en kultur, der er svær at ændre, og begynder helt på uddannelsesinstitutionerne,« sagde Gert Sylvest.

Gert Sylvest er en af tre medstiftere af Tradeshift. De andre to er Christian Lanng og Mikkel Hippe Bruun, der begge har en fortid i IT- og Telestyrelsen. Tradeshift har samlet fået over 150 millioner kroner i venturekapital, 30 millioner dollar, fra investorerne Ebay, Notion Capital og Kite Ventures/Ru-Net.

Version2 er mediepartner for konferencen Open Source Days 2012, hvor Gert Sylvest holdt sit indlæg om Tradeshift

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Følg forløbet
Kommentarer (0)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
Log ind eller Opret konto for at kommentere