Cloud Nine utviklingsarbeidsflyt
Når du jobber med en klient på et stort prosjekt, må du organisere kodingen din godt for å oppnå alle målene dine og planlegge arbeidet på en riktig måte. Men samtidig vil du ikke miste for mye tid på unødvendige aktiviteter. Her er hvordan vi prøver å balansere det på Cloud Nine og hvordan vi kan optimalisere arbeidsflyten vår.
Prosjektplanlegging
Før vi faktisk begynner å skrive kode, prøver vi å grovt estimere hvor lang tid hele prosessen vil ta. Vi starter med å dele opp prosjektet i mindre biter, som vi kaller epos. Hvert epos har ett stort mål, som å lage en underside på et nettsted. F.eks. hvis vi oppretter en e-handelsside, vil målet være å bygge en handlekurvside.
Etter å ha laget et epos, delte vi dem opp i mindre oppgaver. For det nevnte eksemplet på en handlekurvside vil vi prøve å skille mer presise funksjoner som å hente data om produkter eller legge til nye produkter i en handlekurv. Når disse oppgavene er adskilt, er vi klare til å anslå dem. Det er mange måter å gjøre estimeringen på, men den mest populære ville være å bruke en planleggingspoker, hvor hver utvikler kan si noe om hvor lang tid en gitt oppgave kan ta.
Til slutt oppsummerer vi det hele og kan mer eller mindre forutsi når produktet vårt er klart.
Problemsporing
Ok, så vi har våre oppgaver og estimater, men hvordan sporer vi dem? Hos Cloud Nine bruker vi Jira. Verktøyet hjelper oss med å holde oversikt over fremdriften i et prosjekt. Der kan vi ikke bare se hva oppgavene våre handler om, men også hva statusen til oppgavene er, hvem som tar seg av dem, en aktivitetshistorikk, estimater og mange andre nyttige ting. På daglig basis visualiserer vi også arbeidsfremgangen vår bedre ved å bruke en virkelig tavle på et kontor, slik at det er enkelt å se raskt og vite hva som skjer i prosjektet og hva planen for andre teammedlemmer er.
Arbeidsflyt for utvikling
Noen ganger kan det bli vanskelig å få grep om et stort prosjekt, så vi drar nytte av smidige teknikker og deler opp arbeidet vårt i sprints. Hver sprint har et lite sett med mål som gjør det mye lettere å konsentrere seg om å nå dem. For å komme tilbake til e-handelseksemplet vårt, ville et godt sprintmål være å gjøre det mulig å gå gjennom et brukerscenario som å finne et produkt på en nettside, legge det til en handlekurv og fullføre bestillingen. Med et mål i tankene er det lettere å prioritere oppgaver og fokusere på å gi en riktig verdi til et produkt. Så prioriteringene kan endre seg, men når kan dette skje?
Hver dag om morgenen samles et team for å gjøre en standup og diskutere kort hva som er en status og et mål for neste arbeidsdag. Vi prøver å synkronisere og få et grep om hva andre teammedlemmer driver med, slik at vi kan dele potensielle problemer og være i stand til å hjelpe hverandre med dem.
Kodehåndtering
Ettersom vi jobber i team, må vi dele kode mellom hverandre, så en naturlig løsning er å bruke et versjonskontrollsystem. Hos Cloud Nine bruker vi Git, det mest populære verktøyet av den typen. Det lar oss også skille kode som kanskje ikke er klar ennå fra kode som potensielt kan bli utgitt.
Fra et utviklersynspunkt er det viktig å holde koden så ren og så feilfri som mulig. Men ingen er perfekte, dette er grunnen til at vi gjør kodevurderinger slik at andre teammedlemmer kan sørge for at andre ikke glemte noe viktig mens de gjorde en gitt oppgave og ikke gjorde noen store feil. Så hver gang en utvikler lager et stykke kode for en bestemt oppgave, kan det bli sjekket og verifisert av noen andre.
Sett alt sammen
Å bruke alle verktøyene og prosessene gjør livet til en utvikler her mye enklere. Med dem alle kan han eller hun konsentrere seg om å gi mer verdi til et produkt. I tillegg gjør det også samarbeidet vårt mye bedre og hjelper teamarbeidet vårt å nå et høyt nivå av synergi, slik at vi kan samarbeide og til slutt nå alle våre mål!
Om Piotr
Mitt navn er Piotr og jeg er en nettutvikler. Jeg flyttet til Stockholm fra Polen for to somre siden, og jeg begynte å jobbe på Cloud Nine-kontoret rett etter det. Her utvikler jeg backend-løsninger i C#, med fokus på et e-handelsprosjekt.