Pino teknisiä kirjoja

Osaaminen on jatkuvaa oppimista

Uskomme menetelmiin, jotka tukevat oppimista, kommunikointia ja järjestelmällistä tiimityöskentelyä. Menetelmiin, jotka auttavat meitä tekemään työmme paremmin, nopeammin ja harhailematta sivupoluilla.

Näillä sivuilla asiantuntijamme jakavat kokemuksiaan ja näkemyksiään eri teknologioista ja menetelmistä.

Artikkelit

Reaktor Twitter

Toiminnallinen määrittely

Tähtäimessä tarkoituksenmukaisempi palvelu ja lyhyempi toteutusaika

Toiminnallisella määrittelyllä voidaan korvata perinteinen hidas ja raskas määrittelyprojekti. Toiminnallisen määrittelyn avulla päästään vähemmällä työllä tarkempaan ja kuvaavampaan lopputulokseen, jonka pohjalta voidaan vaivatta siirtyä toteutusprojektiin.

Onnistunut toiminnallinen määrittely

  • vähentää merkittävästi ohjelmiston käyttäjän työtunteja tai poistaa kokonaisia työvaiheita
  • antaa tarkan kuvan toteutettavasta ohjelmistosta: mitä toimintoja ohjelmistoon tulee ja mitä siihen ei tule
  • tuottaa tehokkaan ja käyttäjäystävällisen käyttöliittymän: erityisesti usein käytettävien toimintojen käyttö on mahdollisimman suoraviivaista
  • minimoi puuttuvasta tai virheellisestä toiminnallisuudesta aiheutuvat kalliit muutokset

Lähtökohtana käyttäjien haastattelu

Toiminnallisen määrittelyn aluksi toiminnallisuusarkkitehdit haastattelevat kehitettävän ohjelmiston tulevia käyttäjiä. Jos kyseessä on esimerkiksi juridiikan alan tiedonhakupalvelu, haastatellaan juristeja, jotka palvelua jatkossa käyttävät. Haastattelujen tarkoituksena on selvittää käyttötilanteet eli ne tehtävät ja ongelmat, jotka käyttäjä ratkaisee kehitettävän ohjelmiston avulla.

Käyttötilanteiden pohjalta toiminnallisuusarkkitehdit alkavat suunnitella ohjelmiston toiminnallisuutta. Suunnitteluvaihe tehdään tehokkaimmalla mahdollisella tavalla eli tyypillisesti kynällä ja paperilla. Ohjelmiston muokkaaminen on tässä vaiheessa helppoa ja nopeaa, koska muutokset tehdään ainoastaan käsin piirrettyihin käyttöliittymäkuviin.

Testaus todellisten käyttäjien kanssa

Suunnittelun tuloksena syntyvää käyttöliittymäprototyyppiä testataan käyttäjien kanssa. Testaamalla pyritään löytämään puutteet ja korjaamaan ne hyvissä ajoin ennen varsinaisen ohjelmointityön alkua. Prototyyppejä syntyy yleensä kymmeniä, ja läpikäyntejä käyttäjän kanssa tehdään useita, ennen kuin paras mahdollinen toiminnallisuus on selvillä.

Kun toiminnallisuus on valmis, käyttöliittymäratkaisut käydään läpi asiakkaan kanssa. Ohjelmiston ulkoasu viimeistellään asiakkaan graafisen ilmeen mukaiseksi. Valmis käyttöliittymäratkaisu kuvataan näyttökuvadokumenttina, joka on eräänlainen pienoismalli kehitettävästä ohjelmistosta. Dokumentti sisältää tarkat näyttökuvat kaikista ohjelmiston käyttöliittymänäkymistä. Näyttökuvadokumentin avulla asiakas ja projektitiimi saavat heti projektin alussa yksityiskohtaisen ja konkreettisen kuvan toteutettavasta ohjelmistosta.

Toiminnallisuusarkkitehdit mukana koko projektin ajan

Toiminnallisen määrittelyn perusteella ohjelmistoarkkitehti ja projektitiimi voivat antaa arviot siitä, kuinka laaja ja monimutkainen kokonaisuus on toteutuksen kannalta kyseessä. Näiden arvioiden perusteella voidaan tehdä päätökset siitä, mitä tehdään ensin, ja missä laajuudessa ohjelmisto toteutetaan.

Määrittelyn tehneet asiantuntijat osallistuvat ohjelmiston kehittämiseen loppuun saakka. Kun tiimi saa valmiiksi jonkin osan toiminnallisuutta, toiminnallisuusarkkitehti varmistaa, että toteutus toimii moitteettomasti todellisissa käyttötilanteissa. Toteutuksen aikana saattaa myös löytyä uusia käyttötilanteita, joita halutaan tukea. Tällöin toiminnallisuusarkkitehdit suunnittelevat niille toiminnallisuuden, joka sopii saumattomasti yhteen aiemman ratkaisun kanssa.

Käyttäjien työtehtävien avulla tehdystä toiminnallisuusmäärittelystä on monta etua:

  • Toiminnallisuus on testattu yhdessä käyttäjien kanssa ja hiottu kohdalleen jo ennen toteutustyön aloitusta.
  • Testattu käyttöliittymäratkaisu vähentää ohjelmiston käyttöönoton yhteydessä esiin tulevia ongelmia ja puutteita.
  • Ohjelmisto saadaan julkaistua nopeasti, koska koko ajan on tiedossa, mitä valmiiseen ohjelmistoon pitää sisältyä.

Toiminnallinen määrittely maksaa itsensä moninkertaisesti takaisin, koska käyttäjät arvioivat ohjelmiston laatua lähes yksinomaan käyttöliittymän toimivuuden perusteella.

Suunnittelijamme kirjoittivat esimerkin projektin kulusta ja käyttöliittymän suunnittelusta. Lue se tästä (pdf).

Karri-Pekka Laakso lähikuvassa

Karri-Pekka Laakso, toiminnallisuusarkkitehti

Vesa-Matti Mäkinen lähikuvassa

Vesa-Matti Mäkinen, toiminnallisuusarkkitehti