Post on 22-Feb-2016
description
transcript
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 1
Informatics 121Software Design I
Lecture 10
Duplication of course material for any commercial purpose without the explicit written permission of the professor is prohibited.
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 2
Today’s lecture
• Design methods
• Feature comparison
• Contextual inquiry (light)
• Design studio 3
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 3
Design cycle
analyze evaluate
synthesize
goalsconstraints
assumptionsdecisions
ideas
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 4
Realistic design process
satisfactory experience
plan for realization
change in the world
what is it to accomplish?
how does one interact with it?
what is its conceptual core?
what are its implementation details?
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 5
Realistic design process
satisfactory experience
plan for realization
change in the world
what is it to accomplish?
how does one interact with it?
what is its conceptual core?
what are its implementation details?
What happens here?
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 6
Realistic design process
satisfactory experience
plan for realization
change in the world
what is it to accomplish?
how does one interact with it?
what is its conceptual core?
what are its implementation details?
Or here?
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 7
Design method
• A self-contained, structured technique that guides a designer in advancing some aspect of the design project at hand
• Serves as a bridge from the overall process of design to actual individual and collaborative design work
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 8
Origin
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 9
Today
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 10
Example
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 11
Example
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 12
Example
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 13
Example
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 14
Characteristics of design methods
• Each design method suits a specific purpose with respect to the design cycle and overall design project
• Each design method expects a certain context for it to lead to optimal results
• Applying just one design method rarely suffices (but still may help)
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 15
Example – decision making
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 16
Example – unearthing assumptions
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 17
Example – generating ideas
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 18
Example – identifying goals
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 19
Choosing design methods to apply
• Focus on essence
• Focus on the unknown
• Focus on making progress
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 20
Focus on essence
• Every design problem has an essence, the key – and often most difficult – part that must be understood and addressed ‘right’ for the design solution (plan for change in the world) to satisfy the stakeholders
• Postponing understanding and addressing the essence of a design problem incurs a significant risk of rework at a later time
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 21
Focus on the unknown
• Every design problem involves knowledge deficiencies – gaps in the understanding of the design problem and its possible solutions – that must be addressed for the design solution (plan for change in the world) to satisfy the stakeholders
• Postponing understanding and addressing knowledge deficiencies incurs a significant risk of rework at a later time
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 22
Focus on making progress
• Every design problem involves times during which the design project gets stuck; focusing effort elsewhere and continuing to make progress is often the right approach in response
• Continuing to focus on a stuck issue for extended periods of time tends to be effort that is wasted
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 23
Software design methods
Applicationdesign
Interactiondesign
Architecturedesign
Implementationdesign
Analysis • competitive testing• contextual inquiry• feature comparison• stakeholder analysis• task analysis
• critical incident technique• interaction logging• personas• scenarios
• framework assessment• model-driven
engineering• quality-function-
deployment• reverse engineering• world modeling
• release planning• summarization• test-driven design• visualization
Synthesis • affinity diagramming• concept mapping• mind mapping• morphological chart
• design/making• participatory design• prototyping• storyboarding
• architectural styles• generative programming• component reuse• decomposition
• pair programming• refactoring• search• software patterns
Evaluation • requirements review• role playing• wizard of oz
• cognitive walkthrough• evaluative research• heuristic evaluation• think-aloud protocol
• formal verification• simulation• weighted objectives
• correctness proofs• inspections/reviews• parallel deployment• testing
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 24
Software design methods
Applicationdesign
Interactiondesign
Architecturedesign
Implementationdesign
Analysis • competitive testing• contextual inquiry• feature comparison• stakeholder analysis• task analysis
• critical incident technique• interaction logging• personas• scenarios
• framework assessment• model-driven
engineering• quality-function-
deployment• reverse engineering• world modeling
• release planning• summarization• test-driven design• visualization
Synthesis • affinity diagramming• concept mapping• mind mapping• morphological chart
• design/making• participatory design• prototyping• storyboarding
• architectural styles• generative programming• component reuse• decomposition
• pair programming• refactoring• search• software patterns
Evaluation • requirements review• role playing• wizard of oz
• cognitive walkthrough• evaluative research• heuristic evaluation• think-aloud protocol
• formal verification• simulation• weighted objectives
• correctness proofs• inspections/reviews• parallel deployment• testing
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 25
Feature comparison
• Feature comparison is the process of conducting research to learn about the features of competing products
Tesla Model S Toyota Prius Volkswagen Beetle
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 26
Procedure
• Identify competitors and their products
• Establish dimensions for comparison
• Conduct research
• Analyze results
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 27
Example: identify competitors and their products
Tesla Model S Toyota Prius Volkswagen Beetle
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 28
Example: establish dimensions for comparison
• Type of engine• Miles per gallon• Range on a single refuel/recharge• Number of passengers• Number of doors• …
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 29
Example: conduct research
• Request brochures
• Visit manufacturer web site
• Visit independent review web site (e.g., J.D. Powers)
• Visit car dealers
• Ask friends
• …
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 30
Example: analyze results
Tesla Model S Toyota Prius Volkswagen Beetle
Type of engine Fully electric Hybrid Gasoline
Miles per gallon 89 50 32
Range on a single refuel/recharge 300 540 594
Number of passengers 7 5 4
Number of doors 4 4 4
… … … …
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 31
Example: analyze results
• A fully electric vehicle reduces the driving range significantly
• A hybrid car may represent an appropriate tradeoff between driving range and fuel efficiency
• Four doors is standard
• Tesla Model S, except for its driving range, is (tied for) best in all categories, and therefore perhaps our main competitor
• …
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 32
Typical notation: comparison matrix
Tesla Model S Toyota Prius Volkswagen Beetle
Type of engine Fully electric Hybrid Gasoline
Miles per gallon 89 50 32
Range on a single refuel/recharge 300 540 594
Number of passengers 7 5 4
Number of doors 4 4 4
… … ...
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 33
Alternative notation: radar chart
Miles per gallon
Range on a single refuel/recharge
Number of passengers
Number of doors 0
5
10
Tesla Model SToyota PriusVolkswagen Beetle
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 34
Criteria for successful use
• Direct or indirect access to the specifications of the competing products
• Creation of a meaningful set of dimensions for comparison
• Appropriate depth of analysis
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 35
Strengths and weaknesses
Strengths• Helps identify key competitors• Creates a detailed account of
competing products• Builds an understanding of the
full landscape as it exists today– range of feature sets– differentiation– best practices
• Lightweight design method
Weaknesses• Focuses on the present, not what
competing products might look like in the (near) future
• Reinforces existing boundaries, perhaps stifling creativity
• Lightweight design method
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 36
Contextual inquiry (light)
• Contextual inquiry is the process of observing and interviewing a user in context – while they are engaged in the actual setting of life
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 37
Procedure
• Plan
• Identify users
• Visit and inquire
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 38
Example: plan
• Decide, beforehand, the purpose of the contextual inquiry– what type of information– which type of setting– which type of users
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 39
Example: identify users
• Draw an advertisement in the newspaper
• Social media recruiting
• Ask client for access to representative users
• Use an external recruitment service to target particular (typically representative) demographics
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 40
Example: visit and inquire
• Two-to-three hour visit
• Master-apprentice model– observer takes note of what the user does– user shares their thoughts on the work they perform– observer inquires why the user does what they do– observer takes notes
• Ideally, a contextual inquiry becomes a rich conversation– shared stories and insights– clarified interpretations
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 41
Example (insufficient inquiry, bias)
http://youtu.be/o1sswVMmSO4
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 42
Example (too much inquiry)
http://youtu.be/Gd5fA9UQDjE
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 43
Typical notation: notes
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 44
Criteria for successful use
• Access to the ‘right’ users involved in the ‘right’ activities
• Extensive sharing
• Ability to expand inquiry
• A strong focus on why (why not)
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 45
Strengths and weaknesses
Strengths• Reveals underlying and often
invisible work structure– flows, tasks, artifacts, physical
environment, culture, …• Involves actual users• Exposes rationale• Can challenge assumptions held
by the designer• Not as involved as a full
ethnography, but can still yield very usable insights and results
Weaknesses• Users may not know the answers
to the important questions• Steeped in current practices,
perhaps stifling creativity• Observer bias• Lessons that can be learned
depend strongly on the activities being performed by the user
• Stops short of analysis
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 46
Variants
• Contextual design
• Questionnaire
• Ethnography
• Interview
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 47
Design studio 3
• Venture capitalist V has come to UC Irvine, seeking to upstage the online note taking world
• The venture capitalist knows that, rather than through her proposing the kind of app she wants, she is better served by running this as a competition and getting a broad range of ideas from which she then can choose
• V is particularly interested in forward thinking apps; apps that will really make a difference 2-5 years from now
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 48
Design studio 3
• Your team is tasked with designing a novel note taking, sharing, and organizing app that explicitly aims to upstage existing apps in this space
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 49
Design studio 3 – assignment
• Research existing note taking apps, what they can and cannot do, what kinds of functionality they provide and not, and where the holes and opportunities in this kind of app landscape are
• Talk to at least 20 different people for whom a new app might be beneficial, and learn from them what they might and might not want
Department of Informatics, UC IrvineSDCL Collaboration LaboratorySoftware Design and
sdcl.ics.uci.edu 50
Design studio 3 – assignment
• Two deliverables– a written document with your findings– a 10 minute presentation summarizing your findings
• This is a team assignment (with upcoming team evaluations)
• Due Tuesday November 19