Ohjelmistojen odotetaan antavan lisäarvoa liiketoimintaan. Sanomattakin on selvä, että ohjelmiston pitää täyttää käyttäjien vaatimukset. Tätä odottaa jokainen loppukäyttäjä ohjelmistoilta tai miltä tahansa tuotteelta. Mutta tämän tavoitteen saavuttamisessa on kuitenkin yksi merkittävä hidaste; inhimillisistä tekijöistä johtuen kanbanjoskus tapahtuu virheitä. Tämä saattaa aiheuttaa vian koodiin, joka taas voi aiheuttaa ohjelmiston vikaantumisen. Yleensä viat luokitellaan niiden vakavuuden mukaan. Käytännössä vakavimpia vikoja kutsutaan blokkereiksi, koska ilman niiden korjaamista ohjelmiston käyttäminen ei ole mahdollista ainakaan siinä laajuudessa, kun on tarkoitettu. Näin ollen vakavimmat viat voivat estää myös testauksen ja muiden vikojen löytämisen.

Hyvän suunnittelun merkitystä ei voi koskaan korostaa liikaa. Siitä huolimatta ohjelmistoja pitää myös testata. Mitä sitten testaajat tarvitsevat testauksen laadukkaaseen toteutukseen? Vastaus on yksinkertainen; testaajat tarvitsevat tietoa. He tarvitsevat tietoa mm. siitä mikä on tavoiteltu toiminnallisuus kehitystiimin työstämissä ominaisuuksissa. He tarvitsevat myös tietoa siitä, koska ominaisuus on testattavissa. Vähintään yhtä tärkeää on se, että testaajat osaavat asettua loppukäyttäjien saappaisiin; miten he käyttävät ohjelmistoa, mitkä heidän odotuksensa ovat ja millainen prosessi käyttäjiä ohjaa? Tietenkin testaajan pitää osata testata koko toiminnallinen kokonaisuus alusta loppuun.

KEEP IT SIMPLE on hyvä sääntö myös testauksen onnistuneeseen läpivientiin ja virheiden syntymisen todennäköisyyden pienentämiseen. Vaikka testattava sovellus on monimutkainen, niin kuitenkin itse testausprosessi kannattaa pitää mahdollisimman yksinkertaisena. Otimme marraskuun alussa käyttöön Kanbanin ison verkkopalvelun kehittämisessä ja testauksessa. Kanbanissa ohjelmistokehitys- ja testausprosessi visualisoidaan tauluiksi (alun perin Kanban on peräisin Toyotan laatuajattelusta ja teollisesta sarjatuotannosta). Seuraavassa kuvataan yleisellä tasolla testauksen kulku prosessissa.

kanban_2

Prosessissa testaajat saavat tiedon siitä, koska ohjelmistoon kehitetty ominaisuus tai korjattu vika on uudelleentestattavissa testausympäristössä. Molempia tyyppejä voi kutsua tässä yhteydessä tehtäviksi. Siinä vaiheessa, kun testaaja ottaa tietyn tehtävän käsittelyyn, niin hän siirtää sen seuraavaan vaiheeseen eli prosessissa oikealle. Tämä siksi, että muut testaajat näkevät tämän, jotta he voivat keskittyä muihin tehtäviin. Toisaalta testauspäällikön on hyvä seurata ohjelmiston laadun lisäksi myös testauksen etenemistä ja sen laatua. Saatuaan tehtävän valmiiksi testaaja lisää kommenttinsa ja tarvittaessa luo uuden havaintoraportin tai palauttaa tehtävän tiimille.

LEARNING BY DOING
Kanbanin käyttöönotossa olemme kohdanneet tiettyjä haasteita mutta idea onkin, että prosessia kehitetään käytännön kokemusten myötä paremmaksi. Alku on ollut lupaava ja vain tekemällä oppii!

”Tiimi tarkastelee säännöllisesti, kuinka parantaa tehokkuuttaan, ja mukauttaa toimintaansa sen mukaisesti.” (Agile Manifesto)