Vad säger en oberoende kodgranskning om din produkt?

Av Weapp · Uppdaterad

En oberoende kodgranskning är när en tredje part bedömer din kodbas objektivt – arkitektur, kodkvalitet, säkerhet och testtäckning. Den är särskilt värdefull vid leverantörsbyte, före ett förvärv eller vid misstanke om kvalitetsproblem. Resultatet ska vara ett konkret beslutsunderlag med prioriterade fynd, inte en lista med teknisk kritik, och tas upp med befintlig leverantör som förbättring snarare än anklagelse.

De flesta beställare kan inte läsa koden de betalar för, och det är helt normalt. Men det gör att kvalitetsproblem kan ligga dolda länge – tills leveranserna saktar in, buggarna hopar sig eller en tänkt köpare börjar ställa frågor. En oberoende kodgranskning är ett sätt att få en objektiv bild av vad som faktiskt byggts, utan att själv behöva förstå varje rad. Här är när den lönar sig och hur du får ut ett beslutsunderlag av den.

När en granskning lönar sig

En kodgranskning kostar tid och pengar, så den ska ha en frågeställning. Fyra situationer motiverar den nästan alltid:

  • Inför ett leverantörsbyte. Innan du flyttar ett system vill du veta vad du ärver – hur svårt blir det för ett nytt team att ta över?
  • Före ett förvärv. Köper du ett bolag är koden en av dess största tillgångar. En granskning avslöjar om värdet är verkligt eller bara en fasad.
  • Vid misstanke om kvalitetsproblem. När allt tar längre tid än det borde och ingen kan förklara varför, ger en granskning ord åt magkänslan.
  • Inför skalning. Ska systemet växa kraftigt vill du veta om arkitekturen bär eller om den spricker vid tiodubbel last.

Utan en sådan konkret anledning ger en rutinmässig granskning sällan tillräckligt värde för att motivera kostnaden.

Vad granskningen faktiskt omfattar

En seriös granskning nöjer sig inte med att tycka till om kodstil. Den bedömer fyra områden, som tillsammans ger en helhetsbild.

OmrådeVad som bedöms
ArkitekturBär strukturen framtida behov, eller är den en återvändsgränd?
KodkvalitetÄr koden läsbar och underhållbar, eller full av genvägar?
SäkerhetFinns kända svagheter i hantering av data, inloggning och beroenden?
TesttäckningFångar testerna fel innan de når användarna?

Utöver dessa tittar en bra granskare på dokumentationen och på hur lätt en ny utvecklare kommer in i koden – ett mått som säger mycket om hur beroende du är av just det nuvarande teamet. Bredden är poängen: en granskning som bara kommenterar kodstil missar de dyra problemen, som ligger i arkitektur och säkerhet.

Så blir rapporten ett beslutsunderlag

En teknisk rapport full av jargong är värdelös för den som ska fatta beslutet. Kräv därför att rapporten är skriven för att gå att agera på.

  • Prioriterade fynd. Varje problem ska klassas efter allvar, så att du ser vad som måste åtgärdas nu och vad som kan vänta.
  • Affärskonsekvens, inte bara teknik. Ett fynd ska översättas till risk och kostnad: vad kan hända om det inte åtgärdas, och ungefär vad kostar det att rätta?
  • Konkreta exempel. Svepande omdömen som “koden är rörig” duger inte. Fynden ska styrkas med faktiska exempel, annars går de inte att bemöta.
  • En sammanfattning för beslutsfattare. En sida överst som svarar på den fråga du ställde: kan vi skala, ska vi köpa, är det dags att byta?

Med en sådan struktur blir rapporten ett underlag du kan ta till styrelsen, inte en pärm för teknikerna.

Ett scenario: granskning inför ett förvärv

Ett bolag skulle köpa en mindre konkurrent, mest för dess programvara. På ytan såg produkten välbyggd ut. En oberoende granskning visade att arkitekturen var sund men att testtäckningen var nästan obefintlig och att en central del vilade på en föråldrad komponent utan säkerhetsuppdateringar.

Fynden stjälpte inte affären – men de flyttade den. Köparen förhandlade ned priset med kostnaden för att åtgärda bristerna och skrev in att säljaren skulle rätta det värsta före tillträde. Utan granskningen hade de betalat fullt pris för en dold skuld.

Att ta upp resultatet utan konflikt

Den känsligaste delen är att presentera fynden för den leverantör som skrev koden. Gör det som ett gemensamt förbättringsarbete, inte som en anklagelse. En kompetent leverantör känner ofta redan till svagheterna och blir lättad över en prioriterad lista att beta av. Gå igenom fynden sakligt, be om leverantörens svar på varje punkt och enas om en åtgärdsplan.

Vill du ha en objektiv bild av en kodbas inför ett beslut kan vi på Weapp granska den, eller ta det bredare greppet i en teknisk due diligence inför ett förvärv eller leverantörsbyte.

Vanliga frågor

När är det värt att beställa en oberoende granskning?

Framför allt inför ett avgörande beslut: ett leverantörsbyte, ett företagsförvärv, en större skalning eller när leveranserna blivit långsamma och buggiga utan förklaring. Då ger en objektiv bild av kodbasen ett underlag att fatta beslut på. Att granska rutinmässigt utan en frågeställning ger sällan värde som motiverar kostnaden.

Vad omfattar en kodgranskning?

En seriös granskning tittar på fyra områden: arkitekturen och om den bär framtida behov, kodkvaliteten och läsbarheten, säkerheten kring vanliga svagheter, samt testtäckningen. Den bedömer också dokumentation och hur lätt en ny utvecklare kommer in. Bredden gör att du får en helhetsbild, inte bara en åsikt om kodstil.

Blir inte granskningen partisk beroende på vem som gör den?

Risken finns, och därför bör granskaren vara oberoende av både din nuvarande leverantör och av den som eventuellt vill ta över. En part som hoppas vinna uppdraget har incitament att svartmåla. Be om en granskare utan egenintresse i utfallet och om att fynden ska styrkas med konkreta exempel, inte svepande omdömen.

Hur tar vi upp resultatet med nuvarande leverantör?

Bäst som ett gemensamt förbättringsunderlag, inte som en rättegång. En kompetent leverantör känner ofta redan till svagheterna och välkomnar en prioriterad lista att beta av. Presentera fynden sakligt, be om leverantörens svar på var och en och enas om en åtgärdsplan. Målet är en bättre produkt, inte att utse en skyldig.