Hämmentävän paljon törmää siihen, että digipalveluiden kehitysprojekteissa design ja suunnittelu tehdään lähes valmiiksi ennen kuin aletaan koodaamaan. Ja sitten varsinainen ohjelmistokehitys tehdään ketteriä menetelmiä käyttäen. Tällä hetkellä saan olla siinä onnellisessa asemassa, että meidän design kulkee devaamisen rinnalla täysin agilena. Eli käytännössä yli puolet asioista tehdään vasta muun tekemisen aikana, kun näemme asioita oikealla datalla ja todellisella palvelulla.
Agile design on yllättävän vaikea ymmärtää
Designiin suhtaudutaan täysin eri tavalla kuin koodaamiseen. Designin ajatellaan aina olevan enemmän ”pikselilleen lopullista” kun taas devaajat elävät paljon enemmän siitä jatkuvan kehittämisen ja pienten tuotantoon vientien maailmassa.
Visuaalinen suunnittelu on yrittänyt hyödyntää moodboard-malleja, joissa fiilis ja tunnelma luodaan muutamilla kuvilla ja väripaleteilla, ilman että lopullista asettelua ja toiminnallisuuksia on tarvinnut piirtää. Silti aika monessa tapauksessa halutaan kuitenkin nähdä jotain täysin valmista ulkoasua palvelusta joka oikeasti rakentuu vasta muutaman kuukauden kuluessa. Valmiita kuvia pitää liian useasti piirtää jo siinä kohtaa kun ymmärrystä kokonaisuudesta ei ole juurikaan kerätty.
Ketteryys luo epävarmuutta niille, jotka siihen eivät ole tottuneet.
Agile luo myös haasteita joita pitää ennakoida
Kun ketteryys on isosti osana palvelun suunnittelua, on hyvä ottaa huomioon, että mitä kaikkea palvelusta ja käyttöliittymästä voi ja pitää olla valmis muuttamaan prosessin aikana. Se vaatii käyttöliittymältä huomattavasti enemmän ennakointia ja suunnitelmallisuutta. Entä jos tähän tuleekin yksi isompi kokonaisuus jossain kohtaa mukaan, mahtuuko tähän tilaan vielä tuplamäärä asioita, miten sisältö elää datamäärän mukaan jne.
Kirjoitin joskus Moretagin blogiin Design as a Service -ajatuksesta.Tavoitteena on aina luoda sellainen komponenttikirjasto, jonka avulla voidaan käydä keskustelua fiiliksestä ja ulkoasusta. Kirjaston avulla voi käytännössä kuka tahansa rakentaa sisältö/toiminnallisuus kokonaisuuden. Palvelulla pitää aina olla yleinen logiikka, eli missä asiat sijaitsevat ja miten asiat toimivat. Sen sisälle rakennetaan komponentit jotka joustavat ja palvelevat eri asioiden näyttämisessä sekä toiminnallisuuksien luomisessa. Valmiita komponentteja hyödyntäen, tulisi jokaisen pystyä rakentamaan uusi näkymä.