Mitä ohjelmistokehitys maksaa?

3/10/2021

Mitä ohjelmistokehitys maksaa?

Ohjelmistokehityksen hinta riippuu projektin koosta 

Käymällä läpi pari ensimmäistä sivua Googlen hakutuloksista hakusanoilla ”ohjelmistokehityksen hinta” ja ”ohjelmistokehityksen tuntihinta”, saa tuloksia todella vaihtelevasti. Joissakin mainitaan kehityksen maksavan usein 80-110€ tunnilta (+24% alv.), osassa puhutaan kehityksen maksavan reilusti yli 100€/h ja joissakin hintaa ei mainita ollenkaan, vaan pitää pyytää tarjous.

Henkilötyöpäiviksi käännettynä keskimääräinen hinta vaihtelee siis paljolti 600-1000€ per HTP välillä, vaikka haitarin ulkopuolelta löytyy myös varmasti tekijöitä. Haitarin molemmilta puolilta.

Nuoret ohjelmistotalot tarvitsevat referenssejä ja saattavat tehdä projekteja puoli-ilmaiseksi. On nimittäin vaikeaa houkutella isompia asiakkaita ilman varsinaisia näyttöjä pienemmistä hankkeista. Isot ohjelmistotalot taas saattavat pitää sivuillaan reilusti yli 100€/h hintoja kehittäjien kokemuksen mukaisesti ja nokitella hintaa alaspäin, kun iso julkinen tai yksityinen kilpailutus osuu kohdalle.

Arvonlisävero näyttelee merkittävää osaa kaikissa hinnoissa ja siksi kannattaa muistaa myös laskea se mukaan lopulliseen hintaan. Esimerkiksi meillä kehityksen hinta on juniori devaajilla alkaen 79€/h + arvonlisävero, eli noin 632€ (800€ ALV:illa) kokonaiselta henkilötyöpäivältä. Ja kokeneemmalla devaajalla hinta tietysti on enemmän riippuen tekijän tasosta ja teknologisen osaamisen harvinaisuudesta. 

Projektin koolla on selvä merkitys sen hinnan kannalta. Jos otetaan vaikka aiemmin mainitun hintahaitarin puolivälistä hinta 800€/HTP (1000€), niin kuukaudessa yksi kokoaikainen kehittäjä voi maksaa karkeasti 16 000€ (20 000€). Saati sitten kokonainen tiimi.

Nykyään ohjelmistotalot pyrkivät tekemään joitakin softan palikoita käyttövalmiiksi, jotta niitä voidaan hyödyntää useammissa asiakkuuksissa. Ne säästävät aikaa kehittäjiltä, lisäävät työn mielekkyyttä (kun ei tarvitse koodata samoja asioita uudestaan) ja mikä parasta, säästävät myös asiakkailta isoja seteleitä. Ilmiötä kutsutaan ’low code’ tai ’no code’ nimellä riippuen kuinka paljon koodia pitää vielä tehdä. 

Ohjelmistokehitys on yleensä pitkä prosessi. Edellä mainittujen palikoiden hyödyntäminen saattaa lyhentää prosessia, mutta ohjelmisto kannattaa joka tapauksessa saattaa mahdollisimman nopeasti käyttäjille testattavaksi. Kun käyttäjät pääsevät vaikuttamaan kehitykseen, niin palautteen ja datan perusteella voidaan säästää rahaa ”turhista” ominaisuuksista. Nämä vaikuttavat hyviltä ominaisuuksilta sovellusta suunnitellessa, mutta jäävätkin todellisuudessa käyttäjiltä käyttämättä. Hintansa vuoksi ohjelmistokehitys on myös paljolti priorisoimista – kehitä vain käyttäjille oleelliset.

Priorisointi kesken kehityksen ei ole mahdollista, jos kehitetään vesiputous-mallilla. Siinä sovellus tehdään kerralla valmiiksi aluksi päätettyjen ominaisuuksien mukaisesti. Ketterä vaihtoehto taas hyödyntää viikon tai parin sprinttejä, joista jokaisen jälkeen katsotaan mitä kannattaa kehittää seuraavaksi. Näin kesken kehityksen voidaan tarvittaessa pivotoida rajustikin alkuperäisestä ideasta.

Lisäksi, edellä mainitun ketterän kehityksen etuna voidaan nähdä myös se, että kaupalliset sovellukset tulevat nopeammin tuottaviksi, kun ne saadaan yleisön käyttöön mahdollisimman nopeasti. Mitä aikaisemmin tuottoa alkaa kertyä, sitä helpommin kehityksen jatkorahoitus on perusteltavissa sijoittajille. Riippuu toki bisnes-mallista. Esimerkiksi joskus voi olla fiksumpaa skaalata palvelua rajusti ilmaisena ja rahallistaa se vasta myöhemmin.

Hintaan vaikuttaa tekijän tai tiimin kokemus 

Kun asiakas lähtee ostamaan ohjelmistokehitystä palveluna, ostaa hän oikeastaan ennen kaikkea käsityötä. Ohjelmistotalot käyttävät aikaansa ja osaamistaan siihen, että ohjelmisto on perustastaan lähtien mahdollisimman laadukas. Käytössä oleva aika ja osaaminen määrittävät julkaistavan tuotteen toimivuuden, laadun ja jatkokehityksen potentiaalin. Jos pohjatyöt tehdään vihkoon (lue: huonosti) tai työssä oiotaan kiireen takia, voi ongelmia ilmaantua vuosienkin päästä.

Kuten kaikessa muussakin, jos ohjelmiston pohja ei ole kestävä, sen päälle rakentamisesta tulee haastavampaa. Sovelluksissa ei esimerkiksi voida rakentaa päälle tarpeellisia uusia ominaisuuksia, tai tuotteen skaalaaminen suuremmille käyttäjämäärille tuottaa yhä enemmän ongelmia. Tai jos teknologia, jolla sovellus on alunperin tehty, on harvinainen, niin kehittäjiä ei ole yhtä helppo löytää, heistä kilpaillaan ja nämä nostavat hintaa.

Yleispätevänä laskukaavana: ohjelmistokehityksen todellinen hinta saadaan, kun ongelmien ratkonnan hinta lisätään alkuperäisen hintalapun päälle. Tämän vuoksi halvin ei ole aina halvin. Ehkä suurin ja tärkein osa projektin hintaa on henkilöstön hinta. Kuten kaikessa, osaavampi ja kokeneempi ammattilainen vaatii enemmän palkkaa kuin aloittelija, mutta kokemus ja osaaminen näkyy usein positiivisesti työn aloituksessa, teossa sekä lopputuloksessa.

Hinnan osatekijänä ovat teknologiat

Kolmas hinnan iso osatekijä on käytetty teknologia. Ohjelmistojen rakentamiseen ja kehittämiseen voidaan käyttää lukemattomia erilaisia kieliä sekä teknologioita. Alalla on laajoja debatteja siitä mitkä ovat parhaita ja miksi. Erot parhaiden teknologioiden välillä vaativat toisen artikkelin, joten keskitytään oleelliseen, eli hintaan. Suurikin ohjelmistoinvestointi voi valua nopeasti hukkaan, jos ohjelmiston teknologia vanhentuu, käyttäjäkunta vaihtaa muihin teknologioihin ja tukea kehitykseen alkaa olla vaikea löytää.

Kannattaa siis selvittää kuinka laaja kannatus ja tuki teknologialla on ennen kuin sillä lähtee kehittämään. Esim. Facebookin (nykyisen Metan) kehittämä React on jo vakiintunut teknologia, joka nauttii laajasta käyttäjä- ja kehittäjäkunnasta. Toinen tulevaisuuden tekijä saattaa hyvinkin olla Googlen Flutter, joka kehittyy koko ajan, mutta ei ole ainakaan vielä yltänyt samalle tasolle Reactin kanssa. Molempia yhdistää isojen teknologiafirmojen tuki.

Sovelluksia voidaan koodata esimerkiksi natiivisti tai hybridisti. Käytännössä tämä tarkoittaa sitä, että iOS- ja Android-versiot sovelluksesta koodataan yhdessä tai täysin erikseen. Erikseen koodattaessa molempien käyttöjärjestelmien teknologiset ratkaisut voidaan hyödyntää täydellisesti. Tämä tietysti tarkoittaa, että asiakas joutuu maksamaan kahden sovelluksen koodaamisesta. Kun koodit koodataan yhdessä, säästyy aikaa ja sitä kautta rahaa, mutta laatu kärsii – ei paljon, mutta kärsii. Mobiilisovellus-sivullamme on avattu tarkemmin kolmea eri tapaa rakentaa mobiilisovellus sekä näiden etuja ja haittoja, mikäli aihe kiinnostaa. 

On tärkeää pystyä valitsemaan oikeat ohjelmistoteknologiat omaan projektiinsa, ja varmistaa, että valitut tekijät hallitsevat ne riittävän hyvin. Ohjelmointikielet ja erilaiset teknologiat eivät monesti ole kovinkaan samanlaisia, mikä tarkoittaa, että yksi koodari harvoin pystyy hallitsemaan kymmeniä erilaisia teknologioita sujuvasti. Teknologiat ovat vähän kuin kieliä: sitä puhuu yhtä äidinkielenään ja toista sujuvasti, mutta muut ovatkin sitten tasoa ”jag heter Keijo”. Siksi kannattaa harkita ”tulkkia”, eli konsulttia tai talonsisäistä IT-vastaavaa, joka voi valvoa, että kehitys sujuu mallikkaasti. 

Organisaation merkitys

Neljäs tärkeä vaikuttava tekijä on kehittäjän ympärillä oleva organisaatio. ”Mies ja koira” -tyyliset firmat voivat tarjota palveluitaan huomattavasti halvemmalla kuin aidot ohjelmistotalot. Isommat firmat taas voivat tarjota useampia teknologioita, rautaista kokemusta ja laadukasta projektinjohtoa sekä yhteydenpitoa asiakkaaseen. Näistä kaikista maksamalla ostetaan omalle yritykselle myös turvaa tulevaisuutta varten.

Ulkomailta voi saada koodarin markalla, mutta ohjelmistoprojekteissa kannattaa miettiä, ymmärtääkö tekijä varmasti mitä on tekemässä, jos yhteyttä pidetään kirjoitusvirheitä täynnä olevien sähköpostien välityksellä. Tuolloin kannattaa suoraan lisätä budjettiin tai hintalappuun vielä oman yrityksen vastuuhenkilöiden ylimääräinen aika, joka menee viestimiseen ja ongelmanratkomiseen tekijöiden kanssa.

Kommunikointiongelmat ovat riskienhallinnan kannalta todella suuria, koska kommunikaatio on yleensä todella isossa osassa esimerkiksi suunnittelua. Jos epävarmuus iskee, niin kannattaa ottaa omalle puolelle joko talon sisältä kokeneempi teknologiaosaaja tai sitten talon ulkopuolelta konsultti varmistamaan projektin sujuva eteneminen ja, että kaikki osapuolet ovat samalla sivulla.

Mitä maksaisit itse talon rakennuksesta?

Ohjelmistokehitys muistuttaa projektina talon rakentamista. Asukkaan pitää pystyä toteuttamaan unelmansa ja fiilistelemään, kun taas projektipäällikön, arkkitehdin ja rakentajien pitää pystyä rakentamaan tämä unelma niin, että tulevaisuudessa remontit, laajennukset ja muutostyöt onnistuvat helposti. Huom. vaikka niitä olisi toteuttamassa joku muu kuin alkuperäinen rakentaja.

Kukaan ei halua taloa joka homehtuu ensimmäisten vuosien aikana, eikä kukaan varmasti rakennuttaisi itselleen taloa sen perusteella, kuka sen suostuu tekemään halvimmalla. Tietyissä asioissa voidaan käyttää automaatiota ja välillä pystytään hyödyntämään ”bulkkia”. Esim. erilaisia valmiiksi tehtyjä elementtejä. Mitä uniikimpaa räätälöintiä asiakas haluaa, sitä vähemmän bulkkia voidaan hyödyntää. 

Ohjelmistokehitys eroaa talonrakennuksesta, koska ohjelmisto on harvoin aidosti valmis, kuten talo. Jos Facebook olisi edelleen täysin sama alusta kuin noustessaan ihmisten suosioon, olisi suurin osa käyttäjistä hypännyt kilpailijoiden kelkkaan jo kauan aikaa sitten. Kehitys on prosessi, joka jatkuu ensimmäisen version jälkeenkin. Sen takia kannattaa myös miettiä jatkoa, ja varmistaa itselleen kumppanit, jotka näyttävät viimeistään projektin aikana, että he ovat sitoutuneet pitkäaikaisempaan kumppanuuteen kertakaupan sijaan.

Ohjelmistokehityksen hintahaitari on valtaisa, mutta siirtymällä aivan edullisimmasta päästä ylemmäs saa yleensä parempaa teknologiaa, nopeampaa ja varmempaa kehitystyötä ja paremman lopputuotteen. Hyvin harvoin kehitysvaiheessa säästäminen johtaa hyvään lopputulokseen. Sen takia ei kannata tehdä päätöstä pelkän halvan hinnan perusteella. Ja loppujen lopuksi kannattaa aina miettiä; jos olet jo päättänyt, että idea on investoinnin arvoinen, eikö se kannata tehdä kerralla kunnolla?

Meidän kehityshinta (alk. 79€/h) löytyy selkeästi etusivultamme

Me pyrimme muuttamaan kankeaa ohjelmistokehitysalaa helpommin lähestyttäväksi. Olemme läpinäkyviä hinnoittelussa (kuten näkyy), ideoinnissa sekä tietenkin ohjelmistokehityksen prosesseissa. Haluamme olla se matalamman kynnyksen yhteistyökumppani, jonka sanaan ja tekemiseen voi luottaa. Ketteryyden nimeen vannominen ja jatkuvaan kehitykseen pyrkiminen on veressämme.

Verticsin yhtenä perustamisideana on tehdä ohjelmistokehityksen ostamisesta mahdollista yhä useammalle yritykselle ja järjestölle. Kehityksen yhtenä osa-alueena on rahoitus ja sijoittajat. Näiden kysyntä vaikuttaa viime vuosina kasvaneen. Sijoittajien lisäksi kehitysrahoitusta on mahdollista hakea esimerkiksi Business Finlandilta tai ELY-keskukselta. Omat myyjämme ovat tehneet sen verran hommia 

Jos mielenkiinto softakehitykseen heräsi, niin ota yhteyttä hello@vertics.co. Tai jätä yhteystiedot etusivulta, niin myyjämme voi ottaa yhteyttä teihin päin. Yhteydenotto ei sitouta mihinkään, mutta voi olla hyödyllinen kummallekin osapuolelle, vaikkapa sparrauksen muodossa. 

Lue myös