Vi får mange funksjonsforespørsler hver uke. Vi gjør vårt beste for å ta hensyn til tilbakemeldingene vi får fra kundene våre når vi bygger nye ting. .
Selv om det er lett å se nye funksjoner, gjenspeiler de ikke umiddelbart mye av det viktige utviklingsarbeidet vårt. Derfor har Priscila, vår Marketing Owl, intervjuet en av våre backend-utviklere, Joey, om viktigheten av vedlikehold og hvordan utviklere veksler mellom ulike typer arbeid.
Priscila: Takk for at du ble med meg på dette intervjuet, Joey! Jeg håper vi kan forklare kundene og leserne våre hva vedlikeholdsarbeidet vi gjør for Easy LMS går ut på, og hvorfor det er nødvendig. Kan du begynne med å forklare hva slags arbeid vi gjør for å vedlikeholde Easy LMS?
Joey: Det er en glede. Jeg skal prøve å forklare ting uten å gå for teknisk til verks. Vi har to typer vedlikeholdsarbeid. Den første er å fikse feil som dukker opp i systemet, og som kundene rapporterer. Den andre er å fikse ting som vi selv finner og som krever forbedringer, så vi jobber med å forbedre dem.
Priscila: Ja. Kan du forklare hvordan det fungerer? Jobber du på forespørsel, eller planlegger du hva du skal forbedre på forhånd?
Joey: Vel, vi jobber vanligvis i planlagte sykluser på tre uker. Etterspørselen etter arbeid kommer fra produkteieren, som fører en liste over forbedringer basert på tilbakemeldinger fra kunder, folk i selskapet og ideer som vi kommer opp med selv.
Tidligere jobbet vi med vanlige funksjonsutviklingsprosjekter der alle typer forbedringer og vedlikeholdsarbeid overlappet hverandre. Det betydde at vi ble avbrutt av feilretting og måtte avvike fra de nye funksjonene vi var i ferd med å bygge.
Nylig har vi prøvd noe nytt. Vi la til en forbedringssyklus på toppen av funksjonsutviklingssyklusen vår. Så nå har vi to utviklingsteam som jobber på Easy LMS: ett som jobber med vanlig funksjonsutvikling og ett som kun jobber med forbedringer. Disse teamene bytter oppgaver hver tredje uke.
Det dedikerte forbedringsteamet jobber med en liste over forbedringer, inkludert feil, ved å plukke opp det høyest prioriterte elementet fra listen. Når [utviklings]-historien er ferdig, vurderer vi hva som er neste høyprioriterte punkt. På denne måten jobber vi oss gjennom listen i løpet av en treukers syklus.
Jeg tror alle er fornøyde med hvordan det går. Vi prøver å finne den perfekte balansen mellom å fikse feil og forbedre ting som ikke er relatert til feil.
Priscila: Ok. Det høres ut som en forbedret måte å jobbe på! Hvorfor er det like viktig å jobbe med vedlikehold som å bygge nye funksjoner?
Joey: Vel, det er som med et hus. Hvis du bygger et hus og aldri vedlikeholder det, vil du få mange problemer. Det er det samme med programvare. Hvis deler av systemet blir utdatert og ikke blir vedlikeholdt, kan det føre til problemer på sikt.
Vi endrer også måten vi jobber på med jevne mellomrom. Vi må holde systemet oppdatert i forhold til hvordan vi jobber nå. Det ville tatt mer tid å bygge nye funksjoner hvis vi måtte ta tak i en del av systemet som ikke er vedlikeholdt;
Hvis vi ikke vedlikeholder systemet, vil færre ting fungere i det lange løp.
Og behovet for vedlikehold vil bare fortsette å vokse. Kort sagt, hvis vi ikke fikser feil og ikke vedlikeholder systemet, vil det skape flere feil, og færre ting vil fungere i det lange løp.
Priscila: Greit. Så, er "forbedringer" funksjoner eller rettelser?
Joey: Det er en gråsone. Vi kaller "forbedringer" ting som legger til en eksisterende funksjon. De er ikke en helt ny funksjon. For eksempel lanserte vi nylig en forbedring av Academy-gruppefunksjonen. Nå er det mulig å legge til et forsidebilde som et beskrivelsesbilde til hver gruppe i akademiet. Jeg kaller det en forbedring, men du kan også kalle det en funksjon. Det er litt vanskelig å skille mellom. Men jeg vil si at forbedringer vanligvis er de mindre endringene vi gjør i eksisterende funksjoner.
Priscila:Hvilken type arbeid foretrekker du, vanlig funksjonsutvikling eller å jobbe i forbedringsteamet?
Joey: Jeg vil si begge deler. Jeg liker veldig godt å bytte til andre prosjekter etter en stund. Det er ikke det at jeg kjeder meg, men det er fint å skifte og jobbe med forskjellige ting.
Priscila: Ok. Blir dere ferdige med alt dere begynner å bygge i løpet av treukerssyklusen? Eller må dere vente til neste team eller en annen syklus?
Joey: Det er meningen at vi skal fullføre alt vi begynner å bygge i samme syklus. Det er veldig lett å skape noe stort og aldri fullføre det. Men hvis vi virkelig fokuserer på å forbedre produktet, blir vi ferdige med det. Uansett hva vi gjør, selv om vi ender opp med å ikke like det, er det ferdig i løpet av tre uker.
Vi vet aldri nøyaktig hvor lang tid det vil ta å bygge eller forbedre noe. Så det er ikke sikkert at alt er ferdig på tre uker, men vi vil ha noe som fungerer og tilfører verdi til systemet.
Priscila: Det gir mening. Jeg tror også det gir deg en følelse av mestring til slutt. Har du noen eksempler på forbedringer eller vedlikehold du har gjort i det siste?
Joey: Det meste av vedlikeholdet vårt påvirker ikke kundene direkte. Mye av vedlikeholdsarbeidet vårt gjør det imidlertid mulig for oss å bygge fremtidige funksjoner. Vi har for eksempel nettopp lansert en forbedring som gjør det mulig for administratorer å endre rekkefølgen på gruppene i akademiet. Det kan virke som en liten endring for administratoren, men vi måtte faktisk bygge om store deler av siden for å gjøre det mulig.
Vi har også forbedret systemet for eksport. Administratoren vil bare legge merke til at de nå kan eksportere større datamengder på én gang. Men vi måtte bygge et helt nytt system som kunne støtte disse eksportene og jobbe raskere.
Priscila: Det er en god ting. Har du sett effekten av det?
Joey: Absolutt. Eventuelle problemer som vi finner under testingen, blir ikke lagt ut på nettet. Vi har automatisert mye av testingen. Vi har lært opp flere i selskapet i hvordan man tester på riktig måte, og vi har involvert flere i hele prosessen, slik at vi kan oppdage små feil som kundene ikke engang legger merke til.
Priscila: Hva er planene for fremtiden når det gjelder vedlikehold?
Joey: Det er en videreføring av det vi gjør nå. Som jeg sa, hele ideen om å ha et eget forbedringsteam er ny, og vi er veldig fornøyde med det. Som Thomas forklarte, flytter vi også flere og flere deler av systemet over til en mikrotjenestearkitektur.
Det er alltid rom for forbedringer i systemet og måten vi jobber på. Jeg er imidlertid veldig fornøyd med de forbedringene vi har gjort så langt, inkludert prosessene våre og den generelle måten vi jobber på.
Priscila: Fra det jeg kunne forstå og fra mitt ikke-tekniske perspektiv, er jeg enig med deg! Takk for at du deltok i intervjuet, og vi ser frem til flere forbedringer.
Joey: Det var så lite. Det er jeg også!