Hvad er god softwarekvalitet?
Når vi taler om softwarekvalitet, er det åbenlyst, at én blandt mange forudsætninger for tilfredse kunder er, at den nyeste version af softwaren er komplet, færdig, testet og uden fejl. Men virkeligheden er bare ofte anderledes. Selv de største softwareleverandører kæmper med kvalitetsproblemer - også længe efter, at softwaren er gjort tilgængelig for kunderne.
Denne artikel handler om nogle af de bagvedliggende årsager til, at mange softwareleverandører er og bliver udfordret på kvaliteten. Artiklen giver dig desuden en praktisk vejledning i, hvordan du kan forbedre din softwarekvalitet ved at anvende det agile manifest som inspiration og fundament.
Læs artiklen herunder, eller download den som pdf her.
Forståelsen af begrebet kvalitet afhænger af øjnene, der ser
Forståelsen af ”god kvalitet” varierer afhængigt af, hvem du spørger. For slutbrugeren handler det ofte om en fejlfri oplevelse. For udvikleren handler det om, at koden er velstruktureret og let at vedligeholde, og at den overholder kodestandarden. For softwareleverandøren er god softwarekvalitet nøglen til øget kundetilfredshed og konkurrenceevne.
Forståelsen af begrebet kvalitet afhænger altså af øjnene, der ser, personens holdning til kvalitet og brugssituationen. Ofte har vi hørt en løsningsarkitekt eller en udvikler forklare, at softwaren virker, som den skal, nemlig i overensstemmelse med designet (”works as designed”). Samtidig oplever kunden og slutbrugeren, at den oplevede kvalitet ikke er god nok.
Lad os dykke ned i, hvordan vi kan opnå god softwarekvalitet gennem det agile manifest.
Det agile manifest tilbyder 4 værdier og 12 principper, der kan hjælpe dig med at tackle kvalitetsudfordringer og forbedre din softwarekvalitet.
De fire værdier i det agile manifest
- Individer og interaktioner frem for processer og værktøjer
- Fungerende software frem for omfattende dokumentation
- Kundesamarbejde frem for
kontraktforhandling - Reaktion på forandringer frem for at følge en plan
Kilde: https://agilemanifesto.org
De 12 principper bag det agile manifest
Princip 1 - Kundetilfredshed
Princip 2 - Ændringshåndtering
Princip 3 - Løbende leverancer
Princip 4 - Teamarbejde
Princip 5 - Motiverede teams
Når et medlem f.eks. skifter team, skal der sættes tid af til onboarding og omstrukturering. Men flyt hellere opgaver frem for mennesker og undgå ustabile og/eller (kompetencemæssigt) sårbare teams. Vi skal dog være forsigtige med at flytte rundt på fejlrettelser, for de skaber læring. Vi skal med andre ord sørge for, at teamet løser sine egne fejl for at undgå, at teamet gentager fejlen.
Princip 6 - Face-to-face kommunikation
Ofte er dialogen på videomøder forstummet, spontaniteten er væk, og taletiden er afmålt. Når vi mister dynamikken i dialogen, går vigtig oplæring, læring og aflæring samt innovation nemt tabt. Det kan påvirke vores virkelighedsopfattelse og kvaliteten af arbejdet samt skabe unødvendige fejl og misforståelser.
Princip 7 - Vi måler fremdrift med software, der virker
”De færreste udviklere finder dokumentation spændende, så vi skal være effektive i test- og dokumentationsarbejdet. Det kan vi bl.a. gøre ved at sikre sammenhæng mellem features, user stories og kode, bruge selvforklarende kode med passende kommentarer, teste i overensstemmelse med testcases og automatisere, hvor det giver mening.
Måske giver det også mening at overdrage dokumentationsopgaven til en kollega med et bedre kompetencematch. Og hvem ved - måske kan vi delvist automatisere dokumentationen. Til syvende og sidst er softwaren først færdig, når den er testet og accepteret af kunden.”
Lars Lindsby
Senior Consultant, Business Solutions & Services, kaastrup|andersen
Princip 8 - Konstant tempo
Et agilt team er et tværfunktionelt team på typisk 5-10 dedikerede personer med alle de nødvendige kompetencer til at beskrive, designe, udvikle, teste, dokumentere og implementere applikationer. Hvis teamet skal have bredden og være robust, skal teamet have overlappende kompetencer, eller også skal teamet være større.
Princip 9 - Ekspertise
Princip 10 - Enkelthed
Princippet foreslår også, at teamet skal have det miljø og den støtte, de har brug for, og at vi skal have tillid til, at teamet får arbejdet gjort. Endelig understreger princippet vigtigheden af, at teamet regelmæssigt reflekterer over, hvordan det bliver mere effektivt og justerer adfærden herefter, se princip 12.
”Vi er sikkert mange, der har en personlig præference for at lave løsninger, der er bedre end ”gode nok”; men det går ikke med gold plating (2). Vi bliver nødt til at forholde os til ”Definition of Done” (DoD). Vores features og user stories skal betragtes som ”Done” (færdige), når de er udført til det aftalte minimumsniveau af kvalitet (DoD).”
Lars Lindsby
Senior Consultant, Business Solutions & Services, kaastrup|andersen
Princip 11 - Selvorganisering
Det agile manifest understreger, at de bedste løsninger opstår fra selvorganiserede teams, hvor krav, design og arkitektur udvikler sig løbende i takt med ny viden. Denne autonomi giver teamet frihed til at beslutte, hvordan produktet leveres. Men manglende enighed om roller, ansvar og arbejdsmetoder kan føre til kvalitetstab. Hvis teamet ikke etablerer en fælles retning og best practices, kan det f.eks. resultere i alt for mange metoder, som gør vedligeholdelse af kodebasen vanskelig og kompromitterer kvaliteten.
Princip 12 - Refleksion og tilpasning
Det agile manifest opfordrer teamet til regelmæssigt at reflektere over dets arbejde for at øge effektiviteten - både i adfærd og metoder - med mindst mulig indsats. Et retrospective (3) bør ikke være et rutinemøde. Det afholdes, når der er væsentlige erfaringer at drøfte. Det er afgørende, at teamet konkret beslutter, hvad der i givet fald skal ændres, og hvem der følger op. Hvis teamet ikke giver sig tid til refleksion, kan det miste overblikket, og der er en risiko for, at kvaliteten falder.
Værdien af de agile værdier og principper
Vi håber, at du med udfoldelsen af hvert princip i det agile manifest er blevet beriget med nye måder, hvorpå du kan opnå højere softwarekvalitet.
Principperne giver en praktisk ramme for kontinuerlig levering, tæt samarbejde, løbende læring og kvalitetsfokus.
De fremmer det gode håndværk, hvilket reducerer fejl i og øger robustheden af softwaren. Værdierne skaber tilmed en kultur, hvor menneskelige interaktioner, samarbejde og fleksibilitet vægtes højere end stive processer og statiske planer. Det sikrer, at teams hurtigt kan reagere på ændringer og levere værdi til kunderne.
Hvorfor det betaler sig
At levere software af høj kvalitet er ikke kun en teknisk ambition, men en forretningsstrategi.
Formår du at håndtere kvalitetsproblemer proaktivt, opnår du:
- Øget kundeloyalitet: Fejlfri software styrker kundetillid.
- Reduktion i supportomkostninger: Mindre tid brugt på fejlfinding.
- Hurtigere time-to-market: Smidigere udviklingsprocesser.
- Forøget konkurrenceevne: Bedre produkter giver markedsfordele.
- MVP er en forkortelse for Minimal Viable Product, som er et levedygtigt produkt med nok funktionalitet til de første kunder.
- Gold plating forekommer, når teamet overleverer og f.eks. inkluderer ekstra funktionalitet.
- Retrospective handler om, at teamet ser tilbage på den seneste periode i projektet og spørger sig selv om, hvad der gik godt, hvad der gik galt, og hvordan teamet forbedrer sig.
Et skub i den rigtige retning
God softwarekvalitet er ikke en luksus - det er en nødvendighed. Ved at anvende det agile manifest kan du skabe en ramme, hvor din softwarekvalitet ikke kun lever op til kundernes forventninger, men overgår dem. Tøv ikke med at kontakte os - sammen kan vi sikre, at din software bliver en drivkraft for virksomhedens succes.
Sådan hjælper vi dig
Hos kaastrup|andersen hjælper vi virksomheder med at genskabe fokus på kvalitet gennem implementering af agile metoder.
Vi tilbyder:
- Rådgivning om procesoptimering: Hjælp til at identificere og udbedre kvalitetsudfordringer.
- Workshops i agil udvikling: Træning i de agile principper.
- Målrettede kvalitetsløsninger: Design af skræddersyede strategier.
Kontakt os i dag, og lad os tage en uforpligtende snak om, hvordan vi kan hjælpe dig med at genvinder den gode softwarekvalitet og styrke din forretning.