Kuinka varmistat järjestelmäintegraation onnistumisen
IT-projektien epäonnistumisten taustalta löytyy usein haasteita sekä yllätyksiä uuden järjestelmän integroimisessa organisaation muiden järjestelmien kanssa. Haasteet ja yllätykset aiheuttavat kohonneita kustannuksia ja venyneitä aikatauluja, joiden syynä saattavat olla vaatimusten huono ymmärtäminen, riippuvuuksien tunnistamisen haasteet tai integraatioarkkitehtuurin ongelmat. Projektien onnistumisen varmistaminen vaatii osaamista, työtapoja sekä välineitä, jotka auttavat ratkaisemaan oikein edellä kuvatut haasteet aikaisessa vaiheessa.
Järjestelmäintegraatioiden merkitys
IT-projekteissa on yleensä tavoitteena vahvistaa organisaation liiketoimintaa kehittämällä uusia palveluita, parantamalla kustannustehokkuutta, hyödyntämällä tietoa tehokkaammin liiketoiminnan tukena tai luomalla aikaisempaa automatisoidumpia arvoketjuja. Tyypillisesti IT-projektin kustannuksista yli puolet muodostuu integraatioista, joilla uusi järjestelmä liitetään nykyisiin järjestelmiin sekä asiakaskanaviin. Järjestelmäintegraatiolla on siten merkittävä osa järjestelmäkehityksessä, ja sen systemaattiset työtavat auttavat osaltaan pienentämään projektien epäonnistumisen riskiä.
Erilaisia integraatioskenaarioita
Tyypillisesti integroitavana on joko valmisohjelmisto tai kehitettävä räätälöity sovellus. Molemmissa tapauksissa täytyy joko pystyä integroimaan kehitettävä järjestelmä olemassa oleviin järjestelmiin niiden tarjoamien teknisten mahdollisuuksien avulla tai pystyä tarjoamaan rajapintoja järjestelmään integroituville järjestelmille.
Hyvin suunnitellut järjestelmät integroidaan saumattomasti nykyisiin prosesseihin sekä järjestelmiin, jotta mahdollistetaan tiedon automaattinen siirtyminen eri työvaiheiden, ihmisten ja järjestelmien välillä. Järjestelmäintegraatio toteutetaan tyypillisesti hyödyntämällä järjestelmien ohjelmointirajapintoja (API), tapahtumapohjaisella integraatiolla (event driven) tai eräajotyyppisellä integraatiolla (batch).
API-rajapinnat mahdollistavat online-integraatiot ja tiedon reaaliaikaisen jakamisen järjestelmien välillä. Esimerkiksi asiakkaan tilin saldo haetaan reaaliaikaisesti pankin mobiilisovellukseen tai asiakkaan puhelinpalvelusta ostama tuote näkyy välittömästi hänen käyttämässään verkkopalvelussa.
Tapahtumapohjainen integraatio mahdollistaa tapahtumien julkaisemisen useille asiakkaille, jotka voivat hyödyntää dataa toiminnassaan. Käytännössä tämä voisi tarkoittaa sitä, että pankin tilijärjestelmä julkaisee asiakkaan tilille tulevat maksut reaaliaikaisesti, jolloin mainittuja tietoja voitaisiin hyödyntää esimerkiksi mobiilipankissa kertomaan asiakkaalle saapuneesta maksusta.
Eräajotyyppisillä integraatioilla on edelleen paikkansa, vaikka maailma on matkalla kohti reaaliaikaisempaa tiedon jakamista ja hyödyntämistä. Eräajoja voidaan hyödyntää edelleen esimerkiksi kirjanpitoaineistojen viemiseen talouden järjestelmiin kerran päivässä tai suurten datamassojen välittämiseen eri toimijoiden välillä.
Pilviteknologiat ja monitoimittajaympäristöt tuovat omat haasteensa ja erityispiirteensä integraatioarkkitehtuuriin. Näissä projekteissa yhdistetään usein perinteistä konesalia moderniin pilviteknologiaan ja joudutaan varautumaan hajautettujen ympäristöjen tuomiin haasteisiin.
Hallitun järjestelmäintegraation osa-alueet
Hallittu integraatio edellyttää seuraavien neljän osa-alueen huomioimista:
- Työtavat. Projektin kehittämismallien, suunnittelutapojen ja prosessien tulee olla systemaattisia, sujuvia sekä huomioida järjestelmäintegraation erityispiirteet ja ulkoisten sidosryhmien sitouttaminen aikaisessa vaiheessa.
- Organisoituminen ja osaaminen. Hankkeessa tulee olla oikein määritelty omistajuus, organisoituminen sekä tarvittava integraatio-osaaminen.
- Oikea tieto. Riittävä ymmärrys kokonaisuudesta, sen riippuvuuksista sekä työn laajuudesta. Integraatiotarpeet ja kustannukset keskiössä
- Teknologiat ja arkkitehtuuri. Integraatiossa tarvittavat työkalut, teknologiat ja integraatioarkkitehtuuri, joka määrittää integraation toimintatavat.
Budjetointi
Järjestelmäintegraation kompleksisuus ja työmäärä aliarvioidaan usein kehityshankkeiden alussa. Sen seurauksena tulee usein haasteita kehittämisen aikatauluissa ja budjetissa. Jollei kehittämisen riippuvuuksista ja tulevista integraatiotarpeista ymmärretä riittävästi, on hankkeen talous tuomittu epäonnistumaan.
Projektin riippuvuudet ja tarvittavat integraatiot on huomioitava jo suunnitteluvaiheessa, myös ketterissä toteutuksissa. Hallittu integraatio edellyttää projektin alussa tehtävää suunnittelua, johon tarvitaan mukaan kaikkien sidosryhmien edustajat. Ennen hankkeen aloitusta on oltava hyvä ymmärrys siitä, mitä ollaan tekemässä ja mikä on tavoite.
Integraatioprojekti epäonnistuu harvoin valittujen työkalujen tai teknologioiden vuoksi. Sen sijaan epäonnistumisten taustalla on usein huono riippuvuuksien ymmärtäminen sekä siitä seuraavat yllätykset ja resurssihaasteet kehittämisen aikana. Käytännössä tämä voi tarkoittaa sitä, ettei kaikkia ulkopuolisia tiimejä saada tekemään projektin edellyttämiä toimenpiteitä sen vaatimassa aikataulussa. Huolellinen suunnittelu auttaa hallitsemaan tällaisia riskejä.
Kehittämisen laajuuden hallinta on tärkeää
Jotta IT-projektin ja sen vaatiman järjestelmäintegraation suunnittelu ja toteutus onnistuu, on toteutettavan järjestelmän riippuvuudet pystyttävä tunnistamaan aikaisessa vaiheessa ja projektin laajuus on kiinnitettävä yksiselitteisesti. Erityisesti vanhoja järjestelmiä uudistettaessa on tiedostettava, että harvoin voidaan uudistaa kaikkea kerralla. Uudistamisen laajuuden rajaaminen on tärkeässä roolissa ja päätetyistä rajauksista on tärkeä pitää kiinni. Ketterään ajatteluun kuuluu, että kokonaisuutta laajennetaan ja uudistetaan iteratiivisesti vaiheittain, eikä heti alussa yritetä kehittää liian isoa kokonaisuutta.
Sinua saattaisi kiinnostaa
- Järjestelmäintegraatiot ja integraatioarkkitehtuurin suunnittelu
- Arkkitehtuurin suunnittelu
- Tiedonhallintamalli ja kokonaisarkkitehtuuri käytännönläheisesti
Sakari Olli
Sakari toimii Enterprise arkkitehtina OP Ryhmässä. Hän vastaa vähittäispankin kokonaisarkkitehtuurista ja hänellä on yli 20 vuoden kokemus erilaisista rooleista kokonaisarkkitehtuurin ja ICT-kehittämisen alueilla. Sakari toimii Tieturin yhteistyökumppanina kokonaisarkkitehtuurin, sovellusarkkitehtuurin ja integraatioteknologioiden alueilla.