Kontakta oss!

Varför är det svårt att uppskatta kostnaden för skräddarsydd mjukvara?

Många företag som tar hjälp av externa experter för att utveckla egen mjukvara har aldrig gjort det förut. Det är för dem en helt ny typ av process som ser väldigt annorlunda ut än när de köper in andra typer av lösningar till företaget – vilket ofta kan skapa viss frustration. Det är inte som att välja ut en maskin ni behöver som sedan levereras och installeras på en vecka.  

Låt oss gå närmare in på varför det är så svårt att estimera kostnaden för att utveckla mjukvara.

Startar från ingenting

Vid beställning av skräddarsydd mjukvara börjar arbetet i princip på noll, mycket ska byggas från scratch. Det enda som finns är kanske en idé om vad som behövs men inga detaljer är fastställda. Det finns ingen kod, åtskilliga beslut måste tas och mycket ska tas hänsyn till. Det är lite som att den där maskinen ni behöver inte ens existerar utan måste uppfinnas och byggas på plats. Det enda ni vet är vad maskinen behövs till men allt måste göras från grunden. Alltifrån ritningar till beslut om materialval och komponenter till att faktiskt bygga alla delar och sätta ihop dem.

Eftersom arbetet startar från ingenting är det viktigt att mycket fokus läggs på förstudien och planeringsarbetet. Om detta inte genomförs noggrant riskerar projektet att misslyckas. Under det här stadiet är det viktigt att det verkligen framgår vilka mål ni som beställare har med mjukvara. Om detta inte tydliggörs kan det lätt bildas ett gap mellan beställare och utvecklingsteamet vilket skapar en otydlighet kring vad beställningen avser.  

En “dynamisk” beställning

Att beställa mjukvara är inte, som så många andra typer av beställningar, statiskt. Det är en process vilket i många fall betyder att det ni beställer i slutändan faktiskt inte är det som ni har köpt.  

I början av ett projekt går kunden i princip alltid in med antaganden, tydliga direktiv och med listor över vad som är viktigast. Allteftersom att saker bryts ner och definieras ändras fokus och man vill prioritera om. Dessutom kommer ni som kund en bit in i processen att inse hur mycket möjligheter det faktiskt öppnas upp för med skräddarsydd mjukvara. Man hittar fler saker man vill göra, kanske integrera mot ännu fler program, och vill även göra saker annorlunda än man från början trodde.  

Att ta fram egen mjukvara kan alltså vara en riktig dörröppnare när ni väl inser vilka möjligheter som finns. Som mjukvarukonsulter vet vi att den där dörren kommer öppnas och därmed att vi från början tvingas göra en omöjlig estimering, en estimering som inte är baserad på det vi faktiskt kommer att bygga.  

Det enkla svaret på varför det är svårt att uppskatta kostnaden för skräddarsydd mjukvara är alltså: För att det är så komplext. Även om man sätter upp tydliga mål med sin lösning är vägen dit lång och mycket kan komma att påverka projektet och göra det, om möjligt, ännu mer komplext.  

Fler parametrar än det går att räkna

Det som främst gör mjukvaruutveckling så komplext är funktionaliteten. Det finns ett oändligt antal faktorer som ska tas i beaktning och i princip lika många beslut att ta. Detta är inte något man ser vid första anblicken utan det är parametrar som kommer att uppenbara sig på vägen.

Detta gör även att mjukvara kan se bra ut på “utsidan” men när man gräver lite inser man snart att så inte alls är fallet. Bristen på befintlig, eller helt enkelt felaktig, dokumentation kan exempelvis ställa till med problem när integrationer med andra system behöver göras. Detta gör att vi som mjukvaruutvecklare ofta är beroende av en eller flera av kundens övriga leverantörer och måste samarbeta med dem, något som i vissa fall kan försvåra processen.  

Oväntade händelser som uppstår är ofta förekommande inom mjukvaruutveckling. För att återigen jämföra med maskinexemplet kan man tänka sig att en vattenledning upptäcks under golvet precis när maskinen ska borras fast. Den går alltså inte att placera på avsett ställe och ni tvingas tänka om. Värsta tänkbara scenario är då att maskinen helt måste ritas om då de tilltänkta måtten inte fungerar för platsen den nu måste placeras på.  

Vad kan man göra för att förenkla estimeringen?

Att leverera en kostnadskalkyl i mjukvaruprocessen tidigaste skede är på grund av ovan nämnda anledningar nästan lika med omöjligt då vi som konsulter först måste förstå stora delar av kundens organisation. När den typen av förstudie är gjord är det istället svårt att estimera kostnaden då mycket kommer hända längs vägen, både omprioriteringar och oväntade händelser.

Men – det finns en del saker ni som beställande företag tillsammans med utvecklingsteamet kan göra för att ge er de bästa förutsättningarna när det kommer till att uppskatta priset på skräddarsydd mjukvara.  

Definiera och skala ner scopet direkt

Vad är det ni verkligen behöver? Sätt upp mål på en högre nivå istället för att ge er mjukvarupartner långa listor med saker ni vill ha. Ändringar och omprioriteringar kommer ändå att förekomma längs vägen.

Undvik att detaljplanera

Ta en titt på projektparadoxen här bredvid som visar att de största besluten tas i början av ett projekt när vi har som minst kunskap. Den gröna linjen bör istället flyttas mot höger så att fler beslut tas senare. Utgå istället från era uppsatta mål i början – och vänta med detaljerna.

Bryt ner projektet i så många delar som möjligt

Detta är också ett sätt att motverka projektparadoxen då man tar små steg hela tiden och lär sig av dem. På så sätt blir det enklare att kontrollera kostnaden.  

Försök identifiera risker och problem på förhand

Som sagt kommer det att uppstå oväntade händelser men gör vad ni kan för att eliminera dem.

Ha en ständigt pågående dialog med alla inblandade

Det är viktigt att hela tiden kommunicera ut vad som händer. På så sätt vet alla vad som pågår och rätt person involveras vid rätt tidpunkt.

Att uppskatta kostnaden på skräddarsydd mjukvara är svårt. Att utveckla mjukvara är en komplex process och er mjukvarupartner behöver veta mycket om er verksamhet innan ens en första estimering kan göras. Men det finns alltså saker man kan tänka på för att förenkla estimeringen, där de viktigaste är att sätta upp tydliga mål och ta detaljbeslut senare i processen.  

Osäker på om ni behöver skräddarsydd mjukvara?

Ta reda på vilka tecken det finns – och om de finns i ditt företag!
Till artikeln
Block Quote
Tillbaka