<img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1525762147722832&amp;ev=PageView&amp;noscript=1">

Modernien liiketoimintahaasteiden ratkaiseminen vaatii ketterää lähestymistä

Toimialaan katsomatta monet yritykset kokevat tällä hetkellä painetta digitalisoida toimintaansa yhä enemmän. Digitalisointi voi tarkoittaa datan parempaa hyödyntämistä, sisäisten prosessien tehostamista tai uudenlaisten palvelujen kehittämistä. Paine voi syntyä asiakkaiden kasvaneista odotuksista tai teknisesti edistyneemmistä kilpailijoista. Se voi johtua yksinkertaisesti myös siitä, etteivät nykyiset käytännöt ja ratkaisut enää palvele alkuperäistä tarkoitustaan.

Nämä liiketoiminnan haasteet ovat usein sellaisia, ettei niihin ole olemassa valmiita ratkaisuja, jotka voitaisiin vain poimia kaupan hyllyltä ja ottaa käyttöön. Sen sijaan ratkaisut löytyvät sovelluskehityksestä ja pilviteknologiasta, jolloin ne ovat uniikkeja, ketteriä ja skaalautuvia.

Jotta moderneja ratkaisuja kyetään luomaan, on myös sovelluskehityksen työskentelytapojen oltava moderneja ja ketteriä.

Mitä on ketterä ohjelmistokehitys?

Perinteinen toimintamalli sovelluskehityksessä, eli nk. vesiputousmalli, nojaa vahvasti ennakoivaan suunnittelutyöhön ja tarvemäärittelyyn. Varsinainen kehitystyö tehdään kokonaan suunnittelutyön pohjalta, jonka jälkeen edetään testauksen kautta tuotantoon ja ylläpitoon.
Vesiputousmallin suurin puute on se, että suunnitelma tehdään väistämättä vajavaisilla tiedoilla. Tämän vuoksi sen seuraaminen voi projektin edetessä muuttua haasteelliseksi tai jopa mahdottomaksi. Käytäntö on osoittanut, että modernit liiketoimintasovellukset ovat kokonaisuuksina niin monimutkaisia, että useimmat niihin liittyvät tekniset haasteet paljastavat todellisen luonteensa vasta kehitystyön aikana.

Ketterän sovelluskehityksen, Scrumin, lähestymistapa on toisenlainen. Sen keskiössä on jatkuva vuoropuhelu kehitystiimin ja liiketoimintaa edustavan tuoteomistajan välillä. Suunnittelu ja määrittely ovat edelleen tärkeässä asemassa, mutta kaikkea ei yritetä suunnitella etukäteen valmiiksi. Suunnitelma antaa suuntaviivat kehitystyölle, ja tarkempi määrittely tapahtuu vuoropuhelun kautta kehitystyön edetessä.

Ketterä ohjelmistokehitys Scrumilla soveltuu erinomaisesti digitalisaation eri poluille.
Ylätasolla voidaan sanoa, että modernin liiketoiminnan haasteet kyetään usein ratkaisemaan teknisesti monipuoliselle pilvialustalle (kuten Microsoft Azure) rakennetuilla sovelluksilla. Nämä sovellukset voidaan jakaa kolmeen kategoriaan, joista kukin edustaa digitalisaation yhtä polkua.
Toki digitalisaatiolla voi olla muitakin polkuja, mutta sovelluskehityksen kontekstissa nämä kolme ovat meidän kokemuksemme mukaan tyypillisimmät:

1. Sovellusten ja datan modernisointi

Sovellusten ja datan modernisointi käsittää sekä palvelun parantamisen että liiketoiminnan kannalta arvokkaan datan saattamisen paremmin hyödynnettävään muotoon.

Kun olemassa oleva työkalu halutaan modernisoida, on kyse luovasta prosessista. Kyse ei ole siitä, että sovellus vain siirrettäisiin sellaisenaan uuteen ympäristöön, jossa se on aiempaa paremmin saatavilla. Kyse on siitä, että koko sovellus keksitään uudelleen. Mikä on sovelluksen tärkein funktio? Miten sitä voidaan parantaa? Miten turvataan sen jatkokehitys?

Tätä luovaa prosessia ei ole järkevää kahlita liian tiukoilla ennakkosuunnitelmilla, vaan on jätettävä tilaa uusille ajatuksille. Syntyvien innovaatioiden arvo ja prioriteetti määritetään vuoropuhelussa kehitystiimin, tuoteomistajan ja käyttäjien välillä.

Tällä tavoin ketterät työskentelytavat jättävät tilaa luovuudelle, joka puolestaan mahdollistaa ennakko-odotusten ylittämisen ja parhaan mahdollisen ratkaisun luomisen käsillä olevaan liiketoimintahaasteeseen.

2. Liiketoimintaprosessin transformaatio ja digitalisointi

Tässä tapauksessa puhutaan erilaisten työvaiheiden muodostamasta prosessista, johon tyypillisesti osallistuu useampi eri henkilö. Hyvänä esimerkkinä tällaisesta voisi olla vaikka monimutkaisen teknisen tarjouksen muodostaminen osana myyntiprosessia.

Tämän kaltaisissa prosesseissa on tyypillistä, ettei niille ole organisaation sisällä yhtenäistä toimintamallia tai työjärjestystä, jolloin prosessi on henkilöriippuvainen, mahdollisesti tehoton ja altis virheille. Tällaista prosessia kyetään tehostamaan ja sen laatua parantamaan luomalla sovellus, joka yhtenäistää prosessin sekä siinä käytettävän datan.

Haasteeksi voi muodostua se, että ylhäältä annettuna tuleva uusi prosessi on sellaisenaan harvoin kenenkään mieleen. Tätä voi kutsua muutosvastarinnaksi, mutta pohjimmiltaan kyse on siitä, ettei vanhan prosessin omistajia ole kuultu uuden luomisessa.

Muutosvastarinta vältetään vuoropuheluun perustuvilla ketterillä työtavoilla. Tuomalla heti alussa kaikki osalliset saman pöydän ääreen ja ottamalla heidät mukaan yhtenäisen prosessin määrittelyyn kyetään löytämään raamit ratkaisulle, jonka kaikki voivat allekirjoittaa. Samalla vältetään prosessiuudistusten suurimmat sudenkuopat.

Tällä ei ole paljoakaan tekemistä teknisen sovelluskehityksen kanssa, kyse on ihmisten huomioimisesta ja tasavertaisesta dialogista.

3. Uusien palvelujen kehittäminen

Liiketoiminnan kehittäminen luomalla uusia palveluja on digitalisaation kuninkuuslaji. Se on myös sovelluskehityksen muodoista haasteellisin, koska siinä vaaditaan enemmän liiketoiminnallista ja teknistä visiota kuin kahdessa aiemmin mainitussa. Siinä piilee myös suurin riski hallitsemattomalle rönsyilylle ja tarpeettomalle monimutkaisuudelle.
Projektihallinnan näkökulmasta ollaan kuitenkin lähellä sovelluksen modernisointia: Dialogi tuoteomistajan ja kehitystiimin välillä ohjaa luovaa prosessia, varmistaen samalla nopean kehityssyklin.

Projektin paisumisen vaara vältetään hyvällä projektinhallinnalla, joka on yleensä pitkän kokemuksen seurausta. Hyvä Scrum Master auttaa tuoteomistajaa priorisoimaan innovaatioita ja hallitsemaan rönsyilyä.

Innofactor on kokenut ketterän ohjelmistokehityksen talo

Liiketoiminnan haasteiden ratkaiseminen räätälöityjen web-sovellusten avulla tehokkaasti ja nopeasti vaatii onnistuakseen:

  • Kumppanuutta, sitoutumista ja kykyä jalostaa jäsentelemättömästä ideasta toimivia ja jatkuvasti kehittyviä palveluja.
  • Toimivan teknisen alustan sekä osaamista hyödyntää alustan vahvuuksia tehokkaasti ja kustannustehokkaasti. (Azure)
  • Kykyä rakentaa sovelluksia ketterästi.

Voimme ylpeästi todeta, että meiltä Innofactorilla löytyvät kaikki nämä kompetenssit, eikä ohjelmistokehityksen osaamisemme ole suinkaan näistä vähäisin.

Vaikka sovelluskehityksessä käytettävät metodit ovat vain osa ratkaisua, ovat ne ehdottomasti kriittinen osa sitä. Vain avoimen dialogin ja yhteisten tavoitteiden kautta kyetään luomaan aidosti toimivia ja luovia ratkaisuja liiketoiminnan haasteisiin. Näkemykseemme näistä metodeista kuuluu myös se, että kehittäminen on jatkuvaa. Se ei pääty ensimmäiseen versioon.
Moderneja haasteita ei kyetä ratkaisemaan epämodernein keinoin – ainakaan nopeasti ja kustannustehokkaasti. Tämän vuoksi olemme sitoutuneet ketterään ohjelmistokehitykseen jatkuvana palveluna.

Aiheet: Azure, Digital Transformation, Pilvi-infrastruktuuri, hallinta, tietoturva, GDPR

16.6.2020


Jukka Asikainen

Software Developer

Kirjoittaja on pitkän linjan kehittäjä, joka on nähnyt valon Scrumiin pohjautuvassa ohjelmistokehityksessä.