Nyt kun blogiin on saatu jo hyvä määrä teknistä asiatekstiä, niin on hyvä välissä laittaa propellihatut pyörimään. Tässä tekstissä tutustutaan pintapuolisesti interaktiosuunnitteluun eli pyritään perehtymään ohjelmistojen ja loppukäyttäjän väliseen interaktioon, sen parantamiseen ja prosessiin. Vaikka käyttöliittymäsuunnittelu ja graafinen suunnittelu ovat osittain samalla tontilla interaktiosuunnittelun kanssa, en keskity niihin vaan taustalla olevan käyttäjän tavoitteisiin, oletuksiin ja käyttäytymiseen ohjelmiston kanssa. Tätä kutsutaan tavoitepohjaiseksi suunnitteluksi. Vaikka tämän kaltaisen suunnittelun taso ohjelmistoissa on jo melko hyvää, voidaan silti tehdä muutama oletus, kun mietitään perinteisten sovellusten toimintatapoja.
Ne ovat töykeitä
Ohjelmistojen virheilmoitukset ovat usein töykeitä ja syyttäviä, myös tilanteissa joissa käyttäjä ei voi ennaltaehkäistä virheen tapahtumista. Myös vastausta pyydetään muodossa, jossa käyttäjä ”joutuu tunnustamaan” tehneensä virheen.
Usein ohjelmistot epäonnistuvat myös kohtalaisissa aputoimissa. Ne unohtavat informaatiota, jota käyttäjät syöttävät, eivätkä monesti täytä ennalta heidän toiveitaan. Käyttäjän ajatus katkeaa, koska tiheään käytetylle ominaisuudelle ei anneta riittävän yksinkertaista käyttötapaa tai kriittiset ominaisuudet (kuten poistaminen) ovat liian helposti käytettävissä.
Ne pakottavat ajattelemaan tietyllä tavoin
Joskus yksinkertaistenkin toimenpiteiden tekemiseen käyttäjältä oletetaan hyvää osaamistasoa. Esimerkkinä muokattavan tiedoston uudelleennimeäminen perinteisen tekstieditorin kautta, jossa käyttäjän pitää joko sulkea editori ja nimetä tiedosto uudelleen tai tallentaa tiedosto nimellä ja poistaa vanhaksi jäänyt tiedosto.
Ne jättävät ihmiselle raskaan työn
Usein työhön käytettävät ohjelmat vaativat mekaanista ”leikkaa ja liimaa” -toimintaa tai uudelleenkirjoitusta, eikä arvojen vieminen ohjelmasta toiseen aina onnistu. Eri ohjelmia on auki työpöydällä niin paljon, että halutun työkalun käyttäminen vaatii jatkuvaa ikkunoiden raahausta ja klikkailua.
Interaktiosuunnittelulla pyritään poistamaan mm. yllä mainittuja toimintatapoja. Tarkoituksena on ymmärtää loppukäyttäjän motivaatio ja tavoitteet ohjelmiston käytössä ja tukea niitä hyvän käyttökokemuksen saavuttamiseksi. Suunnittelussa otetaan huomioon myös loppukäyttäjän ja tilaajan tavoitteet, jotka eroavat usein toisistaan.
Miten interaktiosuunnittelu istuu projektiin?
Interaktiosuunnittelu pyrkii osallistumaan projektin kaikkiin vaiheisiin tiedon keruusta analysointiin ja aina lopputuotteeseen saakka, joten se on hyvä ottaa huomioon heti projektin alussa. Työn tehokkuuden edistämiseksi kannattaa suunnittelijoiden, loppukäyttäjien ja sidosryhmien tapaamiset mahdollistaa säännöllisesti. Tee myös selvä työnjako interaktiosuunnittelijoiden ja toteuttajien välille, koska silloin suunnittelijoiden ei tarvitse miettiä toteutuksellisesti haastavia kysymyksiä eikä halua kiertää siitä, mistä aita on matalin, synny.
Kun interaktiosuunnittelu implementoidaan projektiin huolella, voidaan laadukkaampien ohjelmistojen kehitys saavuttaa kustannustehokkaasti. Myös koodin laatu paranee, koska lähtökohtainen tiedon määrä on suurempi ja tieto on projektin edetessä aina ajan tasalla. Silloin ketterän kehityksen korjausliikkeistä johtuvien muutosten määrää ja kokoa saadaan entisestään pienennettyä.
Prosessi
Koska suurimmat ongelmat kehityksessä johtuvat usein suunnittelijoiden tiedon puutteesta, pyritään tiedon määrää lisäämään altistamalla heidät tiedonkeruuseen. Se on oleellinen osa tavoitepohjaisen suunnittelun prosessia ja auttaa tiimejä ymmärtämään kehitettävän ohjelmiston tarkoitusta ja luonnetta. Kun tietoa kerätään tehokkaasti ja se kuljetetaan prosessin läpi, saadaan lopputuloksena yksityiskohtainen interaktiorakenne.
1. Tiedonkeruu
Vaihe sisältää etnografisen tutkimuksen, joka toteutetaan loppukäyttäjien tarkkailun ja haastattelujen avulla. Myös sidosryhmille tehdään haastatteluja, jotka pyritään tekemään yksityisesti. Tarkoituksena on kerätä näkemyksiä ja tietoa mahdollisimman neutraalisti ja siten, että muut osalliset eivät pääse vaikuttamaan haastateltavan mielipiteeseen. Lisäksi tietoa kerätään mm. kilpailevista tuotteista, alan julkaisuista ja markkinatutkimuksista.
Lopputuloksena ensimmäisessä vaiheessa luodaan käytösmalleja, jotka pohjautuvat käyttäjien tavoitteisiin ja motivaatioon. Samalla kerätty tieto auttaa ymmärtämään kehitettävän ohjelmiston laajuuden, liiketoiminnalliset tavoitteet sekä tekniset vaatimukset.
2. Mallintaminen
Mallinnuksessa ensimmäisessä vaiheessa kerätty tieto muutetaan informaatio-/työnkulkukaavioiksi, joista kokonaiskuva ja ongelman ratkaisu ovat helposti ymmärrettävissä. Loppukäyttäjistä muodostetaan tarkempia rooleja ja persoonia, jotka kuvastavat ryhmien käyttäytymismalleja, asenteita, kykyjä, motivaatiota ja tavoitteita.
Toisessa vaiheessa kehitettävät persoonat ja informaatio-/työnkulkukaaviot ovat tärkeimpiä työvälineitä kehityksessä, koska prosessin seuraavat vaiheet tukeutuvat vahvasti niihin. Ne myös selkeyttävät kommunikaatiota suunnittelijoiden ja tilaajan välillä.
3. Vaatimusten määrittely
Kolmannessa vaiheessa persoonien ja informaatio-/työnkulkukaavioiden rinnalle luodaan skenaarioita, joiden avulla pystytään hahmottamaan kokonaiskuva yksittäisten toimintojen taustalla. Skenaarioiden, persoonien, teknisten vaatimusten ja liiketoiminnallisten tavoitteiden avulla ohjelmisto voidaan määritellä jo huomattavasti tarkemmin.
4. Rakenteiden määrittely
Neljännessä vaiheessa luodaan konsepti, johon kuuluu ohjelmiston tarkka määrittely ja graafinen ulkoasu. Aikaisemman työn tueksi otetaan mukaan hyväksi havaittuja interaktiosuunnittelun periaatteita ja malleja, joiden tarkoituksena on tuoda hieman tasapainoa työhön, jossa jalat irtoavat maasta melko helposti. Kun skenaarioita saadaan projektin aikana tarkennettua, myös rakenteiden määrittelyssä päästään hienosäätöön.
5. Hienosäätö
Hienosäätö muistuttaa pitkälle rakenteiden määrittelyä, mutta pyrkii keskittymään ohjelmiston yksityiskohtiin. Tälle vaiheelle annetaan liian harvoin projekteissa tarpeeksi aikaa ja siksi käyttökokemus voi jäädä puutteelliseksi.
6. Kehitystuki
Vaikka aikaisemmin mainitsin, että suunnittelijan ja toteuttajan välille on hyvä tehdä selvä työnjako, pitää heidän välillään olla kuitenkin jatkuvaa kommunikaatiota. Se auttaa hallitsemaan aikataulullisia haasteita ja ratkaisemaan ongelmatilanteita tehokkaasti. Koska interaktiosuunnittelijat toimivat suoraan loppukäyttäjän, tilaajan ja sidosryhmien kanssa, ei informaatiolla ole niin suurta vaaraa vääristyä matkalla toteuttajille.
Lopuksi
Tavoitepohjaisen suunnittelun etuna perinteiseen toimintojen määrittelyyn perustuvaan suunnitteluun nähden on mahdollisuus implementoida mukaan käyttäjien todelliset tarpeet ja tavoitteet. Tämän lisäksi oletusten määrä on vähäinen aktiivisen tarkkailun ja haastattelujen kautta.
Jos interaktiosuunnittelu alkoi kiinnostaa, niin suosittelen kirjaa About Face (kirj. Alan Cooper, Robert Reimann, David Cronin, Christopher Noessel), jossa työnkuvaa ja prosesseja on käsitelty kattavasti.