5 myyttiä low-code-kehittämisestä

Ajankohtaista Kirjoittanut:
Low-code-kehittäminen on viime vuosina ratsastanut IT-trendien aallonharjalla. Isojen odotusten lisäksi siihen kohdistuu myös useita harhaluuloja ja väärinkäsityksiä.
Kaksi velhoa taistelee puukepeillä

Low-code-kehittäminen, eli sovellusten rakentaminen graafisilla editoreilla perinteisen ”raskaamman” ohjelmoinnin sijaan, on viime vuosina ratsastanut IT-trendien aallonharjalla. Myös Microsoft on kohdistanut merkittäviä tuotekehityspanostuksia Power Platform -tuoteperheeseen, minkä johdosta Gartner asetti syyskuussa julkaistussa Magic Quadrant -nelikentässään Microsoftin low-code-alustojen voittajien kulmaukseen. Low-code-teknologiaan kohdistuvien isojen odotusten lisäksi siihen liittyy myös useita harhaluuloja ja väärinkäsityksiä. Tässä jutussa listaan ja murran viisi (5) yleistä myyttiä, jotka tulevat säännöllisesti vastaan low-code-kehittämisen ja Microsoft-ekosysteemin kontekstissa myös Power Apps -ratkaisuihin liittyen.

 

Myytti #1: Low-code = kansalaiskehittäminen

 

Konsultti Kim istuu koneen ääressä ja hymyilee veikeästi kameralle

 

Modernit low-code-kehitysvälineet kuten Power Apps mahdollistavat kansalaiskehittämisen. Toisin sanoen yksinkertaisten appien rakentaminen ei tänä päivänä edellytä IT-ammattilaisen statusta taikka aiempaa kokemusta softakehittämisestä. Tämän lisäksi low-code-välineet tarjoavat hyvin paljon joustavuutta ja kontrollia vaativampien sovellusten rakentamiseen ammattilaisten käsissä. Joissain tapauksissa Power Platformin editorit alkavat tänä päivänä näyttää hyvinkin paljon perinteisiltä softakehittimiltä työkalujen ilmaisuvoiman kasvaessa. Esimerkiksi monet Digital Illustratedin toimittamat transformaatioprojektit ovat esimerkkejä, ei niinkään kansalaiskehittämisestä, vaan vaativien yritystason ratkaisujen kehittämisestä, joissa toimimme tiiviissä yhteistyössä asiakasorganisaation liiketoiminnan kanssa sovellusten rakentamisessa.

 

Myytti #2: Low-code soveltuu vain yksinkertaisten paikallisten appisten tekemiseen

PowerApps logo

Kansalaiskehittäjän tekemät sovellukset eivät yleensä ole laajuudeltaan suuria. Esimerkiksi yksinkertaiseen, määrämuotoiseen tiedon keruuseen voi nopeasti luoda sähköisen lomakkeen ja tallennuspaikan ilman tarvetta integroida dataa muihin järjestelmiin. Mutta samaan aikaan Power Apps -, Power Automate – ja Dataverse-työkaluilla voidaan vastata hyvinkin monimutkaisiin vaatimuksiin siten, että ratkaisut ulottuvat usean eri liiketoimintaprosessin yli, tarjoavat monipuolista automaatiota ja hyödyntävät komplekseja tietomalleja. Josta päästänkin seuraavaan myyttiin:

 

Myytti #3: Low-code on helppoa, ohjelmointi vaikeaa

Fx-funktiokoodausta Power Apps käyttöjärjestelmässä
(kuvan lähde: https://www.strategy365.co.uk/power-fx-coming-to-model-driven-power-apps-and-dataverse/)

Low-code voi olla helppoa, mutta myös hyvinkin vaativaa. Kehitysväline itsessään ei tee kehittämisestä helppoa vaan vaikeusaste tulee ennen kaikkea ratkaistavan ongelman monimutkaisuudesta. Jos toiminnallisten vaatimusten kompleksisuus on korkea, vaaditaan kehittäjältä korkeampia analyyttisia, konseptuaalisia ja loogisia taitoja sekä kokemusta näiden soveltamisesta liiketoimintaprosessien digitalisoinnin kontekstissa (kehitysvälineestä riippumatta). Mutta silloinkin, kun kehittämisen kompleksisuus edellyttää kokeneen ”App-Makerin” työpanosta, low-code ja Power Platform voivat merkittävästi lisätä ketteryyttä ja kehittämisen nopeutta verrattuna täysin räätälöityyn kehittämiseen, jossa ratkaisut tuotetaan suuressa määrin ”tyhjästä”.

 

Myytti #4: Low-code ja ”pro-code” ovat joko tai

Kaksi velhoa taistelee puukepeillä

Yksittäisten vaatimusten tapauksissa  on tehtävä valintaa toteutustapojen suhteen, jolloin esim. Power Apps ja räätälöidympi web-ohjelmointi voivat olla selkeästi kilpailevia vaihtoehtoja. Toisaalta kun tarkastellaan laajempia sovellusprojekteja kokonaisuudessaan, Microsoft-pilvialustojen tehokas valjastaminen edellyttää lähtökohtaisesti molempien lähestymistapojen aktiivista hyödyntämistä. Low-code ei ole patenttiratkaisu kaikkiin liiketoimintavaatimuksiin ja hyvin usein päädytään osa-alueille, joissa low-code ei yksinkertaisesti ole järkevä taikka edes mahdollinen vaihtoehto. Tyypillisiä osa-alueita, joissa projekteissa päädytään hyödyntämään usein Azuren kyvykkyyksiä ml. ”pro-codea”:

  • Kompleksi liiketoimintalogiikka ja vaativampi datan käsittely
  • Integroituminen taustatietojärjestelmiin, kun integraatioihin liittyy isompia datamääriä ja / tai vaativia muunnoksia
  • Kuluttajatason käyttäjäkokemusta organisaation loppukäyttäjille tarjoavat verkkosovellukset

Lisäksi esim. Power Apps tarjoaa tänä päivänä kehikon, jonka avulla ratkaisuja voidaan ”laajentaa” koodipohjaisesti esim. käyttöliittymän osalta, jos Power Apps itsessään ei tarjoa riittäviä käyttöliittymäkontrolleja. Low-code ja ”pro code” eivät ole joko tai, vaan sekä että, ja tehokkaimmat ratkaisut saavutetaan yleensä ns. ”fuusiotiimien” toimesta, joilla on kyky hyödyntää molempia.

 

Myytti #5 Low-code-kehittäminen ei edellytä muodollista sovelluskehitysprosessia

Prosessikuvaelma
(kuvan lähde: https://docs.microsoft.com/en-us/devops/what-is-devops)

Monelle päällimmäinen mielleyhtymä Power Appsista ovat ”pikku-appikset”, joiden toteuttamiseksi ei tarvita sovelluskehitysprosessia vaan ne ”vaan tehdään”. Yksinkertaisten sovellusten tapauksessa tämä voi hyvinkin pitää paikkansa. Mutta vaatimusten kasvaessa ja erityisesti yritystason liiketoimintakriittisempien ratkaisujen tapauksessa ”tehdään vaan” johtaa tuttuihin, perinteisiin IT-projektien sudenkuoppiin, kuten budjettien sekä aikataulujen pitämättömyyteen, laatuongelmiin, ylläpitohaasteisiin jne. Low-code itsessään ei poista tarvetta selkeille rooleille, kehitysprosessille taikka testaukselle, ja monessa tapauksessa low-coden mahdollistama sovelluskehityksen suurempi nopeus voi jopa entisestään nostaa tarvetta systemaattiselle vaatimusten hallinnalle, päätöksenteolle ja laadunvarmistukselle. Samoin liiketoimintakriittisempien sovellusten tapauksessa ylläpidon ja tuen tarve korostuvat, ja ne pitää huomioida jo kehitysvaiheessa mm. siten, että ratkaisut ovat dokumentoitu, noudattavat hyviä kehityskäytäntöjä, ja jatkokehittäminen ei ole liian henkilösidonnaista.

 

Yhteenveto

Low-code ei ole softakehityksen Graalin malja. Ja väärin ymmärrettynä sillä voidaan saada hallaa aikaan. Mutta kun low-codea hyödynnetään oikein ja lisäksi yhdistetään ”pro-codeen” hyödyntäen alan parhaita kehittämisen käytäntöjä, päästään merkittäviin tuottavuus- ja liiketoimintahyötyihin. Erinomaisena esimerkkinä tästä on Realian isännöinnin toiminnanohjauksen kokonaisvaltainen uudistus, jossa vain 6 kuukaudessa projektin aloituksesta oli uutta toimintatapaa tukeva kokonaisprosessi integraatioineen otettu käyttöön. Onnistumisen varmistamisessa ja sudenkuoppien välttämisessä on avuksi kumppani, jolla on kokonaisvaltainen osaaminen ja kokemus modernien pilviteknologioiden hyödyntämisestä konfiguroinnista koodiin.