29.04.2019

IT-projektin vaatimusmäärittely kerralla oikein

Hei,

Johannes tässä jälleen heiluttamassa kynän säilää, Arin olessa konsultointiprojektien syövereissä.

Haluan puhua hieman tietokannoista ja siitä, kuinka liiketoiminnan tulisi osallistua niiden kehittämiseen.

Alkuun heti varoituksen sana. IT-osaajille tässä kirjoituksessa on itsestään selviä asioita.

Meidän missiomme on kuitenkin kaventaa kuilua liiketoiminnan ja IT:n välillä, ja lukijoissamme on entistä enemmän myös liiketoiminnan edustajia. Joten bear with me.

Olen itse ns liiketoiminnan edustaja, eli en missään määrin sellainen tietokantojen asiantuntija, kuten moni teistä, hyvät lukijat.

Mutta silti kaltaisiani ihmisiä on firmat pullollaan, jotka tavalla tai toisella ovat vastuussa IT-järjestelmistä ilman ymmärrystä tietokannoista.

Kerron itselle suuresta oivalluksesta ja uskon että edustan myös muiden ”liiketoiminnan edustajan” tuntemuksia.

Kerron alkuun omakohtaisen esimerkin ongelmasta, jonka uskon johtuvan puutteellisesta tietokantasuunnittelusta.

Junalipun varaus netissä

Yritin taannoin varata junalippua Rovaniemelle. Halusin valita makuupaikkahyttiä kahdelle aikuiselle ja yhdelle viisivuotiaalle lapselle. Lapsen lisääminen lipulle ei kuitenkaan onnistu palvelussa.

Siinä on sivussa infolaatikko, jossa sanotaan, että kun olet varannut lipun, soita tähän numeroon. Sieltä lisäävät manuaalisesti lapsen lipullemme ja lähettävät uuden sähköisen lipun.

Soitin numeroon ja kysyin, että eikö tosiaan ole mahdollista tehdä tätä netissä. Ei kuulemma voinut. (btw, koiran lippuasiat hoituvat oikein hyvin…)

Kaikelle kunnioituksella VR:ää kohtaan, mutta tämä ongelma olisi voitu välttää suhteellisen helposti paremmalla tietokantasuunnittelulla.

Nyt toimittaja on joutunut ”teippaamaan” jälkikäteen tuohon manuaalisen palvelun, jolla tämä hoidetaan.

Heillä on monopoli junaliikenteeseen, joten en voinut valita palvelua, joka toimisi hyvin.

Jos mietitään tilannetta, jossa on kilpailua, kuten verkkokaupat, niin asia on kriittinen; kuluttaja äänestää jaloillaan.

Kerron kohta miten tämä olisi voitu välttää. Mutta ensin lisää tietokannoista.

Miksi tietokannat ovat tärkeitä?

Kuten jokainen tietää, yrityksillä on käytössä lukuisia IT-järjestelmiä. On valmisohjelmistoja, kuten monet esim ERP-, CRM- HRM -systeemit.

Sitten on vino pino erilaisia webb-, mobiilisovelluksia ja muita verkkopalveluita. Näitä ovat juuri edellä mainittu lipunvarausjärjestelmä ja muut digitaaliset palvelut.

Lähes kaikissa näissä on sisällä ns relaatiopohjainen tietokanta (toki löytyy myös hyviä NoSQL-kantoja, mutta se on toisen kirjoituksen aihe). Myös tietovarastoissa on niihin suunniteltu tietokanta.

Datat talletetaan siis tietokantaan ja IT-järjestelmät tai verkkopalvelut toimivat niiden päällä. Tietokanta muodostuu lukuisista tauluista, jotka muistuttavat Exceliä.

Taulujen välistä yhteyttä kuvaa tietomalli. Siinä on määritelty mitkä tiedot liittyvät toisiinsa graafisen kaavion avulla, tiettyjen sääntöjen mukaan.

Esim lipunvaraussysteemin tauluissa on mm.  junavuoro, hytit ja paikat sekä varaus. Junavuoroon liittyy joukko hyttejä ja hyttin liittyy varaus ja niin edes päin, eli nämä tiedot liittyvät tietokannassa toisiinsa. Tai ainakin pitäisi liittyä.

Minä väitän, että tässä digitalisoituvassa maailmassa meidän liiketoiminnan edustajien tulee olla mukana tässä työssä.

Miksi, liiketoiminnan edustajat kysyvät?

No koska niitä kehitetään vain ja ainoastaan liiketoiminnan tueksi.

Vaatimusmäärittely on tärkeää

Tietysti me olemmekin tietokantojen määrityksissä mukana, tosin tietämättämme.

Kun lähdetään hankkimaan uutta järjestelmää ja tai kehittämään nykyisiä IT-järjestelmiä, tehdään aina vaatimusmäärittelyt yhdessä liiketoiminnan edustajien kanssa.

Tämä tehdään tyypillisesti kahdella tavalla.

Me  kuvaamme IT-ihmisille tietyn prosessin, esim taloudenhallinta-, toimitus-, rekrytointi-, ja myyntiprosessin.

VR:n tapauksessa kuvataan tietysti lipunvarausprosessi.

Prosessimallista ei kuitenkaan edetä suoraan tietokantaan, ne eivät ole yksi yhteen. Malli kuvaa prosessin, eli missä järjestyksessä asiat tapahtuvat, muttei tietojen välistä yhteyttä.

Vaikka prosessimallinnus olisi tehty kuinka hyvin, silti järjestelmään saattaa tulla pahoja puutteita.

IT-asiantuntija joutuu nimittäin tulkitsemaan ja päättelemään että miten prosessimalli muutetaan tietomalliksi.

IT-järjestelmien kehittämisessä ja hankkimisessa tarvitaan myös käyttötapausten kuvaamista, koska IT-järjestelmillä on erilaisia käyttäjäryhmiä sekä niillä tehdään useita asioita.

Yksi käyttötapaus on se, että lapsiperhe yrittää valita makuupaikan yöjunasta.

Jälleen IT-asiantuntija joutuu pähkäilemään, että mitä tämä käännetään tietomalliksi.

Vaatimusmäärittelyssä suositaan usein edellä kuvattuja menetelmiä, koska tietomallin rakentaminen koetaan haastavaksi liiketoiminnan kanssa.

Sitä se myös onkin. Mikä siis eteen?

Hyödynnä käsitemallinnusta liiketoiminnan kanssa

Kouluttajamme Alec Sharp kertoi tarinan, jolla hän pelasti yhden amerikkalaisen suuryrityksen SAP-hankkeen, joka oli menossa kiville.

Alec pyydettiin aikoinaan mallintamaan Pohjois-Irlannin rauhanprosessi, eli hän tuntee hyvin myös prosessimallinnuksen  äärimmäisen hyvin.

Alec on todellinen vaatimusmäärittelyn erikoismies. Itseasiassa olen ihan pokkana varastanut hänen ajatuksiaan tähän kirjoitukseen.

Hänen sotatarinassa ison SAP-projektin pelasti käsitemallinnukseksi kutsuttu menetelmä.

Kun Ari Hovilta kysyy, miksi hän on onnistunut niin monessa tietokantasuunnittelussa, vastaus on käsitemallinnus.

Mitä tämä mystinen käsitemallinnus tarkkaan ottaen on? Miten käsitteet liittyvät IT-järjestelmiin? Se ensinnäkin kuulosti minusta alkuun joltain filosofian osa-alueelta.

Olen lukenut yliopistossa myös tieteenfilosofiaa ja siinä tietysti puhutaan käsitteiden syvimmästä olemuksesta. Siitäkö on kyse?

Käsitemalli (conceptual data model) on oikeasti tietomallin ylempi taso.

Siinä puhutaan tosiaan vaan käsitteistä, jotka liiketoiminta ymmärtää. Kuten vaikkapa junavuorosta, makuupaikasta ja paikkavarauksesta.

Käsitteet yhdistetään toisiin kaaviossa, samaan tapaan kun tietomallissa. Se muistuttaa itse asiassa hieman mind mappiä, vaikka toimiikin eri tavoin.

Kuten sanottu tietomalleja on niiden teknisen muodon vuoksi liian hankala käyttää vaatimusmäärittelyssä liiketoiminnan kanssa.

Käsitemallinnus on puolestaan luotu siihen!

Hovi Data Framework – Conceptual data model re-invented

Ari on vienyt käsitemallinnuksen uudelle tasolle ja kehittänyt siihen tekniikan nimeltä Hovi Data Framework (HDF).

HDF on universaali ”kieli” jonka avulla liiketoiminta voidaan ottaa mukaan kehitystyöhön. Näin IT-järjestelmistä tulee juuri sellaisia, kun liiketoiminta haluaa.

Jos hankimme uuden IT-järjestelmän, käsitemallin avulla voimme kuvata aukottomasti toimittajalle millainen sen tietokannan pitää olla.

VR:n lipunvarausjärjestelmän valuvika olisi tukittu helposti. Olisi heti huomattu, että lapsi liittyy toiseen tai toisiin matkustajiin, joille halutaan varata lippu samalla kertaa.

Mikäli otamme käsitemallit ja HDF:n käyttöön, tuomme aivan uuden ulottuvuuden digitalisaatioon.

Se on ikään kuin kartta tai talon pohjapiirustus. Miettikää, jos kartan sijaan meillä olisi vaan suusanalliset ohjeet, että käänny tuosta oikealle ja sitten vasemmalle.

Me käytämme kuitenkin lähes aina graafista karttaa, koska se ei jätä sijaa tulkinnoille.

Me voisimme kuvata rakennuksen pohjaratkaisun myös proosan muotoon, eli että olohuoneesta toinen ovi oikealle on keittiön paikka.

Aika varmasti lopullisesta talosta tulisi erilainen kun ajateltiin, ellei tehdä pohjapiirrustusta.

Juuri tämä on koko HDF:n pointti: pohjapiirustukset ja kartta eivät jätä sijaa tulkinnoille.

Prosessimalli ja käyttötapaukset jättävät.

HDF-malli toimii ikään kuin käyttöliittymänä varsinaiseen tietokantarakenteeseen. Se kuvastaa tietokantaa täydellisesti, eli siitä voidaan suoraan edetä tietomalliin.

Se ei jätä tilaa tulkinnoille.

HDF:n avulla saamme siis hyvin nopeasti tehtyä vaatimusmäärittelyn heti ensimmäisissä istunnoissa liiketoiminnan kanssa.

Säästämme siten valtavan määrän aikaa, kun emme joudu iteroimaan ja vatuloimaan samaa asiaa tuhatta kertaa.

Juuri tähän olemme kehittäneet sovelluksen nimeltä Ellie. Ja voi pojat miten se toimii hyvin vaatimusmäärittelyssä yhdessä liiketoiminnan kanssa.

Tietokannat keskiöön

Hovi Data Framework ei ole vain menetelmä,  vaan se on filosofia ja ajattelutapa.

Sen keskeinen ajatus on se, että digitalisaatio edellyttää kollaboraatiota ja yhteistä kieltä osapuolten välillä (liiketoiminta, data engineer, arkkitehti yms). Ellien kehitys ja hyöty kulminoituu tähän.

HDF on joukko oppeja, menetelmiä sekä sapluunoita. Ari kertoo tulevissa blogeissa, miten vedetään workshop yhdessä liiketoiminnan kanssa sitä hyödyntäen.

Olen huomannut jännän asian. Moni IT-asiantuntija ei halua puhua minulle tietokannoista.

Jostain syystä niitä ei pidetä ”hienoina”, halutaan puhua data governancesta, masterdatasta  ja data-alustoista. Kaikki nämä kuitenkin liittyvät tietokantoihin oleellisesti.

Minulle kaikista näistä termeistä tuli heti ymmärrettäviä, kun minulle avattiin käsitemallinnuksen periaatteet sekä HDF.

Kun hyödynnämme Ellietä liiketoiminnan edustajien kanssa, aina tapahtuu sama: heidän silmät aukeavat, aivan kuten minulla.

Se on ikään kuin ikkuna salaiseen koodiin, mysteeriin jota vain IT-asiantuntijat ymmärtävät.

Suosittelen lämpimästi pyytämään IT:tä hyödyntämään käsitemallinnusta oli sitten kyseessä data-alusta, valmisohjelmisto tai verkkopalvelu.

Ja sitten loppuun disclaimer:  luonnollisesti HDF on vain yksi menetelmä muiden joukossa, eikä sillä ratkea kaikki maailman ongelmat.

Edelleen pitää kuvata prosesseja, arkkitehtuuria ja käyttötapauksia sekä paljon muuta.

HDF on kuitenkin loistava menetelmä, kun puhutaan nimenomaan tietokannoista sekä niiden kehittämisestä.

Ystävällisin terveisin,

Johannes Hovi

Ps. Yksi USA:n vaikutusvaltaisimmista data-asiantuntijoista Stephen Brobst tulee puhumaan datan kehittyneestä hyödyntämisestä. Kurssi soveltuu todella hyvin IT-osaajien lisäksi esimiehille ja liikkeenjohdolle.

Tarjoamme tämän nyt erikoishinnalla, eli kaksi osallistujaa yhden hinnalla!

Data Science, Artificial Intelligence and Advanced Practices in Data Visualization, 08.05.2019 – 09.05.2019

Tilaisuus on Sinulle, joka haluat tietää, miten Data Science ja tekoäly on muuttanut yhdysvaltalaisia yrityksiä peruuttamattomasti ja miten päästä mukaan tähän vallankumoukseen.

Teradatan CTO:n (Chief Technology Officer) ominaisuudessa Stephen Brobst ei ole vain tulevaisuuden tutkija tai pelkkä evankelista, vaan tuntee datan hyödyntämisen ratkaisut käytännön tasolla.

Koulutus soveltuu sekä dataosaajille, liikkeenjohdolle, controllereille sekä kaikille muille datan hyödyntämisestä kiinnostuneille.

Tutustu koulutukseen tästä

Saattaisit olla kiinnostunut myös näistä

Lähestymistapoja dataosaamisen kehittämiseen

Lue lisää

Tiedon elinkaari ja tiedonhallinta

Lue lisää

Tietovaraston paras arkkitehtuuri

Lue lisää