Johdatus ohjelmistotuotantoon Luento 21.9.2015 Käyttäjä ja käyttäjäkokemus ohjelmistoprojektissa Kati Kuusinen Thomas Olsson Tutkijatohtori Agile UX Dr. Ubicomp kati.kuusinen thomas.olsson@tut.fi
Kurssin tavoite ja luennon sisältö "Luoda yleiskuva ohjelmistotyöstä ja perusvalmiudet määrittelymenetelmien soveltamiseen. Kyky osallistua ohjelmistoprojektiin asiakkaan edustajana. Asiakas pitää ymmärtää laajasti Tällä luennolla Asiakas, käyttäjä, sidosryhmät Käyttäjän osallistuttaminen, milloin ja miten Käyttäjäkokemukseen ja käytettävyyteen liittyvä työ ohjelmistoprojekteissa Kati Kuusinen JOTU syysk-15 28.9.2015 2
Laatupyramidi + User experience 3
Source: Innes 2011 Why enterprises cannot innovate: helping companies learn design thinking 4
Miksi käyttäjäkokemus? -Pakollista vai erottautumistekijä Teknologinen kypsyys Teknologisella osaamisella erottautuminen ei riitä Markkinoiden muuttuvuus Nopea markkinoillepääsy, alhaiset kustannukset. Ole ensimmäinen tai paras, tai molempia Kasvaneet odotukset Kypsyys ja valikoima, tarve, yksityiskohdat, viimeistely even a developer wont use a crappy product anymore Laitteiden muuttuneet ominaisuudet Kosketusnäytöt, pienet laitteet, teho ja muistivaatimukset, interaktiotavat 5
Miksi käyttäjä on keskeinen? Käytettävyydestä voi maksaa joko paljon tai vähän. Jos haluaa maksaa paljon kuten VR kannattaa julkaista keskeneräisiä tuotteita, joita pitää korjata kiireellä ja jotka saavat asiakkaat valitsemaan muita vaihtoehtoja. Jos haluaa sijoittaa vähemmän ja tuottavammin, se pitää tehdä heti projektin alussa ja hiukan lisää arviointivaiheessa. Aapo Puskala VR:n käytettävyysarviossaan 6
Miksi ohjelmien tekeminen on niin vaikeaa? (K. Systän kalvosta) Ohjelmisto on abstrakti Tekijöiden ja asiakkaiden välillä ei välttämättä ole sama käsitys Työmäärän arviointi on vaikeaa Tavoitteiden määrittäminen on vaikeaa, tavoitteet eivät useinkaan ole suoraan näkyvissä Ohjelmisto on dynaaminen On muutettavissa muutettavuutta oletetaan Tarpeetkin voivat muuttua ja niitä on erilaisia Ohjelmistojen tekemistä on vaikea skaalata Tekijöiden määrän lisääminen nopeuttaa vain vähän valmistumista Mitä enemmän tekijöitä, sitä enemmän kommunikointitarvetta Kati Kuusinen JOTU syysk-15 28.9.2015 7
SIDOSRYHMÄT Erityisesti käyttäjät, asiakkaat, kehittäjät ja toimittajat Käsitetään usein henkilöinä/tahoina, joihin tuotettu järjestelmä vaikuttaa, tai jotka voivat vaikuttaa tuotettavaan järjestelmään Voidaan jakaa Ensisijaisiin (yleensä sisäisiin) ja toissijaisiin (yleensä ulkoisiin) ryhmiin 8
Sidosryhmiä (Stakeholders) Asiakkaat Omistajat Käyttäjät Periaatteessa kaikki, joita ohjelmiston tuottaminen koskettaa Alihankkijat Kehittäjät Markkinointi ym. 9
Sidosryhmät Apotti-hankkeessa? http://www.hel.fi/hki/apotti/fi/etusivu Keskusteltiin & kerättiin luennon aikana: käyttäjät: lääkärit, sairaanhoitajat, omaiset, potilaat, apteekki, sossu/kela, vanhat palveluntarjoajat (vanhat ratkaisut / kuolevana bisneksenä, olemassa olevan tiedon siirtäminen uuteen järjestelmään) toimittajayritys ja sen työntekijät ja johto henkilötietolaki (tähän liittyen tietoturva) 10
Asiakas (Customer) Yleensä työn tilaaja tai lopputuotteen ostaja B-B-C,B-B, B-C (Business & Consumer) Ostaja, asiakas, käyttäjä Tuottaja, kuluttaja Sisäinen ulkoinen Asiakkaan edustaja 11
Käyttäjä (user) Henkilö, joka on järjestelmän kanssa vuorovaikutuksessa (ISO 9241-11:1998) Käyttäjäryhmät Segmentointi: kohdekäyttäjäryhmät ensisijaiset ja toissijaiset loppukäyttäjä, kehittäjä, huolto, tuki, jne. Kuluttajakäyttäjät ja työkäyttäjät 12
Käyttäjän rooli vaihtelee Yritysjärjestelmät & työkalut Asiointisovellukset Viihdeohjelmistot Jne. Jne. 13
Käyttäjät ovat hyvin erilaisia Ikä Sukupuoli Kulttuuri Fyysiset ominaisuudet Psykologiset ominaisuudet Kognitiiviset (mieleen liittyvät) Motivaatio, asenne Luonne, temperamentti 28.9.2015 14
Käyttäjän ominaisuuksia suhteessa tuotteeseen 28.9.2015 15
Lasten seuranta päiväkodissa -Esimerkki käyttäjäryhmistä Mitä käyttäjäryhmiä sovelluksella on? Mikä on ensisijainen käyttäjäryhmä? Millaisia tavoitteita ja tarpeita eri käyttäjäryhmillä on? Mitä muita sidosryhmiä on? 16
Käyttäjätiedon/vaatimusten kerääminen on vaativaa Pelkästään käyttäjien ja asiakkaan mukanaolo suunnitteluprosessissa ei takaa, että asiakasvaatimukset olisi ymmärretty oikein Asiakkaan edustajat edustavat itseään eivät koko käyttäjäkuntaa Ihmisten on vaikeaa kuvailla tekemäänsä työtä ja kertoa siitä todenmukaisesti Haasteellista on käyttäjän kokemusten jakaminen Taipumus yleistyksiin ja abstrahointiin Itselle huomaamattomat vaiheet ja rutiinit
Haaste: tarpeet usein moniselitteisiä tai epämääräisiä Haluaisin nähdä suuren kasvun tilausten tuottavuudessa Tarvitsen helpomman keinon varaston tilanteen ymmärtämiseen Leffingwell, Widrig. Managing Software Requirements: A Use Case Approach. 2nd Edition. Addison Wesley 2003
Vaatimukset vs. tavoitteet vs. rajoitteet Businessvaatimus (tai oikeammin tavoite ) Käyttäjävaatimus (tai odotus ) Asiakasvaatimus (no joo, vaatimus ) Toteutuksen rajoitteet Kustannus, aika, osaaminen, teknologiaratkaisut vanhat ja olemassa olevat järjestelmät huomioitava 20
Käyttäjäpalaute Tuottaja Asiakas Asiakkaan asiakas Asiakkaan asiakas Käyttäjä Käyttäjä Käyttäjä Käyttäjä Käyttäjä Alihankkija Alihankkija 21
PROSESSI(MALLI)T Kehys, jolla työtä pyritään systematisoimaan toistettavaksi Tähtää työn järjestelmällisyyteen ja ennustettavuuteen Ajankäyttö, resurssit, laatu, kustannukset 24
Waterfall Development Vaiheittainen Vaihe valmis ja oikein siirryttäessä seuraavaan Iso alkupään suunnittelu (Big design upfront): periaatteessa kaikki suunnitellaan ennen toteuttamisen aloittamista Requirements Design Implementation Verification Maintenance 25
Agile Manifesto we have come to value: Individuals and interactions Working software Customer collaboration over over over Processes and tools Comprehensive documentation Contract negotiation Responding to change over Following a plan while there is value in the items on the right, we value the items on the left more. 26
Käyttäjäkeskeinen suunnittelu ISO 9241:210 2010 27
Ideoi-Kokeile-Arvioi-Muuta Kukaan ei välttämättä tiedä etukäteen hyvää ratkaisua, ei edes käyttäjä tai UX-suunnittelija Kokeile ja testaa -> nopea validointi http://www.ahdilounge.org 28
Käytettävyystyön V-malli -Esimerkki Tarvekartoitus ja määrittely Konseptitestaus Informaatioarkkitehtuuri ja navigointimallit Interaktion testaus Yksityiskohtainen ja ulkoasun suunnittelu Käyttäjätestaus suunnitellulla käyttöliittymällä, automaattiset testit Kati Kuusinen JOTU syysk-15 28.9.2015 29
Prototypointi -Prototyyppi, proto, malli, koekappale Paperiprototyypit (fyysisiä karkeita (low-fidelity) malleja. Esim. pahvi, post-it -laput) Low-fidelity ohjelmistoprotot (näyttökuvien luonnoksia, mockuppeja, storyboardeja) Mid-fidelity ohjelmistoprotot (melko yksityiskohtaisia mutta yksinkertaisia ja likimääräisiä malleja, joissa toiminnallisuus on simuloitua) High-fidelity ohjelmistoprotot (yksityiskohtainen grafiikka ja osittain todellista toiminnallisuutta (usein simuloitu back-end)) Prototyyppien tarkkuustaso (fidelity) siis vaihtelee. Tavoitteena on havainnollistaa ja hahmotella toiminnallisuutta nopeasti ja edullisesti 30
Iteratiiviset, ketterät yms Toimittaja tutkimus tot tot tot tot tarjous määr. test demo test demo test demo test käyt.otto määr. demo demo demo käyt.otto tarjouspyyntö Asiakas tarjous Demo tarkoittaa yhdessä käyttäjän kanssa tehtävää uudelleen pohdintaa. K. Systä 33
Ketkä näitä UX-juttuja tekee softamaailmassa? 39