Skräddarsydd mjukvara kan låta som guld och gröna skogar (och ofta är det just det) men att bygga sin helt egna lösning är ett stort projekt och det finns därför en del saker som kan vara bra på att som beställare ha koll på.
Som beställare krävs det en hel del av er som företag. Många personer på olika nivåer, inklusive representanter från ledningsgruppen (hur många beror på bolagets storlek) ska involveras och ni måste vara beredda på att ta del av, och ta ställning till, mycket information.
Arbetet med att ta fram ny programvara kommer inkludera en mängd förstudier, workshops, möten, testning etc. och det kommer ta tid från era ordinarie arbetsuppgifter. Men – det kommer vara värt det om ni tar er an processen på rätt sätt. Se därför till att ni verkligen har skapat ett stort engagemang kring utvecklingen av ert nya system och att hela organisationen ser fördelarna med det.
Att uppskatta kostnaden för skräddarsydd programvara är svårt, riktigt svårt. Det är en komplex process där olika aspekter ska tas med i beräkningarna och många beslut ska fattas. Systemet ditt företag behöver och vill ha existerar överhuvudtaget inte, det ska alltså byggas helt från grunden. Som vilken annan ny uppfinning som helst innebär det därmed en uppsjö av osäkerheter och orosmoment – vilket gör det svårt att från början uppskatta kostnaden.
För att minska osäkerheten som finns kring kostnaden är det viktigt att som beställare (tillsammans med utvecklingsteamet) tydliggöra scopet och verkligen definiera kraven på systemet som ska tas fram. Det är också en fördel att bryta ner projektet i mindre delar, något som kan göra det lättare att kontrollera kostnaden. När mer information kommer fram längs vägen och fler saker upptäcks blir det på så sätt enklare att hantera ändringar.
Projektparadoxen nedan visar tydligt hur kunskapsnivån ökar allt eftersom projektet fortgår. Samtidigt visar den att det är i början, när kunskapsnivån är som lägst, som de flesta – och största – besluten tas. Vi tar alltså flest beslut när vi inte har en så bred grund att stå på.
Det är därför viktigt att ni som beställare arbetar tillsammans med ett rutinerat utvecklingsteam som har erfarenhet av projekt som liknar ert. De kommer då ha tydliga strategier och arbetssätt för att hantera eventuella osäkerheter. För att motverka projektparadoxen bör ni sträva efter ett samarbete där detaljbeslut senareläggs istället för att tas i ett tidigt skede. På så sätt kommer ni tillsammans att kunna ta välinformerade beslut under hela utvecklingsprocessen.
Skräddarsydd mjukvara är ingen quick-fix och att ta sig an processen på rätt sätt innebär bland annat att avsätta den tid som behövs, att inte stressa sig igenom arbetet. Men att estimera hur mycket tid behövs är tyvärr inte helt enkelt.
Oväntade händelser påverkar både priset och utvecklingstiden vilket gör att förseningar kan inträffa. Som mjukvaruutvecklare har man oftast råkat ut för det mesta, det kan vara allt ifrån buggar som uppstått ur tomma intet till strul med partnerleverantörer eller förseningar i beslut från beställaren. Dessutom kan även utvecklarna som bygger mjukvaran drabbas av sjukdom eller liknande vilket kan försena arbetet. En sak är dock säker – det tar längre tid att utveckla egen mjukvara än att köpa en off-the-shelf-lösning. Behöver ni anpassa standardlösningen ni köpt in står ni dock inför liknande utmaningar som när ni utvecklar egen mjukvara från grunden.
Hur man än gör kommer det vara svårt att göra en bra estimering på hur lång tid det tar att ro hela projektet i land. Det bästa rådet är att inte sätta upp ett för tight tidsschema utan att faktiskt ge sig själv möjligheten att ta fram bästa möjliga lösning. Även här är det självklart viktigt att ni väljer rätt utvecklingspartner med gedigen erfarenhet. Ni måste lita på att de kommer leverera och lösa de problem som uppstår.
Precis som en maskin behöver sig en spark eller en skvätt olja då och då, kräver mjukvara att man petar lite på den med jämna mellanrum för att den ska prestera så bra som möjligt. All sorts mjukvara behöver underhåll av olika slag och är den skräddarsydd kan underhållet bli mer komplext och därför också dyrare. Eftersom den är anpassad efter enskilda företag finns det inte alltid någon “best practice” eller tydliga standarder och den dokumentation som finns kan vara bristfällig.
Skräddarsydd mjukvara är dessutom oftast framtagen av ett fåtal utvecklare vilket gör att det kan ta tid för andra att sätta sig in i och förstå koden. Uppstår det buggar eller andra problem med programvaran kommer det vara ni själva som både upptäcker och rapporterar det till ansvarigt företag eller person (och snällt får vänta på att det blir löst) – det är ju faktiskt bara ni som använder systemet.
Har ni ett långvarigt samarbete med er utvecklingspartner brukar underhåll och support av mjukvaran inte utgöra ett problem. De håller då er programvara under löpande uppsikt och har koll på när underhåll behöver göras. Skulle ett oväntat fel uppstå finns de alltid där för att snabbt lösa problemet.
Att utveckla egen mjukvara innebär ett stort ansvar – även om ni använder er av en leverantör. Som beställare måste ni vara medvetna om att ni har att göra med en stor, komplex produkt som dessutom är föränderlig. Det är bara ni som har och använder programvaran och därmed får ni räkna med att en del barnsjukdomar kommer uppstå i början. Det är även ni som kommer märka om det uppstår problem, något som inte alltid är det enklaste. Beroende på hur mjukvaran används kan det till och med vara så att det är era kunder som upptäcker problemet.
Färdiga system är byggda för att användas av flera olika typer av företag och har därför testats i oändlighet, i en rad olika scenarion, för att vara säker på att de fungerar felfritt (dock förkommer det fortfarande problem även i dessa system). Skräddarsydd mjukvara är i sin tur vanligtvis inte testad i lika stor omfattning, något som egentligen inte heller behövs då även testningen är anpassad efter den specifika programvaran och dess användare.
När det kommer till säkerhet och testning handlar det återigen till största delen om ert utvecklingsteam. Ni måste ha förtroendet för att de har utvecklat mjukvaran med säker kodning och att de sett till att den är tillräckligt testad.
Trots de många fördelarna med skräddarsydda lösningar (läs mer om det här: 5 anledningar att välja skräddarsydd mjukvara), finns det alltså en del saker som är bra att vara uppmärksam på. Det bästa sättet att hantera dem på är att välja en erfaren utvecklingspartner som ni vet kommer göra processen så bra som möjlig för er. Resan kommer kännetecknas av osäkerheter men det är utvecklingsteamets ansvar att minska dessa och finnas där för er.
Vi på Meta Bytes har jobbat med många företag i olika branscher och hjälpt dem att ta fram mjukvara, alltifrån appar till hela system och plattformar. Att ha oss som mjukvarupartner är inte bara en trygghet då vi har den erfarenhet och kompetens som behövs. Och så är vi rätt så roliga att jobba med! Så är ditt företag på jakt efter ett utvecklingsteam vet du vad du ska göra.
Block QuoteTillbaka