Hvorfor programmere et system fra bunden?

Michael Bech

Michael Bech

sep 02
Tilbage til blog
Systemudvikling fra bunden

Jeg tror, at de fleste med en rigtig god ide spørger sig selv: ”Skal mit projekt udvikles fra bunden, eller tilpasses på en åben platform?”.

Der er gode grunde til at vælge begge dele.

Derfor vil jeg I dette blogindlæg, beskrive hvorfor og hvornår, det virkelig kan betale sig, at udvikle jeres næste projekt fra bunden.

Hvad er mulighederne for mit software projekt?

Hvad enten det handler om en helt ny virksomhed, eller digitalisering af en eksiterende, så er programmering og softwareudvikling efterhånden altid en del af opgaven.

Der er grundlæggende 2 veje at gå, når du skal have udviklet software til din virksomhed.

Enten kan du få udviklet en løsning fra bunden. Eller også kan du få lavet en løsning på et åbent system, som tilpasses efter dine behov. Det omtales også som open source.

Mange er i tvivl om det overhovedet kan betale sig at udvikle et projekt fra bunden. Specielt fordi mange opfatter specialudviklet software som en meget dyr løsning.

Det er dog langt fra tilfældet, fordi løsninger programmeret fra bunden ikke altid er dyrere, end tilpasning af åbne systemer. Blandt andet fordi, at moderne software- og webudvikling kan programmeres langt hurtigere end for få år siden.

Men hvornår det så rent faktisk er fordelagtigt at udvikle fra bunden, er det næste jeg vil sætte ord på.

Laravel, Yii, Django, NodeJS

Hvornår kan det betale sig, at programmere fra bunden?

At udvikle fra bunden handler kun om det at programmere løsningen. Alle andre dele af udviklingsprojektet, som eksempelvis kravsspecifikation og procesdiagrammer, kræver samme indsats ved udvikling fra bunden som ved tilpasning af en eksisterende platform.

Når virksomheden skal beslutte, om et projekt skal programmeres fra bunden, handler det først og fremmest og 2 ting:

  • Er fokus på kort- eller langsigtede omkostninger
  • Er ideen unik?

Planlægger du kort eller langtsigtede omkostninger

Når den indledende kravsspecifikation på plads, er næste skridt at vælge den tekniske infrastruktur.

Hvis din virksomhed har en hurtig Time-To-Market som erklæret mål, og produktideen ikke er for kompleks, kan du med fordel vælge at tilpasse et eksisterende åbent system. Ved mindre komplekse løsninger, er det både hurtigere og billigere, at bygge ovenpå noget eksisterende.

Hvis ideen viser sig at være en succes, vil en hurtig igangsættelse ofte medføre udfordringer når virksomheden står overfor vækst og skalering.

Sagt med andre ord, kan du med en tilpasset løsning ligge udgifterne i fremtiden. Du kan afprøve ideen og planlægge efter at ombygge den tekniske infrastruktur indenfor de første år. Selvfølgelig kun når virksomheden oplever efterspørgsel efter produktet.

En tilpasset løsning vil derimod i højere grad ligge udgifterne i starten af projektet. Dit udbytte ses i dette tilfælde på den længere bane. En tilpasset løsning omfatter programmering som sørger for, at systemet passer 1-til-1 med virksomhedens værdikæde og processer. Det betyder et system som er klar til vækst og skalering uden store yderligere omkostninger.

Systemudvikling og programmering

Er ideen unik?

Om din ide er unik er i den her forbindelse kun relevant i forhold til tage de rigtige beslutninger. Nemlig at vælge den rigtige softwareløsning. At være unik, skal ikke være et mål i sig selv.

Er din ide unik, får du med stor sandsynlighed mere ud af udvikle et system fra bunden. Simpelthen fordi det kræver for meget arbejdstid, at tilpasse et eksisterende system. I nogle tilfælde kan det at tilpasse endda betyde, at tvinge et system til at løse udfordringer, som det egentlig ikke er gearet til at håndtere.

At programmere fra bunden, koster ikke altid mere

Hvis du spørger en erfaren programmør, om han/hun har arbejdet med brugersystemer, styring af logins, automatisering og systemintegrationer vil svaret helt sikkert være: Ja.

Med erfaring følger afprøvede løsninger, som netop findes med det formål at ”bygge oven på”. Det er softwarepakker som gør, at de samme features ikke skal programmeres hver gang.

Her hos bechtech har vi et stort ”lager” af løsninger som vi kan kombinere. Det giver os mulighed for at udvikle systemer fra bunden, hvor vi bruger vores tid på at løse kundespecikke udfordringer, indenfor en budgetramme som ofte overrasker vores kunder positivt.

Generelt er softwaremiljøet blevet så stort og moderne, at der er et stort udvalg af byggesten som frit kan inddrages og bygges videre på. Hos bechtech arbejder vi med mange platforme, men primært med Yii, Laravel, Joomla og Django. Det er allesammen platforme, som tilbyder et stort udvalg af moduler som gør, at vi kan bruge tiden på løsninger som skaber værdi for vores kunder.

Systemudvikling fra bunden betyder ofte afklaring af ide og løsning

Når et system udvikles fra bunden, bliver vi ofte en integreret del af projektet. Der opstår tæt samarbejde og løbende dialog, som i sidste ende gør løsningen fokuseret og skalerbar.

En ide formes og udvikles i vores sammenspil med kunden. Kundens store indsigt i forretningen kombineret med vores store teknisk indsigt, giver ofte nye perspektiver og løsningermuligheder som ellers ikke kommer til syne.

Generelt er der ingen tvivl om, at den tætte dialog, som det kræver at programmere systemer fra bunden, ofte leder til bedre forståelse og bedre beslutninger omkring den endelige løsning.

Og gode beslutninger betyder i sidste ende værdi. Og det er jo præcis værdi, som ethvert system skal levere.