Mahdollista parhaan ohjelmistoratkaisun löytäminen
Kirjoittanut Raine Kelkka
Reaalimaailman projekteissa käytetylle ajalle ja rahalle täytyy saada tuottavaa vastinetta. Kun ohjelmistotuotteen kehittämistä tehdään projektiluonteisesti, on tunnistettava, mitkä keinot mahdollistavat parhaiden ratkaisujen löytämisen ja mitkä estävät sen. Tarkoitus ei ole käyttää enempää resursseja vaan saada resursseista paras mahdollinen irti.
Tuotekehityksessä lopullinen tuote voi olla hyvinkin koukeroisen polun takana ja tarkkarajainen projekti ei tällöin sovellu. Usein projekteissa lyödään ensimmäisenä lukkoon aikataulut ja resurssit vaikka lopullinen tuote on vielä sarastava visio. Jos ei tiedetä kohdetta, on hyvin vaikea ennustaa matkan kestoa.
Laajojen kokonaisuuksien arviointi on vaikeaa ja riski aikataulusta lipsumiseen kasvaa. Jos etukäteen päätetystä aikarajasta pidetään kiinni väkisin, on projekti pakotettu tuottamaan jotain, mikä ei välttämättä vastaa lainkaan tarpeita.
Tuotekehityksen jakaminen pieniin askeliin, jotka keskittyvät tuottamaan aidosti arvokkaita ominaisuuksia, pienentää riskiä isosta pettymyksestä kovan deadlinen ääressä.
Ohjelmistokehitys on oppimisprosessi
Ohjelmistokehitys ei ole suoraviivainen valmistusprosessi vaan se muistuttaa enemmän oppimisprosessia. Oppiminen tapahtuu pienin askelin, kun reaalimaailman kokemuksesta havaitaan, miten toteutus vastaa arvioituun ongelmaan.
Ketterissä menetelmissä kehityksen ja palautteen välinen sykli pidetään lyhyenä, sillä mitä kauemmin palautteen saamiseen menee, sitä vaikeampi siihen on reagoida ratkaisusssa.
Kehityssyklin viiveen vaikutus tuotekehitykseen:
- Pieni viive ➡️ harha-askel saadaan korjattua nopeasti ➡️ mahdollistaa paljon kokeiluja ➡️ uskallus innovoida ➡️ löydetään parhaat ratkaisut jalostettavaksi lopulliseen muotoon.
- Suuri viive ➡️ harha-askel on kallis ➡️ rajoitettu määrä kokeiluja ➡️ pelko innovoida ➡️ otetaan varman päälle ja tyydytään pienimpään mahdolliseen riskiin.
Ketterät menetelmät eivät auta, jos sykli ideasta käyttökokemuksiin on liian pitkä suhteessa projektin elinkaareen. Vastaavasti iteratiivinen, eli pala palalta toteutusta jalostava, kehitysmalli ei auta, jos on keskimäärin yksi mahdollisuus saada ominaisuudet tehtyä allokoidun projektin puitteissa. Näin muodostuu väkisinkin vesiputous, jossa varovaisuus voittaa ja innovaatio katoaa.
Kehityssyklin lyhentäminen vähentää hukkaa
Varsinkin raskaalla ohjelmistoprosessilla idean vieminen koko tuotekehityspolun läpi formaaleista vaatimuksista hyväksyntätestauksiin on kallista. Tällöin heikosti arvoa tuottavien ratkaisuiden karsiminen mahdollisimman aikaisessa vaiheessa parantaa kokonaistehokkuutta.
Yksi tapa pyrkiä lyhentämään kehityssykliä on jakaa yksittäisten ominaisuuksien toteutusta eri vaiheisiin, jolloin tuotekehityksen paukut tuottaisivat mahdollisimman vähän hukkatavaraa.
Tällä ajatuksella olen mukaillut Kent Beckin 3x-mallia tuotekehityksen triathlonista:
- aluksi laaditaan useita ratkaisuja mahdollisimman kevyesti ja nopeasti
- seuraavaksi potentiaalisin ratkaisu laitetaan koetukselle ja yritetään kaikin keinoin tunnistaa mahdolliset ongelmat, jotka estävät sen toteutuksen
- toteutuskelpoiseksi arviotu ratkaisu toteutetaan projektissa käytettävän ohjelmistokehitysprosessin mukaisesti
Rohkea ideointi mahdollistaa oivallukset
Uutta ominaisuutta tehdessä voi vapaasti kokeilla kenties älyttömiäkin ideoita esimerkiksi käyttöliittymäprototyypeillä. Nopeallakin demolla voidaan saada ahaa-elämyksiä, jotka johtavat oikean ohjelmistoratkaisun äärelle.
Kustannus epäonnistumisesta pidetään pienenä kevyellä prosessilla ja nopealla palautteella. Kun kehittäjätkin osallistetaan ideointivaiheeseen, saadaan laajempi kirjo ajatuksia ja vältetään yhden suunnittelijan pullonkaula.
Potentiaalisen ratkaisun löydyttyä yritetään paljastaa mahdolliset loogiset puutteet tai ongelmat, jotka estäisivät sen käytön arvioidussa toimintaympäristössä. Jos kyseessä on esimerkiksi isoa datamäärää käsittelevä toiminto, se voidaan käytännössä toteuttaa prototyypin muodossa oleellisilta osin ja altistetaan arvioitua käyttöä vastaavaan kuormaan.
Tämän vaiheen tarkoitus on suhteellisen nopeasti joko validoida idean toteuttamiskelpoisuus tai hylätä se. Tavoite on karsia pois kalliit ja mahdolliset käytön estävät yllätykset tuotekehityksen loppupäässä.
Hyvin suunniteltu on ennustettavampi
Näiden vaiheiden jälkeen voidaan olla melko luottavaisin mielin, että valittu ohjelmistoratkaisu on hyödyllinen ja se toimii myös käytännössä. Seuraavassa vaiheessa on aika laatia toteutus huolellisesti ja viedä laadunvarmistuksen kautta tuotantoon. Varsinainen toteutus on ennustettavampi verrattuna tilanteeseen, jossa lopullista koodia ruvetaan tekemään tyhjältä pöydältä.
Lisätietoja
Tagit
Liiketoimintaprosessi
Laatu, turvallisuus ja ympäristö | |
Tuotekehitys ja suunnittelu |
Erikoisosaaminen
Arkkitehtuuri |
Toimialakokemus
Asiantuntijapalvelut |
Tarjonnan tyyppi
Konsultointi |
Monad - Asiantuntijat ja yhteyshenkilöt
Monad - Muita referenssejä
Monad - Muita bloggauksia
It- ja ohjelmistoalan työpaikat
- Laura - IT BUSINESS PARTNERING DIRECTOR
- Laura - Data Engineer
- Laura - Datainsinööri, tietohallinto
- Laura - Ohjaaja media- ja it-tiimi / oppisopimus
- Laura - Kesätyöpaikat IT-ala
- Frends iPaaS - Technical Community Manager
- Druid Oy - Myyjä - hunter-henkinen tekijä, joka saa tuloksia aikaiseksi!
Premium-asiakkaiden viimeisimmät referenssit
- Maxtech - Muonion kunta modernisoi työajanseurantansa Maxtechin järjestelmällä
- Identio Oy - Identio x Svenska litteratursällskapet i Finland - Täsmäosaamista modernin sisällönhallintajärjestelmän kehittämiseen
- Hellon - Redefining Digital Insurance for Vodafone
- Agenda Digital - Fican.fi WordPress-verkkosivut
- Red & Blue Oy - Taivalkosken uusi saavutettava ja erottuva verkkopalvelu
- Hion Digital Oy - Vauvan ja vanhemman matkassa – Verkkosovellus, jonka sisältö mukautuu elämäntilanteeseen
- Verkkovaraani Oy - Uudet kotisivut Talin ja Ruusulan keilahalleille
Tapahtumat & webinaarit
- 15.01.2025 - Datavastuullisuuden valmennus: hanki valmiudet vastuulliseen datan ja tekoälyn hyödyntämiseen
- 15.01.2025 - SaaS-klubi: Myyntivetoinen kasvu
- 23.01.2025 - Generatiivisen tekoälyn hyödyt liiketoimintajohtajalle
- 29.01.2025 - Modern toolchain and AI breakfast seminar with Eficode, AWS and HashiCorp
- 30.01.2025 - Suuri Rahoitusilta
Premium-asiakkaiden viimeisimmät bloggaukset
- Maxtech - Avainta TES -muutokset ja niiden hallinta: Näin Maxtech voi auttaa
- Vetonaula Oy - Windows 10:n tuen päättyminen: mitä yrityksesi tulisi tietää?
- SC Software Oy - Koodia ihmiseltä ihmiselle jo 10 vuotta
- Aveso Oy - Kestävää tulevaisuutta rakentamassa teknologian avulla – IFS ESG-työkalut integroituna järjestelmään
- Identio Oy - Web Applications: How We Build Minimum Lovable Products in 2025 – Launching the Product
- Kisko Labs Oy - Ideasta innovatiiviseksi ohjelmistoksi ja menestyväksi liiketoiminnaksi
- Timeless Technology - Tempmate dataloggerit äärimmäisten lämpötilojen mittaamiseen.
Digitalisaatio & innovaatiot blogimediaBlogimediamme käsittelee tulevaisuuden liiketoimintaa, digitaalisia innovaatioita ja internet-ajan ilmiöitä |