Our site uses cookies 🍪

Cookies enable the website to work as intended.
You can find more information about cookies from here.

Miten ohjelmistokehityksen ulkoistaminen toimii?


Ennen päätöstä ulkoistaa ohjelmistokehitystä saattaa ulkoistaminen tuntua vaikealta ja epätehokkaalta. Kuitenkin oikean yhteistyökumppanin kanssa ohjelmiston kehitys kokonaan tai osaksi ulkoistettuna voi nopeuttaa tuotekehitystä huomattavasti. Seuraavaksi kerromme hieman prosessista miten ulkoinen kehitys toimii ja lähtee käyntiin. Tämä saattaa hieman erota riippuen siitä onko asiakkaalla sisäinen ohjelmistokehitystiimi vai ei. 


1. Tarpeiden kartoitus 

Ensimmäisenä ohjelmistokehityksen tarjoaja juttelee asiakkaan kanssa asiakkaan tarpeistavaatimuksista ja tavoitteista. Asiakas saattaa tarvita vain yksinkertaiset nettisivut, kokonaisen mobillisovelluksen tai kenties jatkokehitystä jo valmiiseen ohjelmistotuotteeseen. Mikäli kyseessä on jo kesken oleva projekti tai jatkokehitystä vailla oleva tuote, on ulkoisen tiimin kannalta tärkeää tietää millä kielillä ja teknologioilla tuote on tähän asti tehty, miten yrityksen sisäinen tiimi toimii ja miten tuote on rakennettu. Esimerkiksi suurin osa Web/Mobiili sovelluksista tehdään Reactilla tai React Nativella. Vähemmän nykyään käytettyjä kieliä ovat esimerkiksi Angular ja jQuery mutta näitäkin tulee usein vastaan vanhemmissa ohjelmistoissa. Jos tuote on tehty vanhemmilla, vähemmän käytetyillä teknologioilla tai kielillä voi ohjelmistokehityksen ostaminen olla vaikeaa ja kallista. Yleisesti käytetyt teknologiat kuitenkin vaihtelevat kokoajan koska uusia tulee jatkuvasti lisää. 

Mikäli olet aloittamassa uutta projektia auttaa ohjelmistokonsultointia tarjoava yritys mielellään sinua oikean teknologian valitsemisessa. Nykyään yleisimmin käytetty teknologia kotisivujen tekemisessä on React ja Mobiilisovelluksissa React Native. Nettisivuja ei kuitenkaan tarvitsee aina ohjelmoida kokonaan sillä on jo olemassa monia hyviä low code / no code ratkaisuja, kuten Wordpress tai Wix.

 


2. Sopimukset  

Riippuen hieman asiakkaan tarpeista ohjelmistotalot tarjoavat erilaisia sopimuksia, harvemmin kuitenkaan urakkasopimuksia. Lähes kaikki ohjelmistotalot toimittavat ennen sopimuksen tekemistä tarjouksen, jossa on aika- ja hinta-arvio projektille eriteltynä osa-alueisiin.


Suosituimmat sopimusmallit ovat määräaikaisia tai jatkuvia. Määräaikaisella sopimuksella asiakas ostaa ohjelmistokehitystä tietyn tuntimäärän verran ja jatkuvalla sopimuksella yleensä tietyn määrän ohjelmistokehitystä per kuukausi. Jatkuvat sopimukset toteutetaan yleensä niin, että ohjelmoija tukee asiakkaan ohjelmistokehitystiimiä ja toimii osana heidän asiakkaan IT-osastoa. 

Saucesoftin lisäksi muutama ohjelmistotalo tarjoaa Suomessa myös liukuvia sopimuksia, jotka voivat olla määräaikaisia tai jatkuvia. Tällöin sopimuksessa määritellään kuukausittainen minimi- ja maksimituntimäärä ja mahdollisesti sopimuksen kokonaiskesto. Tämä malli on joustava vaihtoehto asiakkaalle jos tuotetta kehitetään pidemmän aikaa ja kehityksen aikana tuotetta halutaan testata loppukäyttäjillä ja kerätä dataa. Asiakkaalla on kuitenkin myös tämän ajan ohjelmoijia tukemassa ja kehittämässä tuotetta.



3. Suunnittelu

Sopimus saattaa olla kaksiosainen, jossa UI/UX eli projektin visuaalinen suunnitelma tehdään ensin ja toiseksi vasta projektin tekninen toteutus. Yleensä tällaisessa sopimuksessa UI/UX on saatettu myydä urakkana, joten asiakas voi tehdä haluamansa määrän muutoksia UI/UX suunnitelmaan ennen ohjelmoinnin aloittamista. UI/UX suunnitelmassa näkyy selkeästi, miltä tuleva toteutettava ohjelmisto näyttää ja kaikki sen ominaisuudet. UI/UX suunnitelman lisäksi projektin ensimmäiseen osaan voi kuulua flowchartin (ehkä tutummin blueprintin) tekeminen, etenkin jos kyseessä on uusi ja iso projekti.




4. Toteutus

Suunnitellun jälkeen alkaa ohjelmiston toteutus, tässä vaiheessa ohejlmistokonsultit tekevät työtä ja ohjelmistosi alkaa valmistua hiljalleen. Tässä vaiheessa hyvä ja selkeä yhteydenpito asiakkaan ja ohjelmistokehitysyhtiön välillä korostuu, jottei väärinkäsityksiä synny ja projekti saadaan pidettyä aikataulussa. Jotta projektin aikainen toteutus sujuu mahdollisimman hyvin kannattaakin jo mahdollisesti sopimusta tehdessä sopia muutama tapaaminen kehityksen aikana. 

Ohjelmistokehitys ja etenkin suurten ohjelmistojen toteuttaminen voi olla painajaismaista jos yhteistyö asiakkaan ja ohjelmistotalon välillä ei toimi syystä tai toisesta. Sopimukset ja tapaamiset sisältävät yleensä paljon muutakin ja tämä oli vain lyhyt kuvaus siitä, miten yhteistyön aloittaminen yleensä toimii.