Blogi: Loihditaanpa Optimizely-portaali! Onnistuneen projektin salaisuutena ketterä tiimi ja hyvä tekniikkapäätös

Karkeasti jaotellen IT-universumissa tehdään järjestelmiä kahdella tavalla, joko rakentaminen aloitetaan täysin tyhjästä tai räätälöidään ja jatkokehitetään valmistuotetta. Sopivalla valinnalla voidaan säästää kehityskustannuksissa ja nopeuttaa kehitystyötä merkittävästi ja siten säästää osapuolten hermoja. Netumin ensimmäinen Optimizely-projekti onnistui yli odotusten niin tiimin kuin asiakkaankin mielestä.

Case: Maahanmuuttoviraston Tellus-maatietoportaali

Reilu vuosi sitten Maahanmuuttovirasto päätti, että Tellus-maatietojärjestelmä uusitaan. Tellus-portaali on pohjimmiltaan sisällönhallintajärjestelmä, joten päätimme toteuttaa portaalin ennakkoluulottomasti Optimizelyn (ent. Episerver) ympärille.

Ripeästi liikkeelle: ensimmäinen CMS-instanssi käynnissä viidessä minuutissa

Tellus-portaalin määrittelytyöt aloitettiin toukokuussa 2019, ja varsinainen koodaustyö alkoi elokuussa. Ensimmäinen prototyyppi perussisällönhallinnan kera oli pystyssä muutamissa päivissä. Kyllä, luit oikein: päivissä. Jos oikein tarkkoja ollaan, niin aivan ensimmäinen CMS-instanssi oli pyörimässä alle viidessä minuutissa - joskin se sisälsi vain portaalin Optimizely-perustukset eikä sellaisenaan ollut kovin käyttökelpoinen. Pyörän - tai sisällönhallinnan - uudelleenkeksimiseen ei kannata uhrata aikaa, joten kehitystiimi saattoi keskittyä uusiin, asiakkaan tarvitsemiin toiminnallisuuksiin.

”Optimizely on mahdollistanut kaiken, mitä hanketta suunniteltaessa on juolahtanut mieleen.”

Optimizely ei tietenkään suoraan sisällä kaikkia Maahanmuuttoviraston tarvitsemia toiminnallisuuksia. Se kuitenkin näytti joustavuutensa myös laajennettavuuden osalta, koska esimerkiksi Virtu-kirjautumisen ja räätälöityjen raporttien lisääminen osaksi portaalia oli suoraviivainen toimenpide. Tällaisten toiminnallisuuksien kehittäminen on vaatinut tietenkin aikaa, lukemattomia rivejä C#-koodia ja epäilemättä vielä enemmän kahvia, mutta niiden liittäminen osaksi portaalia ei olisi voinut olla juuri helpompaa. Loppukäyttäjän näkökulmasta kaikki toiminnallisuudet ovat saumattomasti yhtä kokonaisuutta ja käyttöliittymää.

Konsulttiarmeijan sijasta portaalin pystytti ketterä tiimi

Ketterään kehitystiimiimme kuului kaksi sovelluskehittäjää, käyttöliittymäsuunnittelija ja arkkitehtuuriin sekaantuva Scrum master. Lisäksi Netumin testaus- ja käytettävyysasiantuntijat ovat olleet mukana projektissa. Käytännön tekeminen ei siis vaatinut suunnatonta konsulttiarmeijaa, vaan portaali saatiin näppärästi pystyyn suhteellisen pienellä porukalla. Kaiken lisäksi aikataulussa. Jutussa esitetyt lainaukset ovat kehitystiimin kommentteja.

”Netumin asiantuntijoiden rautainen tekninen ammattitaito yhdistettynä hyvään palveluasenteeseen ja erityisesti monipuoliseen ja joustavaan työkaluun on tehnyt suunnittelusta ja kehittämisestä helppoa ja turvallista.”

Käyttöliittymä rakennettiin Angularilla

Kehitystiimimme propellihatut kokeilevat mieluusti uutta ja etsivät parhaat ratkaisut. Optimizelyssa on nykyään tarjolla helppokäyttöinen rajapinta sisältöjen käyttämiseen (Content Delivery API), joten päätimme hyödyntää sitä ja tehdä käyttöliittymän Angularilla. Pienen alkukankeuden jälkeen rajapinta hyrähti pyörimään ja bitit viuhuvat sen välityksellä loppukäyttäjän ruudulle. Sama rajapinta mahdollistaisi Optimizelyyn säilötyn sisällön hyödyntämisen esimerkiksi mobiilisovelluksissa ja muutoinkin portaali tarjoaa hyvät integrointimahdollisuudet kolmansien osapuolten palveluihin.

Viimeinen tuomio: käyttöönottohikka ei vaivaa uudistunutta Tellus-portaalia

Tuliterä portaali vietiin tuotantoon toukokuussa 2020. Muutamia viikkoja myöhemmin kuuluisat junan vessatkin lienevät jo mustasukkaisia, koska portaali on toiminut paremmin kuin hyvin. Normaalista käyttöönottohikasta ei ole ollut tietoakaan. Huolellisesta työstä ja testaamisesta huolimatta hetken epäilytti, että tilanne on liian hyvä ollakseen totta ja Yllättävä bugi™ odottaa kulman takana. Ei odottanut. Suuren kärpäslätkän saattoi palauttaa takaisin komeroon.

”Optimizelyssa parasta on luotettavuus. Järjestelmä on laajalti käytössä monissa organisaatioissa ja toteutetut palvelut ovat hyvin moninaisia ja erityyppisiä. Optimizely mahdollistaa erityyppisiä palvelun toteutusrakenteita, eikä sinällään tarvitse ottaa juurikaan huomioon järjestelmän mahdollisia rajoitteita palvelua suunniteltaessa.”

Portaalin tulevaisuus on niin ikään turvattu. Optimizely kehittyy jatkuvasti ja tarjoaa mahdollisuuksia ottaa käyttöön uusia toimintoja käyttötarpeiden muuttuessa. Käyttöönoton jälkeen portaaliin on jo tehty muutamia pienempiä ominaisuuspäivityksiä. Päivitykset ovat nopeita ja mahdolliset käyttökatkokset kestävät pahimmillaankin vain minuutin, joten päivityksistä ei käytännössä aiheudu haittaa käyttäjille.

Toteutettu ratkaisu on hyvin skaalautuva ja suorituskykyinen. Ennen käyttöönottoa portaaliin siirrettiin sisältö vanhasta, korvattavasta järjestelmästä. Määrällisesti puhutaan useista kymmenistä tuhansista dokumenteista. Optimizelyn sivuiksi muunnettuna ne jatkavat digitaalista elämäänsä ja ovat aiempaa helpommin käyttäjien haettavissa.

Jälkilöylyt: ensimmäinen Optimizely-projekti jätti hyvän fiiliksen

Kehitystiimistä vain yksi henkilö oli entuudestaan Optimizely-konkari ja tämä oli Netumin ensimmäinen Optimizely-projekti. Hyvästä tekniikkapäätöksestä kertoo se, että koko tiimi pääsi nopeasti Optimizely-työskentelyyn kiinni, vaikka hetkittäin Optimizely Worldia ja Stack Overflow’ta kahlattiin urakalla läpi. Kokemukset Optimizelysta ovat olleet myönteisiä niin kehittäjätiimille kuin Maahanmuuttovirastolle.

”Hankkeessa on kerätty runsain mitoin käyttökokemusta järjestelmästä ja sen mahdollisuuksista, ja voimme hyvillä mielin ja luottavaisesti suositella ja myös toteuttaa Optimizelylla muita asiakkaidemme tarvitsemia verkkopalveluita.”

Olisimme voineet rakentaa tarpeita vastaavan portaalin täysin tyhjästä ilman CMS-ydintä. Työtä ja aikaa se olisi kuitenkin vaatinut reilusti enemmän perustoiminnallisuuksienkin osalta. Hyvin suurella todennäköisyydellä portaali ei myöskään olisi vielä tuotannossa kehräämässä. Optimizely on ollut nappivalinta kaikin puolin.

Netum on muuten Optimizely-partneri. Mieluusti kuulisimme, millaisen portaalin voisimme teille tehdä ja missä haasteissa auttaa – meiltä löytyy varmasti ideoita.
Ota yhteyttä! 

Ville Viljanen
ville.viljanen(at)netum.fi

Kirjoittaja Ville Viljanen häärää Netumilla ohjelmistosuunnittelijana, toimii tässä projektissa Scrum masterina ja huolehtii, että asiantuntijoilla on edellytykset hyvään lopputulokseen.