Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
http://www.cs.tut.fi/ihte
HCProLecture11 (21.2.2014):
Software engineering and software processes in relation tohuman centered design
Jarmo Palviainen
Topics of the lecture
Human centered process• ISO 9241-210 (and a bit 9241-11)• Example methods (oldies) (PD, TRUMP, CD)
Software processes• Example methods (XP, RUP)
HCD-process in relation to softwareengineering
Background of ISO 9241-210ISO 9241 is a ”standard group”, consisting offollowing parts:
• Part 1: General introduction• Part 2: Guidance on task requirements• Part 3: Visual display requirements• Part 4: Keyboard requirements• Part 5: Workstation layout and postural
requirements• Part 6: Guidance on the work environment• Part 9: Requirements for non-keyboard
input devices• Part 11: Guidance on usability• Part 12: Presentation of information• Part 13: User guidance• Part 14: Menu dialogues• Part 15: Command dialogues• Part 16: Direct manipulation dialogues• Part 17: Form filling dialogues
• Part 20: Accessibility guidelines forinformation/communication technology(ICT) equipment and services
• Part 100: Introduction to standardsrelated to software ergonomics
• Part 110: Dialogue principles• Part 151: Guidance on World Wide Web
user interfaces• Part 171: Guidance on software
accessibility• Part 210: Human-centred design for
interactive systems• Part 300: Introduction to electronic visual
display requirements• Part 302: Terminology for electronic
visual displays• ETC…..
ISO 9241-210
• ISO definition of human-centred design:approach to systems design and development that aims tomake interactive systems more usable by focusing on theuse of the system and applying human factors/ergonomicsand usability knowledge and techniques
• Target group: ”those managing design processes”• Describes human centered design process
• ”from a higher level of abstraction than most methodology books”[Jokela & al]
• describes usability at a level of principles, planning andactivities (process oriented vs. product oriented)
ISO 9241-210 as a process instruction
• Does NOT take a stand on what methods are used• Describes in general level what is documented and
how• Based on ISO 9241-11, in a project one needs to
determine the following:1. The users of the system,2. Goals of users,3. Environments of use4. Measures of effectiveness, efficiency and satisfaction.
ISO9241 process descriptions
• The standard does notdescribe process(es)particularly well
• ”activities”• products (documentation)
Phase products process
Recognizing users xx -
Defining user goals - -
Specifying contexts ofuse
xx x
Specifying measuresof usability
x -
xx = describedx = a limited description- = not described
[Jokela & al]
Examples of outputs from HCD activities [9241-210]
Activities Outputs from HCDUnderstand and specify thecontext of use
Context of use description
Specify the user requirements Context of use specificationUser needs descriptionUser requirements specification
Produce design solutions to meetthese requirements
User interaction specificationUser interface specificationImplemented user interface
Evaluate the designs againstrequirements
Evaluation resultsConformance test resultsLong-term monitoring results
PRINCIPLES OF HCD [ISO9241-210]
1. The design is based upon an explicit understandingof users, tasks and environments.
2. Users are involved throughout design anddevelopment.
3. The design is driven and refined by user-centredevaluation.
4. The process is iterative.5. The design addresses the whole user experience.6. The design team includes multidisciplinary skills
and perspectives.
Human centered design methods
• They should guarantee human centredness in theprocess and some optimization in the process (shouldbe able to avoid known problems)
• Pattern of thinking: A good process -> a decent product• Coverage may be more or less of the whole process
from feasibility study to the introduction of the product
Selected methods and approaches
1970 1980 1990 2000
”1971”Participatory
design
1977 Jointapplication
developement
TRUMP
1997Contextual
design
1999 ”Cooperdesign”
1981 Softsystems
methodology
ISO13407
1993 NielsenUsability
Engineering
2005Rapid
Contextualdesign
UIdesign…
Participatory Design (PD)
• One of the first methods aiming for usercenteredness
• Based on Scandinavian tradition on trade unions(Norway, Sweden)
• Academically interesting, functioned as basis formany new methods
• Several variations, all of them were:• Involving the users into the design processs• Using common, low tech tools• Focusing on user tasks – not so much on user interface
design• Producing a specification that essentially reduced the
time used on designing and testing the user interface
Participatory Design..
• Is based on observing the users with master-apprentice-model
• Users participate the design team’s sessions and tellabout their work, context and tasks
• What currently goes well and what does not
1. Definingwork flows
2. Definingtask objects
3. Designinguser interface
Joint Application Design
• Was developed in IBM to support the traditionaldesign process
• Efficiency oriented – popular in industry• Suitable for supporting the start of the project,
analysis and design• JAD was carried out as an indipendent piece of
project• Otherwise the project was done in the traditional way
Joint Application Design..
• In JAD the user is ”one of thedesigners”• Based on a workshop with specifiedstructure
• JAD workshop should include peoplefrom different departmets
• Team work encouraged• Produces a document defining work
flows, dislays and the reports for themanagement information system
• Also interviews may be used•• All phass are done in the earlyphase, before technical design
1. Project set up
2. Study/research
3. Preparations
4. JAD workshop
5. End report
Contextual Design
• Developed by Karen Holtzblatt & Hugh Beyer• Emphasis on the beginning of the development project• Detailed instructions for different stages• The design team carries out a remarkable analysis and
test phase before going to implementation• UI design is started only at phase 5• Implementation is started in phase 7• The natural structure of the observed work!
• Often only some parts are applied, the first phase oftenjust alone
Contextual Design..
1. Contextual Inquiry
2. Work Modeling
3. Consolidation
4. Work Redesign
5. User EnvironmentDesign
6. Mock-up and Testwith Customers
7. Putting into Practise
The next phase is basedon the previous
Esimerkki lähteeestä:Applying Contextual Design to
Build a Course Scheduler:A Case StudyD’Amico et al,
Proceedings of the 41stACM Southeast Conference
2003 ACM
TRUMP..
• Fairly simple method covering the whole productdevelopment process
• User centered & efficient• Based on the old human centered standard ISO
13407• Ten stages + a evaluation of capabilities• Recommended to go through all stages• Shortened version: stages 1,6 and 9.
Trump [Serco]
Topics of the lecture
Human centered process• ISO 9241-210 (and a bit 9241-11)• Example methods (oldies) (PD, TRUMP, CD)
Software processes• Example methods (XP, RUP)
HCD-process in relation to sofwareengineering
Software lifecycle costs
What thoughts does this diagram provoke?
Source: Haikala & Märijärvi,Ohjelmistotuotanto, 2002
Maintenance67 %
Testing 8 %
Integration 7 %
Coding 5%
Design 6 %
Requirements specification 5 %Requirements 2 %
Software engineering methods
• Iterative vs. e.g. waterfall• There has been talk about (r)evolutive software
development
• Agile• Heavy• Open Source
• Iterativeness has been increasing (for the last~15 years)
Approaches in software projects
Semi heavy Heavy
Light Semi heavy
Size and complexity of the product
The
size
and
com
plex
ityof
the
proj
ect
orga
niza
tion
Source: Pasi Kantelinen, OHKO XIX 2003
Agile methods (ketterät menetelmät)
XP = eXtreme Programming (”dead”)
Scrum (the most used currently (but dying J))
Crystal…Lean software development
More information http://www.agileAlliance.org/
Manifesto for Agile Software Development
We are uncovering better ways of developingsoftware by doing it and helping others do it.Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on
the right, we value the items on the left more.
http://agilemanifesto.org/
Extreme Programming
Continuous designSmall releasesTest orientednessStoriesSimple design solutionsPair programmingCollective ownershipCustomer is always presentNo working overtime
Top-down (UCD) vs. bottom-up (XP)
Lean software development –Lean principles
1. Eliminate waste2. Amplify learning3. Decide as late as possible4. Deliver as fast as possible5. Empower the team6. Build integrity in7. See the whole
”Heavy” process models
• CMM (Capability Maturity Model)• Basic level = chaos• Repeatable = basic methods• Defined = organization is developing its processes• Controlled = organization has started colleting data about it’s
processes• Optimizing = data is used systematically
• RUP (Rational Unified Process)
Rational Unified process
Inception Elaboration Construction Transition
- Tuotteen ominaisuudet- Alustavat mallit- Alustava tuotearkkitehtuuri- Tarvittaessa proto- Riskit- Alustava projektisuunnitelma- Onnistumiskriteerit
- Täydennetyt mallit- Toteutettu toimiva perusarkkitehtuuri- Arkkitehtuurikuvaus- Riskit- Seuraavan vaiheen projektisuunnitelma- Onnistumiskriteerit- Alustava käyttöohje
- Lähes täydelliset mallit- Beta-versio- Arkkitehtuurikuvaus- Seuraavan vaiheen projektisuunnitelma- Onnistumiskriteerit- Käyttöohje
- Installointivalmis ohjelmisto- Byrokratiadokumentit- Täydelliset mallit- Arkkitehtuurikuvaus- Käsikirjat- WWW-palvelut yms.
Iter. Iter.Iter. Iter. Iter.Iter.Iter.Iter. Iter.Iter.
Iter. Iter.Iter.
RUP continues
Inception Elaboration Construction Transition
Requirements
Analysis
Design
Implementation
Test
iter. 1 iter. 2 ... ... ... .... .... .... ...
Topics of the lecture
Human centered process• ISO 9241-210 (and a bit 9241-11)• Example methods (oldies) (PD, TRUMP, CD)
Software processes• Example methods (XP, RUP)
HCD-process in relation to sofwareengineering
XP /Agile vs. HCD (Contextual Design)
Bottom-up Top-down
Customer centered User (human) centered
Strongly iterative Strongly iterative
Hi-fi prototypes Low-fi prototypes
Focus on implementation,testability, functionality
Focus on task flows, concept,navigation
Considering implementation andtestability is more based on”individuals”
Scenarios / use stories Scenarios
RUP vs. HCD (Contextual Design)
Top-down Top-down
Customer centered User (human) centered
Strongly iterative Strongly iterative
Prototyping is considered, butthe nature of prototypes is notdefined
Low-fi prototypes
Focus moves from”businesscases” to user interface designto implementation
Focus on task flows, concept,navigation
Considering implementation andtestability is more based on”individuals”
Scenarios Scenarios
HCD + traditional waterfall
• Simple to apply• HCD-activities carried out mainly during feasibility and design
phases• Evaluation at test phase
• Traditional HCD process problem: can it be fixed radically at this stage anymore
• On the other hand, fundamental low-prototyping is allowed in the design phase• Can be applied to products where interactions are simple and the
system is not very dynamic• Waterfall has been so last season for >20 years, but it’s still very
popular J
References
• ISO 9241-210, ISO 9241-11, ISO 13407• Timo Jokela, Netta Iivari, Juha Matero, Minna Karukka. The Standard
of User-Centered Design and the Standard Definition of Usability:Analyzing ISO 13407 against ISO 9241-11
• Hugh Beyer and Karen Holtzblatt. Contextual Design: DefiningCustomer-Centered Systems. Morgan Kaufmann, 1998
• Nielsen, Usability Engineering, Morgan Kaufmann, 1993• Xristine Faulkner, Usability Engineering, 1999
We used to read this but…now its just highlyrecommendable:
• Introduction to Agile Usability - User Experience Activitieson Agile Development Projects
• http://www.agilemodeling.com/essays/agileUsability.htm