Dela via


Användbarhet i programvarudesign

Det här avsnittet beskriver begreppet användbarhet och varför det bör vara en viktig del av alla programvarudesignprojekt.

Införandet

Termen "användbarhet" i samband med att skapa programvara representerar en metod som placerar användaren, i stället för systemet, i mitten av processen. Den här filosofin, som kallas användarcentrerad design, innehåller användarproblem och påverkansarbete från början av designprocessen och avgör att användarens behov ska vara det viktigaste av alla designbeslut.

Den mest synliga aspekten av den här metoden är användbarhetstestning, där användare arbetar och interagerar med produktgränssnittet och delar sina åsikter och problem med designers och utvecklare.

Definiera användbarhet

Avsnittet definierar vad användbarhet innebär i samband med programvaruutveckling och hur det relaterar till andra aspekter av utvecklingsprocessen.

Användarvänlighet

Användbarhet är ett mått på hur enkelt det är att använda en produkt för att utföra föreskrivna uppgifter. Detta skiljer sig från de relaterade begreppen nytta och likhet.

Användbarhet jämfört med verktyg

Ett centralt attribut som avgör en produkts kvalitet är användbarhet. Detta mäter om den faktiska användning av en produkt kan uppnå de mål som formgivarna avser att uppnå. Begreppet användbarhet förgrenas ytterligare i nytta och användbarhet. Även om dessa termer är relaterade är de inte utbytbara.

Verktyget refererar till produktens förmåga att utföra en uppgift eller uppgifter. Ju fler uppgifter produkten är utformad för att utföra, desto mer verktyg har den.

Överväg typiska Microsoft MS-DOS ordbehandlare från slutet av 1980-talet. Sådana program gav många kraftfulla funktioner för textredigering och manipulering, men krävde att användarna lärde sig och kom ihåg dussintals arcana tangenttryckningar för att utföra dem. Program som dessa kan sägas ha hög nytta (de ger användarna de nödvändiga funktionerna) men låg användbarhet (användarna måste ägna mycket tid och arbete åt att lära sig och använda dem). Däremot kan ett väldesignat, enkelt program som en kalkylator vara mycket lätt att använda men inte erbjuda mycket verktyg.

Båda egenskaperna är nödvändiga för marknadsgodkännande, och båda är en del av det övergripande begreppet användbarhet. Naturligtvis, om ett program är mycket användbart men inte gör något av värde, kommer ingen att använda det. Och användare som presenteras med ett kraftfullt program som är svårt att använda kommer sannolikt att motstå det eller söka alternativ.

Användbarhetstestning hjälper dig att avgöra hur enkelt det är för användare att utföra vissa uppgifter. Men det hjälper dig inte direkt att avgöra om själva produkten har värde eller verktyg. (Användare kan frivilligt kommentera användbarhetsrelaterade kommentarer under användbarhetstestning, men eventuella kommentarer bör verifieras med andra, mer robusta forskningsmetoder.)

Gilla det jämfört med att använda det

Likhet är alltid ett önskvärt drag i en produkt. Om människor gillar produkten är de mer benägna att använda den och rekommendera den till andra människor. Men precis som med nytta bör du vara noga med att inte förväxla likeability med användbarhet.

Människor gillar ofta en produkt av skäl som inte är relaterade till nytta och användbarhet. De kan lockas till sin stil, eller till den status de tror att produkten ger dem. Människor gillar vanligtvis mycket användbara produkter, men du bör inte anta att det innebär att en omtyckt produkt är användbar.

Användbarhet handlar om huruvida en person kan använda produkten för att utföra de uppgifter som de behöver utföra. Användbarhetstestning mäter främst prestanda, inte inställningar. Standardiserade enkäter kan dock användas för att mäta inställningar mellan produkter.

Identifiering jämfört med inlärning jämfört med effektivitet

Det finns många aspekter av användbarhet, men traditionellt refererar termen specifikt till attributen för identifiering, inlärning och effektivitet.

  • Identifiering innebär att söka efter och hitta en produkts funktion som svar på ett visst behov. Användbarhetstestning kan avgöra hur lång tid det tar för en användare att hitta en funktion och hur många fel (fel val om plats) som användaren gör längs vägen.
  • Utbildning avser den process genom vilken användaren förstår hur en identifierad funktion används för att slutföra en uppgift. Användbarhetstestning kan avgöra hur lång tid den här processen tar och även hur många fel användaren gör när de lär sig funktionen.
  • Effektivitet refererar till den punkt där användaren har "behärskat" funktionen och använder den utan att kräva ytterligare utbildning. Användbarhetstestning kan avgöra hur lång tid det tar för den erfarna användaren att utföra de steg som krävs för att använda funktionen.

Dessa tre grundläggande aspekter av användbarhet påverkas starkt av uppgiftens art och hur ofta användaren utför den. Vissa funktioner används så sällan eller är så komplexa att användaren i princip följer dem varje gång. För dessa funktioner utvecklar Microsoft ofta guider som vägleder användaren genom processen.

Slogans Fungerar inte

Programvaruutvecklare tror ibland att enkla slagord som "gör produkten mer användbar" hjälper till att lösa användbarhetsproblem. Även om en positiv inställning till användbarhet är viktig, kan endast korrekt användbarhetstestning med vanliga användare, i samband med den specifika produkt som skapas, ge utvecklare den information de behöver för att skapa en produkt som uppfyller användarnas behov. "Gör produkten mer användbar" bör vara slogan för varje programvaruutvecklare, men det är bara meningsfullt om utvecklaren vet vad användbarhet innebär. Testning med vanliga användare är det mest tillförlitliga sättet att ta reda på det.

Varför är användbarhet viktigt?

Avsnittet besvarar några vanliga frågor om varför användbarhet är viktigt och hur du införlivar användarcentrerade designprinciper i utvecklingsprocessen.

Varför ska du bry dig?

Om användbarhetsöverväganden inte redan har införlivats i produktdesignprocessen kanske du undrar varför det är nödvändigt eller önskvärt. Det är trots allt möjligt att släppa en fungerande, buggfri produkt utan att utföra något användbarhetsarbete alls. Men att använda användarcentrerade designprinciper kan leda till en mycket förbättrad produkt inom flera områden.

Den bästa anledningen till att utföra användbarhetstestning är att minska antalet supportsamtal från användare. Dålig användbarhet är en viktig orsak till att användare ringer tekniska supportlinjer för programvara, och varje programvaruföretagschef och Information Services-chef vet hur dyr produktsupport kan vara. Dessutom ökar debitering av användare för support potentiellt missnöje med produkten. Om användarna tycker att det är enkelt att använda din produkt behöver de inte anropa teknisk support lika ofta.

För programvara som produceras för internt bruk är den näst bästa anledningen att göra användbarhet till en viktig del av utvecklingsprocessen att minska utbildningskostnaderna. En mycket användbar produkt är mycket enklare för användare att lära sig än en som användbarhet inte var en hög prioritet för. Användare lär sig funktioner snabbare och behåller sin kunskap längre, vilket direkt korrelerar med minskade träningskostnader och tid.

Användbarhetstestning hjälper till att förbättra användarnas acceptans. Acceptans beror på ett antal faktorer, inklusive användbarhet, verktyg och likeability. För detaljhandelsprodukter korrelerar användargodkännande ofta direkt till upprepat köp eller lojalitet, vilket innebär att användaren sannolikt kommer att rekommendera produkten till andra. För interna program korrelerar användarens acceptans med en vilja att använda programvaran för att utföra de uppgifter som den har utformats för, vilket bidrar till att öka produktiviteten. Ökad användbarhet är en av de faktorer som kan bidra till ökad användargodkännande.

Användbarhet kan hjälpa dig att skilja dina produkter från konkurrenternas. Om två produkter är i stort sett lika användbara, kommer produkten med bättre användbarhet förmodligen att betraktas som överlägsen. Dessutom har windows riktlinjer för look-and-feel och tillhörande programmering jämnat ut spelplanen för det grundläggande användargränssnittet, så att många program som fungerar med liknande funktioner ser ut och fungerar något likadant. Dessa likheter innebär att små skillnader i användbarhet kan ha stor inverkan på användarinställningarna.

Slutligen testas varje produkt för användbarhet så småningom. Användare utför användbarhetstestning på produkten varje gång de använder den, och de gör sin bedömning genom sin fortsatta användning eller brist på den. Att testa produkten innan den släpps ut på marknaden kan hjälpa till att säkerställa att användarnas upplevelser med produkten är positiva.

Vad kostar det?

Programvaruutvecklare och projektledare oroar sig ofta för att det krävs oacceptabla mängder tid och pengar för att initiera en användarcentrerad designprocess och utföra korrekt användbarhetstestning. Verkligheten är att kostnaden i tid och pengar som spenderas på att fokusera på användaren ofta är relativt liten, och säkert så jämfört med kostnaden för att inte göra det.

Tänk till exempel på kostnaden i tid och pengar för att göra designrevisioner sent i utvecklingscykeln i motsats till tidigare, när produkten fortfarande finns på ritbordet. Att vänta till betaperioden för att exponera användare för produkten för användbarhetstestning kan resultera i nedmontering av delar av programmet som tog mycket tid att utveckla. Och att vänta tills produkten faktiskt släpps och sedan göra ändringar baserat på negativ feedback eller stödja en dålig design kan göra kostnaden omätligt högre på grund av höga produktsupportkostnader eller dålig mottagning av användare.

En rimlig användbarhetsstudie kan vanligtvis utföras om ungefär två veckor eller mindre, och kan avsevärt minska tiden och kostnaden för att göra ändringar sent i utvecklingscykeln. Kostnaden för att utföra testning varierar beroende på vilken typ av produkt och vilka delar av gränssnittet som testas.

Tänk på användbarhetstestning som att det liknar kodtestning. Framgångsrika projektledare står för kodtestning när de planerar ett utvecklingsprojekt. De ser det inte som något extra som måste fästas på projektschemat och budgeten. I stället accepterar projektledare kodtestning som en kostnad för att göra affärer eftersom alternativet är så mycket dyrare. Samma sak gäller för användbarhetstestning.

Hur ökar jag användbarheten?

När du läser och förstår vikten av användbarhet frestas programvaruutvecklare ibland att lägga till användbarhet, som om det var en ingrediens som helt enkelt kan läggas till i en produkt för att göra den mer användbar. I stället bör användbarhet vara en del av själva designprocessen, snarare än en "sak" som läggs till i processen här eller där. Anledningen till att användbarhetsexperter hänvisar till "användarfokus" och "användarcentrerad design" är att användbarhet är beroende av att användarnas behov hålls centrala i designprocessen. Användarcentrerad design innebär av nödvändighet mer än att bara följa en uppsättning regler som styr knapp- och menyplacering i ett gränssnitt. Användbarhetstestning är en möjlighet att kontrollera designarbetet. Det är inte ett sätt att "lägga till" användbarhet till en produkt.

Gould, Boies och Lewis (1991) identifierar fyra viktiga grundsatser för användarcentrerad design:

  • Tidigt fokus på användare.

    Utvecklare bör koncentrera sig på att förstå användarnas behov tidigt i designprocessen.

  • Integrerad design.

    Alla aspekter av designen bör utvecklas parallellt i stället för i följd. Se till att produktens interna design överensstämmer med användargränssnittets behov.

  • Tidig och kontinuerlig testning.

    Den enda för närvarande genomförbara metoden för programvarudesign är empirisk: designen fungerar om riktiga användare bestämmer sig för att den fungerar. Genom att använda användbarhetstestning under hela utvecklingsprocessen kan användarna ge feedback om designen innan produkten släpps.

  • Iterativ design.

    Stora problem maskerar ofta små problem. Designers och utvecklare bör revidera designen iterativt genom testomgångar.

Varför ska jag involvera användare?

Utvecklare bör känna igen att de inte är typiska användare. De har mer intim kunskap och förståelse för systemet som de utvecklar än den genomsnittliga användaren någonsin kommer att göra. Aspekter av gränssnittet som är oklara eller förvirrande för de flesta användare kan därför vara helt tydliga för någon som har arbetat med projektet. Vissa programvaruutvecklare kan i viss mån känna empati med den genomsnittliga användaren, men det finns inget substitut för faktiska användares verkliga interaktioner med produkten.

Genom att fokusera på vanliga användares behov tidigt och se över designen baserat på användartestning ofta, skapar användarfokuserade programvaruutvecklare bättre design och därmed bättre produkter.

Med en bättre design kommer bättre acceptans från användare. Fördelen med detaljhandelsprogramvara är uppenbar: ökad försäljning. Acceptans är också viktigt med programvara som utvecklats för internt bruk: ökat fokus på användarcentrerad design leder till ökad produktivitet och ett minskat behov av support. Att synligt involvera användare från början av utvecklingen visar också ett intresse för deras oro och behov, vilket ökar deras vilja att hjälpa till i utvecklingsinsatserna.

Kan jag inte bara följa riktlinjerna?

Microsoft har utvecklat en uppsättning gränssnittsriktlinjer för Windows-databehandlingsplattformen för att säkerställa att Windows-program har ett konsekvent utseende och känsla. Andra företag har utvecklat liknande riktlinjer för andra databehandlingsplattformar, och användbarhetsexperter som Jakob Nielsen har skrivit mycket om att utforma användbara webbsidor. Med den mängd information som finns tillgänglig om dessa ämnen tror designers ibland att rigorös efterlevnad av riktlinjer och standarder är allt som är nödvändigt för att producera användbara produkter.

Problemet med den här metoden är att riktlinjerna i sig är allmänna. Riktlinjerna måste gälla för en mängd olika fall och föreskriver därför inte alltid det bästa tillvägavisningen för det specifika program som utvecklas. Att följa en välskriven uppsättning riktlinjer kan vara till hjälp vid utformningen av ett konsekvent gränssnitt, men de kan inte garantera att det är användbart om det inte testas med riktiga användare. När du använder riktlinjer ska du inte använda dem som en kokbok där riktlinjerna visar vägen mot det bästa av alla resultat. Två utvecklare kan implementera samma riktlinje på två olika sätt, och båda implementeringarna kanske inte är lika lämpliga för situationen. Ibland kan rigorös efterlevnad av riktlinjer leda till dåliga resultat eller konflikter mellan riktlinjerna. Endast användarcentrerad design kan hjälpa till att rensa ut dessa problem innan de blir problem.

Ett annat sätt att tänka på detta är: Låt användarcentrerad design vara skiljedomare för designbeslut, inte riktlinjer för användargränssnittet.

Behöver jag skapa ett användbarhetslabb?

Anta inte att användbarhetstestning innebär att engagera sig i ett dyrt labb, med takmonterade kameror, enkelriktade speglar och andra fokusgruppsfällor. För att vara säker tycker företag som utför mycket testning ofta att det är bekvämt att bygga dedikerade labb, och användbarhetskonsulter har ofta ett brett utbud av faciliteter och utrustning för att erbjuda sina kunder. Men användbar, giltig användbarhetstestning kan utföras i en mängd olika inställningar och omständigheter.

En metod är att helt enkelt ha en testare?någon som är insatt i att utföra studier av mänskliga deltagare och samla in data?sitta bakom en användare när han eller hon arbetar och observera att användaren utför uppgifter. Detta kan enkelt utföras i ett konferensrum eller ett kontor. Mer information om testning efter observation finns i posten Dumas och Redish i Andra resurser.

När användbarhetstestning utvecklas och blir mer involverad kan du lägga till utrustning som en videokamera, en enkelriktad spegel eller verktyg som gör att du kan visa och spela in en användares bildskärm i realtid.

Alternativt kan testning outsourcas till användbarhetskonsulter. Följande avsnitt innehåller tips om hur du hittar rätt konsulter.

Hur kommer jag igång?

När det har beslutats att införliva användarcentrerade designprinciper i utvecklingsprocessen måste du bestämma om du ska anställa användbarhetspersonal eller lägga ut användbarhetstestningen på en leverantör.

Usability Professionals Association (UPA) har en leverantörsguide som kan hjälpa dig att hitta användbarhetskonsulter.

Vissa konsultgrupper kan också hjälpa till att konfigurera användbarhetslabb eller utveckla ett internt användbarhetsprogram för att införliva användbarhetsprinciper i designprocessen.

Om du anställer användbarhetspersonal har Human Factors and Ergonomics Society en placeringstjänst som kan hjälpa dig att hitta potentiella anställda. Många användbarhetsproffs tillhör också ACM Special Interest Group on Computer-Human Interaction (SIGCHI) och UPA. Placera anställningsannonser i sina publikationer eller på sina konferenser.

Oavsett vilken väg som tas, kom ihåg att det här är testtjänster. Principen att designers inte är typiska användare gäller även för användbarhetspersonal.

Mer information om dessa företag och organisationer och mer information om användbarhetstestning och användarcentrerad design finns i Andra resurser.