utvikling
Frivillige utviklere fra norsk IT-bransje jobbet på spreng for å lage livreddende verktøy for Røde Kors
Fikk ikke frivillige til å jobbe med Angular: Da Røde kors byttet til React, strømmet utviklerne til for å jobbe gratis med livreddende programvare.
OSLO (digi.no): Nesten 60 utviklere fra norsk IT-bransje, i tillegg til helseeksperter, var nylig samlet i Oslo på et «codeathon» for å jobbe videre med utviklingen av et åpen kildekodebasert verktøy som allerede kan ha reddet liv i utviklingsland.
Anine Kongelf i Røde kors er prosjektleder, og fortalte til digi.no at hun er helt overveldet av hvor mange som ønsker å delta frivillig på dette prosjektet.
– Nå begynner det å ta av. Vi ble fulltegnet for en uke siden, men så økte vi og la til ti plasser til før vi satte strek, fortalte hun til digi.no like før startskuddet gikk for codeathonet.
Det hele startet høsten 2017, da Røde kors inviterte frivillige utviklere fra IT-bransjen til å lage et verktøy som skulle gjøre det mulig for helsearbeidere i utviklingsland å rapportere inn sykdomstilfeller – og dermed kunne respondere raskere ved eventuelle utbrudd av epidemier.
Verktøyet kalles CBS – Community Based Surveillance – og har nå vært i bruk en stund. Takket være dette systemet kunne Røde kors i høst avdekke et utbrudd av skarlagensfeber i Somaliland. Siden systemet ga tidlig varsling kunne Røde kors komme tidlig i gang med behandling og hindre at sykdommen spredde seg.
Løsningen er laget slik at de ute i felten skal kunne bruke den på enkle mobiltelefoner og med dårlig mobildekning.
Utviklingsministeren: – Det varmer hjertet mitt
Det var det fjerde codeathonet som ble arrangert nå nylig. Arrangementet gikk over to dager, hvor både utviklingsminister Nikolai Astrup og IKT-Norge-direktør Heidi Austlid var med og kastet glans over åpningen. Hovedpersonene var imidlertid alle de frivillige utviklerne som hadde stilt opp for å utvikle neste versjon av CBS.
– Dette samarbeidet mellom Røde kors og frivillige på tvers av tech-bransjen er imponerende. Det varmer hjertet mitt, sa Astrup under åpningen av arrangementet.
Artikkelen fortsetter under.
Målet med codeathonet denne gangen var å bygge videre på den første versjonen av CBS, slik at løsningen skal kunne tas i bruk i enda flere deler av verden. Blant de viktigste tingene man har ønsket å få utviklet er bedre analyse og statistikk, samt push-varslinger som gir tilbakemelding til Røde kors-ansatte i felten når antallet helserapporter øker i et område.
– Vi er veldig heldige med at vi nå er circa 50/50 med «gamle» og nye frivillige. Det gjør at vi får mye progresjon. Vi håper at vi i løpet av de neste ukene og månedene skal ha dette på plass, sier Kongelf.
Utviklere fra hele 26 ulike IT-selskaper var representert på codeathonet. Microsoft Norge har fra starten av vært sentrale i prosjektet, og vært blant de som har ledet prosjektet. Et annet selskap som har bidratt mye er Dolittle, et selskap grunnlagt av tidligere ansatte i Microsoft og Komplett.
Dolittle-sjef Arif Shafique forteller til digi.no at samtlige 10 ansatte i Dolittle har satt av to dager til å delta på codeathonet, og at CBS-løsningen benytter Dolittle-rammeverket.
– Hele selskapet bruker i hvert fall en dag eller to i halvåret til å bidra til fornuftige prosjekter som dette. Og vi ser at mange av de partnerne vi har også kommer til dette codeathonet på grunn av at vi er her, sier Shafique.
Måtte bytte fra Angular til React
Det å samkjøre nesten 60 utviklere og sørge for at alle vet hva de skal gjøre, kan være ganske utfordrende – spesielt når rundt halvparten av dem ikke har jobbet på prosjektet før.
Men arrangøren hadde lagt opp codeathonet på en veldig strukturert måte hvor de først gikk gjennom fem ulike oppgaver som man skulle fokusere på under codeathonet. Etter å ha gått gjennom de ulike oppgavene, og sagt litt om hva slags utviklere de trengte til hver oppgave, kunne utviklerne selv velge hva de ville jobbe med ved å henge et bilde av seg selv under den aktuelle oppgaven.
Alle deltakerne fikk også t-skjorter i ulike farger. De frivillige utviklerne hadde svarte t-skjorter, mens domene-ekspertene hadde røde. Kjerneteamet hadde blå, mens de som jobbet med arrangementet og logistikk hadde hvite t-skjorter. Ved å ha nøkkelpersoner med den rette kunnskapen ved de ulike bordene sørget man for at alle fikk den hjelpen de trengte.
Karoline Klever er Senior Program Manager i Microsoft, og jobber i kjerneteamet til CBS-prosjektet. Hun kunne fortelle at de nylig bestemte seg for å bytte fra Angular til React som frontend-rammeverk.
– Da vi startet prosjektet valgte vi Angular. Men på hvert codeathon kom utviklere til oss og spurte om hvorfor vi brukte Angular – ingen bruker jo det lenger. Dere må bruke React, fikk vi beskjed om.
– Så etter å ha hørt det mange nok ganger, sa vi – ok, vi skal bruke React. For vi klarte ikke å få nok utviklere til å jobbe frivillig for oss på Angular, fortalte Klever.
Artikkelen fortsetter under.
Må bygge programvare som skal vare i 10-20 år
Teknologisjef Einar Ingebrigtsen i Dolittle fortalte under en briefing for utviklerne før codeathonet at det å komme til versjon 1.0 av en programvareløsning som CBS er bare toppen av isfjellet. Når det er gjort, skal man bygge en masse funksjonalitet under overflaten og gjøre løsningen så robust at den skal kunne vare i kanskje 10-20 år. Selvfølgelig med kontinuerlig videreutvikling i løpet av levetiden.
CBS er event-drevet og bygget rundt mikrotjenester og «bounded context»-prinsippet. Det innebærer at de som jobber med én del av applikasjonen (innenfor ett bounded context) ikke behøver å vite noe om hvordan de andre delene av applikasjonen fungerer.
Artikkelen fortsetter under:
– Hva var det viktigste dere fikk utrettet på codeathonet?
– Helgens viktigste arbeid var å bygge videre på plattformen for å gjøre den mer dynamisk, interaktiv og brukervennlig for våre kolleger i felt, skriver Rebecca M. Bushby i Røde kors i en epost til digi.no noen dager etter at codeathonet var over.
– To av de viktigste oppgavene var å bygge et automatisk varslingssystem som gir tilbakemelding til Røde Kors-ansatte i felt når antall helserapporter øker i et område, samt automatisk visualisering av data for bedre trendforståelse.
Bushby forteller at disse to funksjonalitetene automatiserer manuelle prosesser, og vil gjøre det lettere for Røde kors-personell ute i felt å oppdage og respondere til sykdomsutbrudd tidlig.
– Ved å jobbe med implementering samtidig som vi utvikler plattformen, sikrer vi at vi hele tiden prioriterer funksjonalitet som virkelig trengs av sluttbrukerne, og utviklerne får kontinuerlig tilbakemelding på det de bygger.
Færre utfordringer for hvert codeathon
– Var det noen spesielle utfordringer dere møtte på underveis?
– Vi opplever at vi for hvert codeathon møter færre store utfordringer. Derimot ser vi fremdeles at softwaren i seg selv er kompleks og utfordrende for mange av våre nye frivillige. Denne gangen hadde hver gruppe en god fordeling av gamle og nye frivillige, noe som gjorde det lettere for nye frivillige å overkomme utfordringene knyttet til softwareforståelse.
Bushby kan fortelle at de i løpet av codeathonet klarte å få på plass et test-klart varslingssystem og ferdigstilte kartanalysefunksjoner med falske data, som skal linkes opp mot ekte data fra plattformen. I tillegg fikk man gjort ferdig migrasjonen fra Angular til React.
– Dette codeathonet, det fjerde i rekken, har vist oss at codeathon-modellen fungerer; nye og gamle frivillige dukker opp og klarer, i løpet av 48 timer, å komme langt videre i utviklingen av softwaren vår. Samarbeidet mellom ulike utviklere ,designere, domeneeksperter og Røde Kors er helt avgjørende for å finne gode løsninger; her ser vi tydelig hvordan teknologi er en avgjørende del av løsningen på en humanitær utfordring. I tillegg jobber vi videre på softwaren under kodekveldene våre, som avholdes hver første onsdag i måneden.
Hele løsningen ligger ute på Github, og alle som ønsker det har mulighet til å bidra i prosjektet.