Kohdenna ohjelmistokehityksen resurssit viisaasti
Kirjoittanut Raine Kelkka
Kaikkien tuntema Facebook on luonut käyttäjilleen merkityksellisen palvelun, joka skaalautuu massiivisiin käyttäjämääriin, pystyy edelleen säännöllisesti innovoimaan ja tuottamaan uusia ominaisuuksia takoen ohessa sievoisen tuloksen. Miten tämä on onnistunut ja mitä mekin voimme oppia siitä?
Tutustuin taannoin Kent Beckin esitykseen Facebookin tuotekehitysprosessista. Yhtenä keskeisenä havaintona oli, että kaaottiselta näyttävä ohjelmistokehitysprosessi muodostuikin kolmesta luonteeltaan erilaisesta tuotekehitysvaiheesta. Projektit noudattavat kypsyysasteensa mukaan kerrallaan yhtä niistä. Menestyvä idea kulkee lopulta koko polun läpi ja kestämättömät ideat tippuvat pois mahdollisimman nopeasti. Tästä hahmottui 3X-malli:
- eXplore: tutkimusvaiheessa tehdään paljon pieniä kokeiluja, joiden tavoitteena on löytää monien hullujenkin ideoiden joukosta merkittävä läpimurto
- eXpand: kun suosittu idea lähtee rakettimaiseen kasvuun, keskitytään ratkomaan mm. skaalausongelmia kaikin mahdollisin keinoin
- eXtract: lopuksi toimivaksi todistetusta ideasta otetaan hyöty irti hallitusti pienellä riskillä optimoiden sekä ylläpidetään kykyä jatkaa tuotteen kehittämistä maksamalla teknistä velkaa ja kehittämällä infraa
Jokaisella vaiheella on omat periaatteensa, jotka eroavat niin projektinhallinnan, ohjelmistokehitysmenetelmien, rahoituksen kuin henkilöstön osaamistarpeiden osalta. Kokonaisuutena toimiva ketju on hallittava tarkasti. Noudattamalla vääriä periaatteita väärässä vaiheessa ajautuu nopeasti pulaan.
Mutta emme ole Facebook
Harvalla organisaatiolla on resursseja noudattaa Facebookin esimerkkiä tehdä ensin nopeasti ja korjata vahingot myöhemmin. Nopeasti kyhätyn koodin ylläpito on kallista ja saattaa kärjistyessään jopa estää jatkokehityksen. Rajallisten resurssien tehokas käyttö edellyttää, että kulloisenkin ohjelmistotuotteen tarpeet tunnistetaan oikein.
Siinä missä täysin uusi tuote voi hakea alussa suuntaa monien nopeiden kokeilujen siivittämänä, kriittinen ja pitkään käytössä ollut tuote edellyttää harkitumpaa kehitystä. Oikean lähestymistavan löytää vastaamalla kysymykseen, paljonko on menetettävää: riskittömiä ja edullisia kokeiluja voi tehdä useita kun taas kalliiseen ja vaikeasti korjattavaan mokaan ei ole välttämättä varaa kertaakaan.
Kohti onnistuneita ohjelmistoprojekteja
Onnistunut lopputulos saavutetaan käyttäen harkitusti kulloinkin sopivia menetelmiä. Yksi ja sama prosessi ei ole paras jokaiseen kehitysvaiheeseen ja niukat ohjelmistokehitysresurssit kannattaa kohdentaa viisaasti.
Alussa tarpeettoman raskas kehitysprosessi hidastaa kypsymättömän idean kehitystä liikaa. Kenties tällöin onkin paras toteuttaa aluksi ongelmakenttää tutkiva projekti. Sen avulla usein saadaan kiteytettyä ongelmaa, löydetään alustavia ratkaisuja havaittuihin ongelmiin, käyttäjien tarpeisiin ja toimintaympäristöön sekä luodaan raamit kokonaiskehitykselle.
Toisaalta varsinkin vuosikymmeniä palvelevan sovelluksen kehittäminen on tärkeä tehdä alusta lähtien laadukkaasti, jotta ei ajauduta ongelmiin jatkokehityksessä. Muutokset niin liiketoiminnan, ympäristön kuin käyttäjien tarpeissa asettavat vaatimuksia pitkän elinkaaren tuotteelle ja siksi sen on oltava jatkuvasti kehitettävissä. Tuotekehityksen kustannuksista lähes kaksi kolmasosaa on todettu kertyvän ylläpidosta ja tästä yli puolet kuluu uusien ominaisuuksien kehittämiseen.
Monadilla uskomme, että ohjelmistoa voidaan kehittää hallitusti pienissä paloissa, jolloin se on keskeneräisenäkin aina valmiina. Laadukas ohjelmisto tuottaa arvoa pitkään, kun se tehdään kestävän ohjelmistokehityksen periaatteita noudattaen.
Lisätietoja
Tagit
Liiketoimintaprosessi
Laatu, turvallisuus ja ympäristö | |
Projektinhallinta | |
Tuotekehitys ja suunnittelu |
Erikoisosaaminen
Arkkitehtuuri |
Tarjonnan tyyppi
Konsultointi |
Monad - Asiantuntijat ja yhteyshenkilöt
Monad - Muita referenssejä
Monad - Muita bloggauksia
It- ja ohjelmistoalan työpaikat
- Netum Group Oyj - Kokenut integraatioasiantuntija
- Laura - Integration Engineer
- Laura - Configuration Management Engineer
- Netum Group Oyj - Oracle-taitoinen ohjelmistokehittäjä
- Netum Group Oyj - AI-arkkitehti tai kehittäjä GenAI-painotuksella
- Laura - Senior IT Systems Engineer – Core Infrastructure Services
- Laura - ICT-arkkitehti: ICT-yksikkö, Joensuu (id8937)
Premium-asiakkaiden viimeisimmät referenssit
- Etteplan - Pitkäjänteinen kumppani kehittämään moderni ERP-järjestelmä JIS-Automationin tarpeisiin
- Etteplan - Tarkan paikannuksen kehittäminen vauhdittaa Kalmarin tutkimusprojektia – apuna Etteplan Rugged Evaluation Platform
- Advania Finland Oy - Virtuaalinen työpöytäratkaisu paransi Keusoten loppukäyttäjäkokemusta ja vähensi IT-kustannuksia
- Advania Finland Oy - Toimintavarma Genesys Cloud -asiakaspalveluratkaisu sopii hälytyskeskuksen vaatimuksiin
- Advania Finland Oy - Poikkeamaportaalin käyttöönotto paransi Skanskan rakennustyömaiden turvallisuudesta kerättävän tiedon määrää ja laatua
- Advania Finland Oy - Teknologian hyödyntäminen vie Pelicansin uusiin ulottuvuuksiin jäällä ja sen ulkopuolella
- Netum Group Oyj - Postin logistiikkajärjestelmän kehittäminen on Netumin osaavissa käsissä
Tapahtumat & webinaarit
Premium-asiakkaiden viimeisimmät bloggaukset
- Nordea - Kyberturvallisuusmatka Nordealla: Linda Milvin tarina
- Ready Solutions Oy - Mitä on luottoriskien hallinnan data-analytiikka?
- Nordea - Nordea x Women in Tech: Data ja Analytiikka Nordealla
- Timeless Technology - ControlByWeb - Web-pohjaiset "drop-in" ratkaisut etäohjaukseen ja -monitorointiin.
- Rakettitiede Oy - Sinustako Rakettitieteen konsultti?
- Rakettitiede Oy - Rakettitieteen arvot – no bullshit ja viisi muuta teesiä
- Etteplan - Väsymätön ja tarkka diagnostikko – koneoppiminen ravistelee terveydenhoitoa
Digitalisaatio & innovaatiot blogimediaBlogimediamme käsittelee tulevaisuuden liiketoimintaa, digitaalisia innovaatioita ja internet-ajan ilmiöitä |