Project group Tete Work-time Attendance Software Henkilökohtainen SE harjoitus: etenemisraportti Heuristiset arviointimenetelmät Marc Josefsson
T-76.115 Software project 2(12) Muutosloki Versio Pvm Tekijä Kuvaus 1.0 28.11.2003 Marc Josefsson Ensimmäinen versio: I1:sen aikana tehty tutustuminen heuristiseen arviointiin 1.1 29.2.2004 Marc Josefsson Lisätty I3:sen alussa tehty laajempi heuristinen arvio ja analysoitu sen tuloksia. Lisätty samoin ajatuksia menetelmän soveltuvuudesta projektiin.
T-76.115 Software project 3(12) 1. Käytetyt heuristiikat Seuraavassa listattu arvioinnissa käytetyt heuristiikat: 1.1 Käytä yksinkertaista ja luonnollista dialogia Ei turhaa tavaraa ruudulla. Käyttöliittymä tukee tapahtumien kulkua, eikä toimintoja tarvitse hakea liian kaukaa. 1.2 Käytä käyttäjien omaa kieltä Sanaston tulisi olla käyttäjien käyttämää sanastoa. 1.3 Minimoi käyttäjän muistikuorma Asioiden tekeminen helppoa: järjestelmä muistaa asiat käyttäjän puolesta 1.4 Tee käyttöliittymästä kauttaaltaan yhdenmukainen Käytettyjen termistöjen yhdenmukaisuus, ja käyttölittymä-komponenttien yhdenmukainen sijoittelu. 1.5 Anna käyttäjälle palautetta toiminnoista Tuleeko virhetilanteet selkeästi esille. Kertooko järjestelmä mitä on tehty? Esim että tunnit lisätty kantaan tms. 1.6 Anna selkeä poistumistapa eri tiloista ja toiminnoista Sivuilta helppo paluu takaisin edelliselle sivulle? Voiko toiminnon peruttaa? 1.7 Anna käyttäjälle mahdollisuus käyttää oikopolkuja Vakiokäyttäjille mahdollisuus tehdä asiat nopeasti. Uusille käyttäjille turvallisempi, mutta hidas tapa tehdä. 1.8 Anna virhetilanteista selkeät virheilmoitukset Tietääkö käyttäjä virheen sattuessa mistä virhe johtui ja voiko hän korjata virheen? 1.9 Vältä virhetilanteita Annetaanko käyttäjälle tarpeeksi malleja tai onko vaihtoehtoja rajattu esimerkiksi listoilla niissä kohdissa, joissa syötteen sallittu muoto on tarkkaan rajattu? 1.10 Anna riittävä ja selkeä apu ja dokumentaatio Saako käyttäjä tarvittaessa ohjeita, ja ymmärtääkö niistä mitään? 2 Arvionti I1-vaiheessa Menetelmää käytettiin ensimmäistä kertaa I1:vaiheen puolivälissä ennen kiireisintä koodausrupeamaa. Tuloksena sain käyttöliittymäkehitykseen joitakin hyviä vihjeitä ja käyttöliittymästä löytyi joitakin mainittavia virheitä.
T-76.115 Software project 4(12) Lähinnä tätä tehtyä arviointia voisi kuitenkin kutsua itse menetelmän harjoitukseksi, jossa opin ohjaamaan ja tekemään hyvän pohjan käyttävälle menetelmälle. Uskon että I2:ssa tehtävästä arvioinnista tulee olemaan paljon hyötyä. Vaikka käyttöliittymästä löytyy vikoja myös ohjelmoinnin yhteydessä tehtävässä testauksessa, jää joitakin virheitä varmasti näkemättä. 2.1 Metriikat tehdystä arvioinnista Taulukko 1 Löydetyt virheet vakavuusasteittain Metriikka Yht. Katastrofaalinen Vakava Häiritsevä Vähäinen Kosmeettinen Löydetyt virheet 26 4 2 1 10 9 Erilaiset löydetyt virheet 16 2 2 1 6 5 Erilaiset virheet / Kaikki virheet 62% 50% 100% 100% 60% 55,6% Taulukko 2 Erilaiset virheet luokiteltuna näkymittäin Näkymä Yht. Katastrofaalinen Vakava Häiritsevä Vähäinen Kosmeettinen 5 - - - 2 3 Tehdyt tunnit 6 1 1 1 1 2 Raportit 3 3 Yleiset 2 1 1 2.1.1 Päätelmiä kerätyistä metriikoista ja heränneitä ajatuksia Suurin osa löydetyistä virheistä liittyi käyttöliittymäkomponenttien asetteluihin ja yleiseen ulkoasuun ja kirjoitusasuihin. Arvioinnissa tuli ilmi asioita, jotka olivat jääneet epähuomiossa pois käyttöliittymän tekovaiheessa. Arvioinnin suorittaminen oli ehkä vielä hieman liian aikaista, jotta menetelmällä olisi saatu hyviä tuloksia. Parempi toteutusaika olisi ollut esimerkiksi I2:sen alussa, kun ensimmäinen hyväksytty palautus olisi saatu aikaan. Odotan I2:sen yhteydessä tehdystä arvioinnista erittäin hyödyllistä ja mielenkiintoista. Silloin kasassa on lähes kaikki toiminnallisuus, joten eri näkymiä alkaa olla jo iso kasa. 3 Arviointi I3-vaiheessa Menetelmää piti käyttää alkuperäisen suunnitelman mukaan jo I2-vaiheen loppupuolella. Aikataulullisista asioista johtuen sopi parhaiten, että käytettävyystestin lisäksi I2:sen aikana ei tehty toista isoa
T-76.115 Software project 5(12) käytettävyysarviota. Nyt kun ainakin osa käytettävyystestin tuloksista oli korjattu, pystyi arvioinnin tekemään paremmalla pohjalla. Tässä iteraatiossa käytetty arvio oli täysimittainen heuristinen arvio. Arviointi toteutettiin kolmen ryhmäläisen voimin (Pauli Aho, Miikka Lötjönen ja Marc Josefsson). Arvioinnin kulussa noudatettiin suosituksia: aluksi jokainen teki erikseen omalla ajallaan arvion koko ohjelmistosta, jonka jälkeen keräännyttiin yhteen ja kerättiin kaikki löydetyt puutteet. Koska arvioitu ohjelmisto oli selkeä ja pelkistetty käyttöliittymältään, pystyimme joustamaan heuristisen arvion katselmointitavasta jonkin verran ja sallin arviointitilaisuudessa myös aktiivisen keskustelun aiheesta. Pysyimme silti aikataulussa, ja arvio vei suunnitellun tunnin ryhmän aikavaroja. 3.1 Metriikat tehdystä arvioinnista 3.1.1 Käytetty työmäärä Arviointiin käytettiin yhteensä 7 tuntia ryhmän ajasta. Tästä 2 tuntia meni henkilökohtaisiin tehtäviin varatusta budjetista ja loput viisi yleisestä budjetista. Taulukossa 1 alla on listattu kunkin arvioijan henkilökohtainen työmäärä. Taulukko 3 Arviointiin käytetty työmäärä Arvioija Arvioinnin suorittaminen Tulosten yhteenveto Marc Josefsson 1 1 Pauli Aho 1,5 1 Miikka Lötjönen 1,5 1 3.1.2 Löydetyt virheet vakavuusasteittain ja toiminnottain Listataan ensin löydetyt virheet jaettuna toiminnallisuuksien mukaan. Tästä listasta saa hyvin kuvan toisaalta eri toimintojen kompleksisuudesta, ja toisaalta niiden merkityksestä tavalliselle käyttäjälle. Luokassa yleinen on kahta tai useampaa kategoriaa koskevia puutteita, jotka on päätetty duplikaattien poistamiseksi kerätä erikseen. Taulukossa 4 olevista metriikoista ei voi suuria johtopäätöksiä tehdä ilman tarkempaa tutkimusta. Selkeät poikkeamat ovat kohdissa Tehdyt tunnit ja Työntekijöiden hallinta, joissa on joko paljon puutteita tai puutteet ovat melko vakavia. Koska nämä toiminnot ovat tärkeitä ohjelmiston käytettävyyden kannalta, olisi näihin puutteisiin puututtava välittömästi.
T-76.115 Software project 6(12) Taulukko 4 Löydetyt virheet toiminnottain ja vakavuusasteittain Toiminto Yht. Katastrofaalinen Vakava Häiritsevä Vähäinen Kosmeettinen Login 3 - - 1 1 1 Tehdyt tunnit 10-2 6 1 1 Kirjaa tunteja usealle päivälle 4 - - 2 2 - Raportit 6 - - 2 4 - Työntekijöiden hallinta 7 1 2 - - 4 Työlajien hallinta 1 - - - 1 - Leimaus 1 1 - - - - Yleiset 9-2 2 2 3 3.1.3 Arvioinnissa löytyneet epäkohdat Taulukko 5 listaa kaikki arvionnin aikana löydetyt puutteet ja viat. Taulukon rakenne on seuraava: Toiminto kertoo minkä toiminnallisuuden puitteissa havaittu puute esiintyi (käytetyt toiminnallisuudet ovat: Login,, muokkaus, Kirjaa tunteja usealle päivälle, Raportit, Työntekijöiden hallinta, Työlajien hallinta, Leimaus, Yleiset). Ongelma kuvaa arvioijan käsitystä löytyneestä puutteesta. Heuristiikat kertoo kappaleessa 1 määritellyn heuristiikan, johon löytynyt puute kuuluu. Heuristiikka on sinänsä tärkeä listata, koska se antaa tarkemman kuvan ongelman laadusta. Vakavuus on arvioijien yhdessä päättämä vakavuusaste puutteelle. Käytetyt vakavuusasteet ovat kertauksen vuoksi pahimmasta lievimpään katastrofaalinen, vakava, häiritsevä, vähäinen ja kosmeettinen. Korjausehdotus on arvioijien käsitys siitä, miten löytynyt ongelma voitaisiin korjata.
T-76.115 Software project 7(12) Taulukko 5 Löydetyt virheet (4½ sivua) Toiminto Ongelma Heuristiikat Vakavuus Korjausehdotus Login Käyttäjänimi voisi periaatteessa viitata koko nimeen. 1.1, 1.2 Kosmeettinen Tilalle käyttäjätunnus. Login Login-sivun kieli vaihtelee. 1.2 Häiritsevä Kieli valittavaksi tai kiinteäksi. Login Mistä saa apua jos salasana unohtunut? Voit syöttää tunteja seuraaviin aikoihin: 8:54 Huonosti erottuva laskutetut tunti (punainen rasti) Sallittujen taulukoiden täyttöaste on 1/6. 1.10 Vähäinen Huomautus, että salasanan saa järjestelmän ylläpitäjältä tai email reminder. 1.2, 1.3, 1.10 Häiritsevä Nykyinen kellonaika jotenkin näkyviin loppuhetkeksi 8:34 - nyt 1.1 Häiritsevä Värikoodaus 1.1 Häiritsevä Yhdelle riville useampia leimaus sisään ja ulos aikoja. Poista valitut on hieman hukassa. Vahingossa voi painaa tallenna, jolloin saa vain hämärän virheilmoituksen. Napit väärinpäin. 1.1, 1.3, 1.4, 1.8, 1.9, 1.10 Häiritsevä Enpä tiedä Tallenna-nappi on highlight-kohteena (eli enterin painaminen ei aiheuta poistoa, vaan virheen). Nappien sijoittelu yhdenmukaiseksi ja kiinteäksi. Tunteja voi syöttää vain yksi kohta kerrallaan. 1.7 Vakava Useampia kohtia pitäisi olla kerrallaan näkyvissä. (Sovittu mielestäni aikanaan asiakkaan kanssa)
T-76.115 Software project 8(12) Toiminto Ongelma Heuristiikat Vakavuus Korjausehdotus Muokkaa-kohdan kehys on eri värinen eikä siinä ole otsikkoa. 1.4 Kosmeettinen Yhdenmukaistus muiden solujen kanssa ( tyhjiin soluihin), myös otsikon lisäämistä voisi harkita. Jos valitsee poista tunnit ilman minkään rivin valintaa, ei järjestelmä mainitse aiheesta. 1.8, 1.4 (koska tallennapainikkeessa homma toimii) Vähäinen Asiasta voisi mainita. Vaikkapa virheilmoitus Kohteita ei ole valittuna varmistusdialogin sijaan. Muokkaa-linkki ei ole sopiva. 1.4 Häiritsevä Muokkaukset yhdenmukaisiksi. muokkaus Sallittuja aikavälejä ei voi valita klikkaamalla listasta. Mitä tekee poista tunnit nappi kohdassa, missä ei voi poistaa tunteja...? 1.1 Häiritsevä Tuki klikkauksille tai muu tapa alustaa jokin aikaväli valintoihin. 1.1, 1.4 Vakava Nappi pois tai käytetään samaa näkymää kuin lisäyksissä. Kirjaa tunteja usealle päivälle pp.kk.vvvv vs. pp kk vvvv raporteissa 1.4, 1.3, (1.10) Vähäinen Samaan formaattiin Kirjaa tunteja usealle päivälle Kirjaa tunteja usealle päivälle Kirjaa tunteja usealle päivälle linkki väärässä paikassa ja toiminnallisuus jäykkä. Taulukko ei levity koko ruudun levyiseksi. 1.1 Häiritsevä Normaalin ja usean päivän kirjauksen integrointi. 1.4 Vähäinen Taulukko ruudun levyiseksi.
T-76.115 Software project 9(12) Toiminto Ongelma Heuristiikat Vakavuus Korjausehdotus Kirjaa tunteja usealle päivälle Raportit Raportit Raportit Raportit Raportit Raportit Kirjauksesta ei tule vahvistusta. Järjestys ajan mukaan sekä listaus ja yhteenveto eivät ehkä ole itsestään selviä termejä. Järjestäminen on hankalaa raportin generoinnin jälkeen. Raportin listaus on epäselvä ja sisältää liikaa tavaraa. Hyväksy/laskuta tunteja piilotettu raportin tyypin alle. Framessa ei ole linkkiä Luo uusi rapotti. Negatiivisista aikaväleistä ei tule virheilmoitusta. Poista valitut napin painaminen valitsematta ketään ei tuota ilmoitusta Muokkaaminen nimeä painamalla ei 100% selvä. Mailittoman työntekijän solun reunus erilainen 1.5 Häiritsevä Pitää antaa vahvistus. 1.1, 1.2 Vähäinen Termistö intuitiiviseksi, esim. päivämäärän ja ajan mukaan sekä suppea ja laaja. 1.1 Häiritsevä Taulukkoon järjestämisnapit. 1.1 Häiritsevä Värikoodausta tai muita korostuksia. 1.1 Vähäinen Asiakas haluaa asian näin, ja näin se ilmeisesti jätetään 1.4 Vähäinen Yhdenmukaiseksi työntekijöiden ja työlajien lisäämisen kanssa. 1.8 Vähäinen Ilmoitukset kuntoon. 1.8 Kosmeettinen Ilmoitus 1.1 Kosmeettinen Jaa-a 1.4 Kosmeettinen Samanlaiseksi ( )
T-76.115 Software project 10(12) Toiminto Ongelma Heuristiikat Vakavuus Korjausehdotus Käytössä ruksin poistaminen ei pyydä vahvistusta. 1.9, (1.4 työlajin käytössäruksin kanssa ristiriita) Katastrofaaline n Poistamisesta vahvistus tai jotenkin käyttöön palautus kuten työlajin tapauksessa. Roolit asemoitu huonosti. 1.4 Kosmeettinen Asemointi kuntoon. Poistaminen on poikkeava. 1.4 Vakava Javascriptiä myös tähän toimintoon. Työlajit Poistettuja työntekijöitä ei näytetä. Poista-nappi näkyy vain alhaalla. 1.9 Vakava Poistetut mukaan listaukseen. 1.4 Vähäinen Nappi joka taulukon alle. Leimaukset Leimauksia ei pysty hallitsemaan. 1.9 Katastrofaaline n Listaus (ja muokkaus) näkyviin. Vasemman palkin toiminnot. Ei ole aina itsestään selvää, mitkä toiminnot valitaan sieltä ja löytyykö ne heti. Kirjautunutta käyttäjää ei näy missään. 1.10 Kosmeettinen Jotenkin palkin voisi profiloida enemmän toimintopalkiksi, josta etsii toimintoja ensin. 1.3 Vakava Käyttäjätunnus näkyviin. Edellisestä sisäänleimauksesta kulunutta aikaa ei näy missään. Tyhjät poistot sallitaan. 1.3 Häiritsevä Aika näkyviin. 1.5, 1.9 Häiritsevä Virheilmoituksia.
T-76.115 Software project 11(12) Toiminto Ongelma Heuristiikat Vakavuus Korjausehdotus Joka ruudussa voisi olla oma helppinsä 1.10 Vähäinen Toiminnan nopeuttamiseksi online-helppi Käyttäjä ei välttämättä aina tiedä, missä tilassa ollaan. Esim. raportti ei mahdu kunnolla 1024x768 ruudulle. Leimaus- ja uloskirjautumisnapit on toiminnallisuuksia, muut headerin linkit ovat listauksia. 1.3 Vakava Korostuksia. ei bugi Kosmeettinen Fontin pienennys tai erillinen printtiversio. Automaattisesti luotu sarake kuluttaa turhaan tilaa. 1.4 Vähäinen Leimausnapin voisi erottaa omaksi kohdakseen. Peruuta/paluu nappi puuttuu melkein joka paikasta 1.6 Kosmeettinen / vähäinen Peruuta-napin lisäys 3.2 Kokemuksia arvioinnista Yleisesti voisi todeta, että kaikki lopulliseen arviointiin osallistuneet ryhmän jäsenet yllättyivät arvioinnissa löytyneiden puutteiden määrästä. Vaikka ohjelmisto itsestämme tuntuu melko valmiilta, sieltä silti löytyi useita pieniä konsistenssiongelmia ja joitakin vakavampia rakenneongelmia, joihin on varmasti vielä puututtava. Arviointi itsessään sujui sujuvasti ja hyvin. Omat kokemukseni käytetystä menetelmästä ovat positiivisia. Käyttäisin varmasti vastaavaa menetelmää varsinaisten käytettävyystestien ohella myös yritysmaailmassa, jos vastaisin ohjelmiston käyttöliittymäkehityksestä. Heuristisen arvion hyviä puolia on useita. Merkittävimpänä lienee se, että arvioinnissa löytyy useita sellaisia vikoja tai puutteita, joita käytettävyystesteissä ei tule ilmi. Tästä tuli todisteita myös kuluvan projektin aikana, sillä vain muutamasta löydetystä puutteestä tuli palautetta myös käytettävyystestien yhteydessä. Tämä ei varmastikaan vähennä heuristisen arvion tärkeyttä. Heuristisella arviolla voidaan hioa käyttöliittymästä mahdollisimman yhdenmukainen ja helposti muistettava, lisäksi arvioinnin yhteydessä löytyy helposti käsitteellisiä korjauksia esimerkiksi käytettyjen termien yhteydessä, sekä asetteluun liittyviä kysymyksiä. Toinen arvioinnin hyvä puoli on se, että se ei vie kovin paljoa resursseja. Siksi kannatan heuristisen arvion tekemistä ohjelmistolle esimerkiksi ennen varsinaisten käytettävyystestien tekemistä. Tällöin käyttöliittymä on jo mahdollisimman yhdenmukainen ja käytettävä ennen varsinaisia testejä. Tällöin
T-76.115 Software project 12(12) testeissä voidaan keskittyä oleellisiin puutteisiin, eikä testihenkilöt tuijota pelkkiä kirjoitusvirheitä, tai ihmettele nappien erilaista asemointia eri näkymissä. Heuristisen arvion huonona puolena on sen mahdollinen pinnallisuus. Arvio voidaan suorittaa hyvinkin helposti liian kevyesti, jolloin todellisia puutteita ei ilmaannu kovinkaan paljoa. Jos arvioitava ohjelmisto olisi yhtään laajempi kuin nyt tekemämme ohjelmisto, arvioinnissa tulisi joko keskittyä vain tärkeimpiin näkymiin, tai kasvattaa arvioijajoukkoa ja tarkentaa arvioijien roolia koskettamaan esimerkiksi vain yhtä näkymää tai yhtä heuristiikkaa. Kaikenkaikkiaan minulle jäi hyvä maku heuristisesta arviosta menetelmänä. Minulla itsellänikin oli hieman ennakkoluuloja menetelmän tehokkuudesta. Menetelmä kuitenkin osoitti tarkoituksenmukaisuutensa: sillä saatiin ainakin kirjattua käyttöliittymässä olevat puutteet johonkin, jolloin käyttöliittymää voidaan kehittää järjestelmällisesti pelkkien arvailujen sijaan.