Valmis sovellus jopa 80 % nopeammin SC Softwaren sovelluskehitysalustalla low-codea ja perinteisiä menetelmiä yhdistäen 

SC way to develop software

Digitalisaatiosta odotetaan ratkaisua liiketoiminnan tiukentuviin tuottavuusodotuksiin kaikilla toimialoilla. Liiketoiminnan järjestelmiltä odotetaan korkeaa suorituskykyä, tietoturvaa ja käytettävyyttä sekä joustavaa kehitysprojektia ja käyttöönottoa, mutta maltillisella kustannuksella.

Ohjelmistopalvelujen kova kysyntä sekä IT-alan kiihtyvä kilpailu ovat saaneet softatalot etsimään tehokkaampia ratkaisuja ohjelmistokehitykseen; on kehitetty parempia ohjelmointikieliä, -ympäristöjä, menetelmiä ja työkaluja, teetetty työtä ulkomailla sekä rekrytoitu lisää seniorikehittäjiä.

Vaikka kehitystä tapahtuu jatkuvasti, monien IT:n ostajien kokemukset ovat silti tyypillisiä: valmiit SaaS-tuotteet eivät vastaa omia tarpeita, ja perinteisen ohjelmistokehitysprojektien hinta ja aikataulu venyvät jatkuvasti alkuperäisistä arvioista. Näkyvyys kehitystyöhön on olematonta, mikä voi johtaa kalliisiin muutoksiin ohjelmiston käyttöönoton jälkeen. Lisäksi ohjelmiston lopputuloksen laatu on usein pettymys tilaajalle.

Koodittomuus nousussa – ratkaiseeko se softakehityksen ongelmat?

Yksi yleistyvä ohjelmitotuotannon kehityssuunta Rapid Application Development (RAD) -lähestymistapaan kuuluvat koodittomat (no-code) tai vähäkoodiset (low-code) sovelluskehitysalustat. Niiden avulla ohjelmistoja rakennetaan visuaalisilla elementeillä koodin kirjoittamisen sijaan. Koodittomat metodit kehittyvät ja kypsyvät kovaa vauhtia; vielä muutama vuosi sitten mm. Gartner puhui High Productivity Application Platform -palveluista (hpaPaas), mutta on sittemmin 2023 Gartner Magic Quadrant for Enterprise Low-Code Application Platforms -raportissaan päivittänyt termejään, puhuen nyt ”Enterprise Low-Code” -alustoista.

Low-code/no-code-alustoilla pyritään nopeaan räätälisovellusten kehittämiseen ja käyttöönottoon korottamalla sovelluskehityksen abstaktiotasoa ja minimoimalla ohjelmointityön määrää. Alustoilla on myös pyritty parantamaan lopputuotteen osuvuutta antamalla käyttäjien rakentaa sovelluksensa itse, ilman ohjelmistotalon väliintuloa.

Siinä missä täysin koodittomat alustat ovat usein suunnattu koodaustaidottomille kansalaiskehittäjille, enemmän teknistä osaamista vaativat low-code-työkalut ovat yleensä ammattilaiskäyttöön tarkoitettuja. Näillä enterprise low-code-alustoilla generoidaan sovelluskoodia esimerkiksi toimialakohtaiseen tietomalliin (domain-specific modeling, DSM) perustuen, ja generoidun sovelluksen kehitystä voidaan jatkaa manuaalisesti koodaten. Tarkoituksena on siis lisätä ammattilaiskehittäjän tuottavuutta, antaen samalla vapauksia sovellusten laajempaan räätälöintiin.

No-code/low-code-alustat ovat saaneet myös kritiikkiä. Etenkin no-code-alustoilla koodin manuaalinen editointi on usein hyvin rajoitettua, jolloin ne soveltuvat lähinnä yksinkertaisten täsmäsovellusten tekoon. Alustojen tarjoamat sapluunat kattavat yleisimmät bisnesprosessit, mutta monipuolisempia työnkulkuihin, integraatioihin tai analytiikkaan ne eivät taivu. Monesti äärimmäistä nopeutta ja helppouta lupaavat alustat vaativat myös enemmän teknistä osaamista, kuin niiden markkinoinnissa annetaan ymmärtää.

Low-code ja no-code-alustat poistavat siis monia perinteisen sovelluskehityksen ongelmia tekemällä kehityksestä intuitiivisempaa, tuomalla substanssiosaajat sovellusten rakentajiksi ja vähentämällä ohjelmoinnin määrää. Alustojen puutteellisuuksista johtuen on kuitenkin edelleen yleistä toteuttaa vaativammat liiketoiminnan järjestelmät yhdessä asiantuntevan ohjelmistotoimittajan kanssa. Toimittaja voi kuitenkin hyödyntää enterprise low-code-alustoja onnistuneesti omassa toiminnassaan, tuoden sen hyödyt myös asiakkaan saataville.

Automatisointi ja manuaalinen koodaus yhdistyvät sulavasti SC Softwaren sovellustuotannossa

Sekä perinteisissä, että lähes huippuunsa asti automatisoiduissa sovelluskehityksen menetelmissä on omat hyvät ja huonot puolensa. Olemmekin SC Softwarella lähestyneet ongelmaa valitsemalla molempien tapojen parhaat puolet ja kehittämällä niiden ympärille oman SoulGen-ohjelmistotuotantoalustamme. Kun asiakas haluaa tietynlaisen järjestelmän, mallinnamme sen sisältämät käsitteet sovellusmalliksi, jonka pohjalta generoimme toimivan perussovelluksen. Mallinnuksessa hyödynnämme määrittelemäämme toimialakohtaista kieltä (domain-specifin language, DSL), johon olemme valikoineet yleisiä, kaikissa järjestelmätoimituksissamme toistuvia sovelluksen rakenteita ja toiminnallisuuksia. Jatkamme tästä sovelluksen kehittämistä manuaalisesti asiakkaan tarpeiden mukaisesti. Liian pitkälle automatisointi vie lopputulosta usein vain kauemmas asiakkaan tarpeesta.

SoulGen-alustamme on verrattavissa enterprise low-code-alustoihin, mutta käyttölisenssien myymisen sijaan käytämme sitä oman tuottavuutemme nostamiseen ohjelmistoja rakennettaessa. Tällä tavoin standardoimme ja nopeutamme ohjelmistotoimituksiamme, mikä näkyy asiakkaillemme lopputuloksen laadukkuutena sekä aikataulun ja budjetin pitävyytenä. Samalla pystymme toimimaan täyden palvelun kehityskumppanina, joka pitää huolta järjestelmien tietoturvasta, toimivuudesta, ylläpidosta, ajoalustoista ja muista teknisistä asioista, joihin asiakkaat eivät yleensä halua käyttää aikaansa.

Tietomallista generoidaan toimiva sovellus, jonka kehittämistä jatketaan käsin koodaamalla 

Teknologiaamme on helppo ajatella vain uusien räätälisovellusten tuottamisen kautta, mutta käytännössä se istuu hyvin myös legacy-järjestelmien uudistamiseen (katso esimerkiksi Teollisuusliitolle toimittamamme hanke), laajojen tehtäväkriittisten järjestelmäkokonaisuuksien toteuttamiseen, olemassa olevien järjestelmien laajentamiseen tai tuoteinnovaatioiden nopeaan kehitykseen ja markkinoille vientiin. Näin pystymme ketterään toimintamalliin, jossa kaikki edellä mainitut palvelut ovat osa tarjoamaamme. 

Alusta taklaa organisaatioiden muuttuvia digitarpeita – nyt ja tulevaisuudessa 

Laura Fadjukoffin SC Softwaren kanssa yhteistyössä tekemässä diplomityössä verrattiin toimialakohtaisen mallinnuksen ja perinteisen ohjelmointityön tehokkuutta sovelluskehityksessä. Case-tutkimuksen lopputuloksena todettiin, että sovelluksen tuottaminen mallista generoimalla vei jopa 80 % vähemmän kokonaisaikaa verrattuna samanlaisen sovelluksen käsin ohjelmointiin. Tutkimuksen mukaan työaikaa säästyi erityisesti tietokannan luomisessa, sovelluslogiikan ohjelmoinnissa ja käyttöliittymän muokkauksessa. Vaikka tutkimus oli vain yksi case-esimerkki, jota ei sellaisenaan voi yleistää jokaiseen projektiin, sen tulokset antavat kuitenkin jonkinlaista osviittaa teknologiamme tuottamasta ajansäästöstä. 

Oma filosofiamme ei kuitenkaan perustu äärimmäiseen nopeuden tavoitteluun, vaan asiakkaan tarpeiden täyttämiseen annetuissa raameissa. Teknologiamme mahdollistaa sen, että projektibudjetista suurempi osa voidaan käyttää ns. korkeamman lisäarvon työhön rutiinikoodaamisen sijaan, tarkoittaen esimerkiksi prosessien ja käytettävyyden hiomista, laajempaa päätelaitetukea tai parempia raportointivälineitä.  Ajansäästön lisäksi olemme havainneet muitakin kehitysalustamme tuomia etuja:

  • Pystymme tarkempaan arvioon projektiin käytetystä ajasta ja resursseista, jolloin antamamme budjetti- ja aikatauluarvio on kohdillaan lähes kaikissa toimituksissamme. 
  • Asiakas ymmärtää sovelluskokonaisuutta paremmin nähdessään visuaalisen mallinnuksen ja siitä generoidun sovelluksen. Määrittelyjä päästään tarkentamaan jo aikaisessa vaiheessa, jolloin tulevaisuuden korjaustarpeet vähenevät. 
  • Koodi on aina yhdenmukaista ja laadukasta, sillä sitä on testattu kaikissa toimitusprojekteissamme. Lisäksi alustaa kehitetään jatkuvasti eteenpäin. 
  • Jatkokehitämme järjestelmiä samalla teknologialla, ja muutostyöt ovat nopeita toteuttaa mallia editoimalla.  
  • Generoitu sovellus on tavallinen monikerrosarkkitehtuuria noudattava järjestelmä, jota voi kehittää eteenpäin perinteisinkin menetelmin. Näin asiakas välttyy vendor lock-in tilanteelta. 

SoulGen-alustamme tarjoaa myös monia tulevaisuuden mahdollisuuksia. Organisaatioiden toiminta vaatii yhä enemmän tietoon perustuvaa johtamista, ja siksi toiminnasta kerääntyvää dataa on oltava mahdollista yhdistellä, analysoida, jakaa, rikastaa ja puhdistaa monipuolisesti. Olemmekin tunnistaneet teknologiamme kyvykkyyksiä muun muassa valmiiden API-rajapintojen, räätälöityjen masterdatan hallintaratkaisujen sekä erilaisten BI-tietovarastojen ja niiden käyttöliittymien toteuttamiseen kehitysalustaamme hyödyntäen. Näin teknologiamme tukee liiketoiminnan ydinprosessien digitalisoinnin lisäksi ydindatan hyödyntämistä eri käyttötarkoituksiin – yli järjestelmärajojen. 

Asiakkaan tyytyväisyys ratkaisevaa

Kaikissa sovelluskehityksen tavoissa on omat hyvät ja huonot puolensa. SoulGen-teknologialla pyrimme vähentämään perinteisten sekä koodittomien menetelmien pullonkauloja, mutta minkä tahansa sovelluksen toteuttamiseen sekään ei sovellu. Osaavat ohjelmistokehittäjät ovat edelleen keskeinen voimavara järjestelmiemme toteuttamiseen sekä oman teknologiamme kehittämiseen. Lukuisat onnistuneet toimitukset ja asiakkailtamme saamamme palaute rohkaisee meitä eteenpäin tällä tiellä. Teknologia on meille työväline ja asiakkaidemme tyytyväisyys on se tärkein onnistumisen mittari.