Håndtering av dårlig kodekvalitet i startup-prosjekter

Hva gjør man når eksisterende kildekode er uleselig ("spaghetti code") og vanskelig å vedlikeholde?

Kort oppsummert

Når koden er blitt uleselig «spaghetti code» og teknisk gjeld bremser utviklingen, kan det lønne seg å bygge MVP-en på nytt med en tech-stack teamet behersker. Vurder først om de verste delene kan refaktoreres, siden en full omskriving er ressurskrevende.

Vurder å bygge MVP-en på nytt fra bunnen av med en ny tech-stack for å sikre et robust fundament og bedre vedlikeholdbarhet. Dette er et fornuftig råd når koden har blitt det utviklere kaller «spaghetti code» – kode som er så rotete, sammenfiltret og udokumentert at det er vanskelig å forstå hva som skjer hvor, og der en liten endring ett sted ofte gir uventede feil et annet sted. Først, noen begreper: En MVP (Minimum Viable Product) er den enkleste versjonen av produktet ditt som likevel gir reell verdi til brukeren og lar deg teste om idéen fungerer. En «tech-stack» er samlingen av teknologier, programmeringsspråk og rammeverk produktet bygges med (for eksempel React i frontend, Node.js i backend, og en database som PostgreSQL). Hvorfor anbefale en omskriving fra bunnen? Fordi teknisk gjeld – snarveiene og rotet som hoper seg opp over tid – på et tidspunkt koster mer å rydde i enn å starte på nytt. Når hver ny funksjon tar uforholdsmessig lang tid og introduserer feil, bremser det hele selskapet. Et rent fundament gir raskere utvikling fremover og lavere risiko. Konkrete steg: Start med å definere kjernefunksjonaliteten MVP-en faktisk trenger (kutt alt unødvendig). Velg en tech-stack teamet behersker godt og som det finnes mye dokumentasjon og hjelp til. Sett opp god kodestruktur og enkel versjonskontroll med Git fra dag én, og skriv lesbar, dokumentert kode. En viktig fallgruve å være obs på er likevel dette: en full omskriving er ressurskrevende, og man bør ikke gjøre det lettvint. Vurder først om de verste delene kan refaktoreres (ryddes opp gradvis). Men der koden er hopeløst uleselig og hindrer videre framdrift, er det ofte både raskere og tryggere å bygge MVP-en på nytt med et solid fundament.

Begreper forklart

Spaghetti code
Kode som er så rotete og sammenfiltret at en liten endring ett sted ofte gir uventede feil et annet sted.
MVP
Minimum Viable Product – den enkleste versjonen av produktet som likevel gir reell verdi og lar deg teste idéen.
Tech-stack
Samlingen av teknologier, programmeringsspråk og rammeverk et produkt bygges med.
Teknisk gjeld
Snarveiene og rotet i koden som hoper seg opp over tid og som til slutt koster mye å rydde i.
Refaktorering
Å rydde opp i og forbedre eksisterende kode gradvis uten å skrive alt på nytt.

Trenger du hjelp med akkurat dette?

Er du student ved NTNU i Trondheim eller Ålesund? Da kan du få en gratis, personlig veileder fra Spark* som hjelper deg videre med nettopp din idé.

Søk veiledning

Ofte stilte spørsmål

Hva gjør man når en startup ikke svarer på gjentatte henvendelser via e-post og melding?

Det er greit å avregistrere en startup som ikke svarer, men gjør det ryddig: send to-tre henvendelser via ulike kanaler, varsle om en frist, og noter i systemet. De er alltid velkomne tilbake.

Les hele svaret →
Hva gjør man når man oppdager at det allerede finnes et selskap som gjør nøyaktig det samme?

Ikke få panikk over konkurrenter, det beviser ofte at markedet finnes. Test tidlig med sosiale medier og intervjuer for å finne udekkede behov og en mulig differensiering, og vær villig til å legge ideen død hvis en etablert aktør allerede dekker behovet godt.

Les hele svaret →
Hva gjør man når man har en god forretningsidé, men mangler den tekniske kompetansen for å bygge løsningen eller vise troverdighet?

Identifiser kompetansegapet tidlig og finn en medgründer, ikke bare en innleid utvikler, for teknisk troverdighet og en MVP. Avtal roller og eierfordeling tidlig, gjerne med vesting, og skriv det ned.

Les hele svaret →
Hva gjør man når batteriene mister spenning over tid slik at komponentene slutter å fungere?

Problemet er ikke at batteriet er tomt, men at alkalibatterier mister spenning gradvis. Bytt til litiumbaserte batterier som holder stabil spenning gjennom hele brukstiden, så holder komponentene seg over minstespenningen.

Les hele svaret →
Hva gjør man når et team er usikre på veien videre, eller det er uklart hvem som skal være med i prosjektet?

De fleste teamkonflikter skyldes uuttalte forventninger. Hold et eget møte der alle svarer ærlig på innsats, mål og rolle, sett en konkret frist for å bestemme om dere fortsetter, og avklar eierskap tidlig – gjerne med vesting.

Les hele svaret →

Har du et annet spørsmål? Ta kontakt med oss.