CS3724 Human-computer Interactioncourses.cs.vt.edu/~cs3724/summer1-2005-pyla/notes-1/02-LC.pdf · 4...
Transcript of CS3724 Human-computer Interactioncourses.cs.vt.edu/~cs3724/summer1-2005-pyla/notes-1/02-LC.pdf · 4...
CS3724 Human-computer Interaction
An Iterative, Evaluation-Centered Life Cycle For Interaction Development
Copyright © 2005 H. Rex Hartson and Deborah Hix.
LC2
Topics
Connections of user interaction development to software engineeringDevelopment activities in the usability engineering life cycleUsability managementUser interface development team
LC3
Typical Software Engineering LC
The Waterfall Model
System feasibility
Operations and maintenance
Implementation
Integration
Code
Detailed design
Product design
Software plans and requirements
System feasibility
Operations and maintenance
Implementation
Integration
Code
Detailed design
Product design
Software plans and requirements
System feasibilitySystem feasibility
Operations and maintenanceOperations and maintenance
ImplementationImplementation
IntegrationIntegration
CodeCode
Detailed designDetailed design
Product designProduct design
Software plans and requirementsSoftware plans and requirements
LC4
The Process of User Interaction Development
Connections of user interaction development to software engineeringAll these figures depict communication paths, not temporal ordering of activitiesDistinction between design and implementationStart with basic software engineering concept:
Software design
Software implemen-
tation
Spec'ns
Con-straints and problems
Software design
Software implemen-
tation
Spec'ns
Con-straints and problems
LC5
The Process of User Interaction Development
Adding systems analysis, testing, and problem (application) domain
Req'ts
Software design
Spec'ns
Software implemen-
tation
Pgms
Main feedback: design flaws, errors, modifications
Test plan, criteria
Problem domain design
Req'ts
Errors, bugs
Major reconsiderations
Systems analysis
Software testing
Con-straints and problems
Con-straints and problems
Con-straints and problems
Req'ts
Software design
Spec'ns
Software implemen-
tation
Pgms
Main feedback: design flaws, errors, modifications
Test plan, criteria
Problem domain design
Req'ts
Errors, bugs
Major reconsiderations
Systems analysis
Software testing
Con-straints and problems
Con-straints and problems
Con-straints and problems
LC6
The Process of User Interaction Development
Analogous activities for user interface development
Software design require-mentsUser
interface interaction
design
User interface software
design
User interface software
implemen-tation
User-based
evalua-tion of
interface software
Interface design req'ts, usability spec'ns
Software imple-mentation spec'ns Pgms
Test plan, usability spec'ns
Main feedback is due to low usability: design flaws, errors, modifications
Errors, bugs
Major reconsiderations
Systems analysis
Con-straints and problems
Con-straints and problems
Con-straints and problems
Software design require-mentsUser
interface interaction
design
User interface software
design
User interface software
implemen-tation
User-based
evalua-tion of
interface software
Interface design req'ts, usability spec'ns
Software imple-mentation spec'ns Pgms
Test plan, usability spec'ns
Main feedback is due to low usability: design flaws, errors, modifications
Errors, bugs
Major reconsiderations
Systems analysis
Con-straints and problems
Con-straints and problems
Con-straints and problems
LC7
The Process of User Interaction Development
Connecting the processes together and adding rapid prototyping
LC8
Systems analysis
Req'ts Spec'ns Pgms
Main feedback: design flaws, errors, modifications
Test plan, criteria
Problem domain design
Req'ts
Errors, bugs
Major reconsiderations
Software design require-mentsUser
interface interaction
design
User interface software
design
User interface software
implemen-tation
Interface design req'ts, usability spec'ns
Software imple-mentation spec'ns Pgms
Main feedback is due to low usability: design flaws, errors, modifications
Test plan, usability spec'ns
User-based
testing and
evalua-tion of
interface and non-interface software
Rapid proto-typing
Formative user-based
evaluation
Usability spec'ns
Con-straints
and problems
Con-straints
and problems
Con-straints
and problems
Errors, bugs
Con-straints
and problems
Con-straints
and problems
Con-straints
and problems
Applica-tion
software design
Applica-tion
software implemen-
tation
Systems analysis
Req'ts Spec'ns Pgms
Main feedback: design flaws, errors, modifications
Test plan, criteria
Problem domain design
Req'ts
Errors, bugs
Major reconsiderations
Software design require-mentsUser
interface interaction
design
User interface software
design
User interface software
implemen-tation
Interface design req'ts, usability spec'ns
Software imple-mentation spec'ns Pgms
Main feedback is due to low usability: design flaws, errors, modifications
Test plan, usability spec'ns
User-based
testing and
evalua-tion of
interface and non-interface software
Rapid proto-typing
Formative user-based
evaluation
Usability spec'ns
Con-straints
and problems
Con-straints
and problems
Con-straints
and problems
Errors, bugs
Con-straints
and problems
Con-straints
and problems
Con-straints
and problems
Applica-tion
software design
Applica-tion
software implemen-
tation
Systems analysis
Req'ts Spec'ns Pgms
Main feedback: design flaws, errors, modifications
Test plan, criteria
Problem domain design
Req'ts
Errors, bugs
Major reconsiderations
Software design require-mentsUser
interface interaction
design
User interface software
design
User interface software
implemen-tation
Interface design req'ts, usability spec'ns
Software imple-mentation spec'ns Pgms
Main feedback is due to low usability: design flaws, errors, modifications
Test plan, usability spec'ns
User-based
testing and
evalua-tion of
interface and non-interface software
Rapid proto-typing
Formative user-based
evaluation
Usability spec'ns
Con-straints
and problems
Con-straints
and problems
Con-straints
and problems
Errors, bugs
Con-straints
and problems
Con-straints
and problems
Con-straints
and problems
Applica-tion
software design
Applica-tion
software implemen-
tation
Systems analysis
Req'ts Spec'ns Pgms
Main feedback: design flaws, errors, modifications
Test plan, criteria
Problem domain design
Req'ts
Errors, bugs
Major reconsiderations
Software design require-mentsUser
interface interaction
design
User interface software
design
User interface software
implemen-tation
Interface design req'ts, usability spec'ns
Software imple-mentation spec'ns Pgms
Main feedback is due to low usability: design flaws, errors, modifications
Test plan, usability spec'ns
User-based
testing and
evalua-tion of
interface and non-interface software
Rapid proto-typing
Formative user-based
evaluation
Usability spec'ns
Con-straints
and problems
Con-straints
and problems
Con-straints
and problems
Errors, bugs
Con-straints
and problems
Con-straints
and problems
Con-straints
and problems
Applica-tion
software design
Applica-tion
software implemen-
tation
LC9
The Process of User Interaction Development
The rest of this course is about just this part:
Systems analysis
User interface
interaction design
Interface design req'ts, usability spec'ns
Rapid proto-typing
Formative user-based
evaluation
Usability spec'ns
Con-straints
and problems
Systems analysis
User interface
interaction design
Interface design req'ts, usability spec'ns
Rapid proto-typing
Formative user-based
evaluation
Usability spec'ns
Con-straints
and problems
LC10
The Wheel – Usability Engineering Life Cycle Process Model
Iterative, evaluation-centered process model for interaction developmentNew life cycle concept comes from:– The waterfall model – movement toward completion– Star (Hartson & Hix, 1989) – evaluation centered– LUCID (Cognetics, Inc.) – development activities– Boehm’s Spiral Model – iteration – New work by Helms & Hartson (2001) – put it
together
LC11
The Wheel – Usability Engineering Life Cycle Process Model
– Star (Hartson & Hix, 1989)Evaluation centered
LC12
The Wheel – Usability Engineering Life Cycle Process Model
– Boehm’s spiral model-evolution through iteration
LC13
The Wheel – Usability Engineering Life Cycle Process Model
Determine objectives, alternatives, constraints
Evaluate alternatives, identify, resolve risks
Develop, verify next-level product
Plan next phases
Cumulative Cost
Commitment
Review
Determine objectives, alternatives, constraints
Evaluate alternatives, identify, resolve risks
Develop, verify next-level product
Plan next phases
Cumulative Cost
Commitment
Review
– Boehm’s spiral model abstracted
LC14
The Wheel – Usability Engineering Life Cycle Process Model
– Spiral model adapted
LC15
The Wheel – Usability Engineering Life Cycle Process Model
– Spiral unwound
LC16
The Wheel – Usability Engineering Life Cycle Process Model
– Spiral unwound and stretched out
LC17
The Wheel – Usability Engineering Life Cycle Process Model
– Waterfall with whirlpools
LC18
Wheel
Connect-ing into Wheel, for inter-cycle iteration
Product concept
User/taskmodel
Usage scenarios
Screendesigns
Lo-fiprototype
Hi-fiprototype
Integration
Deployment
Operationalsystem
Close down
Global evaluation
hub
Direction of evolutionary advancement
Product concept
User/taskmodel
Usage scenarios
Screendesigns
Lo-fiprototype
Hi-fiprototype
Integration
Deployment
Operationalsystem
Close down
Global evaluation
hub
Direction of evolutionary advancement
Product concept
User/taskmodel
Usage scenarios
Usage scenarios
Screendesigns
Lo-fiprototype
Hi-fiprototype
Integration
Deployment
Operationalsystem
Close down
Global evaluation
hub
Direction of evolutionary advancement
LC19
The Wheel – Usability Engineering Life Cycle Process Model
Life cycle=iterative configuration of cycles (each associated with a stage/form of the product)– Example: System analysis model, scenarios and
screen designs, lo-fi prototype, hi-fi prototype, software production & integration
Cycle is a sequence of four development activity types:
– Analyze– Design– Build– Evaluate
LC20
The Wheel – Usability Engineering Life Cycle Process Model
Cycle as sequence of four types of development activities
Evaluate
Design
Analyze ImplementCycle ofactivities
Product
form in
Product form out
Evaluate
Design
Analyze ImplementCycle ofactivities
Product
form in
Product form out
LC21
The Wheel – Usability Engineering Life Cycle Process Model
Zoom in on details of a generic cycle activity Activity type/
instance
Project role
Activity role
Tools/templates
Common databaseof documentation
TechniqueTechnique
Technique selection criteria
Product form in Product form
out
Relationships with other activities
Work products
Work products
Activity type/instance
Project role
Activity role
Tools/templates
Common databaseof documentation
TechniqueTechnique
Technique selection criteria
Product form in Product form
out
Relationships with other activities
Work products
Work products
Activity type/instance
Activity type/instance
Project roleProject role
Activity roleActivity role
Tools/templatesTools/templates
Common databaseof documentation
TechniqueTechniqueTechniqueTechnique
Technique selection criteria
Technique selection criteria
Product form in Product form
out
Relationships with other activities
Work products
Work products
LC22
The Wheel – Usability Engineering Life Cycle Process Model
Choose a technique for each activity type in each cycle
LC23
The Wheel – Usability Engineering Life Cycle Process Model
– Shows how each activity type is assigned a technique, the role of the person doing the activity, support tools, and documentation
Example: In scenario and screen design cycles, design walk-through is used as evaluation technique
Basic Principles– Process is product oriented– Products evolve through cycles (cycles named for
product forms)
LC24
The Wheel – Usability Engineering Life Cycle Process Model
– Each cycle is iterative– Each cycle contains same activity types– Each cycle is evaluation-centered– Work products (documentation) evolve over cycles– Process can be viewed at different levels
Process, cycle, activity, documentation
LC25
The Wheel – Usability Engineering Life Cycle Process Model
Any part of the process is an instance of what is possible– Pick and choose cycles, activities, iterations to meet
schedule, budget, management styleIntegrate with software engineering development processValidated by Helms & Hartson (2001) in e-commerce start-up company
LC26
The Wheel – Usability Engineering Life Cycle Process Model
Any part of process is instance of what is possible– Developers include their favorite UE methods and
techniques– Omit activities, cycles, iterations indicated by
management, budget, schedule, project scope, team composition
– Can be different every time
LC27
Usability Management
The control mechanism for the iterationControl involves:– Establishing usability specifications– Evaluating against usability specifications– Performing impact and cost/benefit analyses
LC28
Usability Management
– Deciding on changes to make to interaction design– Deciding when to stop iterating
Same process can be applied to develop user documentation or training course
LC29
Roles on user interface development teamNote: Different roles, but not necessarily different people
– User interaction designer (or usability engineer or usability specialist)
– Evaluator (or facilitator)– User (and/or user representative)– Software engineer and/or programmer – Technical writer– Graphic designer– Application domain expert (also called subject
matter expert)
Meet the User Interface Development Team