Lecture 5: Usability Management Flashcards
Spiral Model
The spiral model was proposed by Boehm in 1987
It consists of 5 activities
- Determine objectives and constraints
- Evaluate alternatives
- Identify risks
- Resolve risks by assigning priorities to risks
- Develop a prototype for the highest identified risk
These 5 activities are applied in rounds (see next slide)
- Each round uses the waterfall model
- If a risk has successfully been resolved, the results are evaluated and the next round is planned
- If the risk could not be resolved, the project is terminated immediately.
Spiral model picture

Limitations of Linear and Iterative Models
- Linear and iterative models do not deal well with frequent change
- The Waterfall model assumes that once you are done with an activity, all issues covered in that activity are closed and cannot be reopened
- The Spiral model can deal with change between activities, but does not allow change within an activity
- What do you do if change is happening more frequently?
Change influences choice of process model
- Three definitions •
- PT = Project Time
- TBC = Time Between Change
- MTBC = Mean Time Between Change
Changes and models
- No change during project
- MTBC » PT
- Waterfall model, V-model
- Infrequent changes during the project
- MTBC ≈ PT
- Spiral model, Unified Process
- Changes are frequent
- MTBC « PT
- Agile Process.
Why Prototyping?
- Instant gratification
- Tangibility
- A prototype helps to understand a system early
- • Improves poor communication
- • Allow early decision making
- • Mistakes are found early
- “We want instant prototypes. They allow us to make more mistakes faster”
- Elaine Hunt, Clemson University
- “We want instant prototypes. They allow us to make more mistakes faster”
Failures are helpful
- Henry Petrovski’s paradoxical approach to design:
- Better information comes from designs that fail than from those that succeed
- Reason: failures draw more scrutiny. Petrovski says without failure, complacency sets in.
- Famous quote from Petrovski: „Success in Engineering is defined by its failures“.
Knowledge must be falsifiable
- Karl Popper (“Objective Knowledge”):
- There is no absolute truth when trying to understand reality
- One can only build theories, that are “true” until somebody finds a counter example
- The truth of a theory is never certain
- We can only use phrases like: “by our best judgment”, “using state-of-the-art knowledge”
- Falsification: The act of disproving a theory or hypothesis.
Consequence for Software Systems
- In software engineering any system, including a user interface, is a model and thus a theory:
- We build models to find counter examples by:
- Requirements validation, user interface testing, review of the design, source code testing, system testing, etc.
- Testing: The act of disproving a model
- We build models to find counter examples by:
- Usability Testing: The act of testing a user interface
- We can do these tests with prototypes.
A Misnomer: Rapid Prototyping
- Revolutionary prototyping has sometimes been called rapid prototyping
- The term rapid prototyping should not be used
- It confuses prototyping with rapid development
- Prototyping is a technical issue: It is a particular life cycle process model
- Rapid development is a management issue. It is a particular way to control a project
- Prototyping can go on forever if it is not restricted
- “Time-boxed” prototyping limits the duration of the prototype development.
Horizontal vs. Vertical Integration

2 Types of Prototyping Activities
- Revolutionary Prototyping
- Also called specification prototyping
- Develop a prototype to get the requirements right, then throw the prototype away, and develop the whole system from scratch
- Advantage: The prototype can be developed in a short amount of time
- Disadvantage: Users may like features in the prototype that are very expensive to implement
- Evolutionary Prototyping
- The prototype is used as the basis for the development of the final system (nothing is thrown away)
- Advantage: Short time to market
- Disadvantage: Evolutionary prototyping can be used only if the target system can be constructed in the prototyping language.
- The prototype is used as the basis for the development of the final system (nothing is thrown away)
3 Types of Prototypes
- Illustrative Prototype
- Develop the user interface with a set of storyboards
- Implement them on a napkin or with a user interface builder
- Good for a first dialog with the client •
- FunctionalPrototype
- Implement and deliver an operational system with minimum functionality
- Then add more functionality, order identified by risk
- Good for incremental development
- Exploratory Prototype (“Hack”)
- Implement part of the system to learn more about the requirements
- Good for paradigm breaks.
Prototyping Techniques
- • Hapticprototypes
- • Paperprototypes
- • Wireframe prototypes (also called Mock-ups)
- • Term from 3D computer graphics
- • Used for the schematic presentation of a screen or webpage
- • Storyboard
- • Sequence of Wireframes
- • Low and High fidelity prototypes •
- Scenario based video prototypes •
- Wizard of Oz Prototyping
wizard of oz prototyping
- Also called Wizard of Oz experiment
- • Tool Support: SketchWizard [Davis et al 2007]
- • System Status:
- • User Interface ready for testing
- • Functionality is not completely done
- • User interacts with the system
- • Functionality is replaced by a real person also called Wizard, who is not visible to the user
- • User believe the system to be finished but it actually is operated by the Wizard.
Managing expectations
If you show end users (especially non programmers) a screen which has an unfinished user interface, they will think that the program is unfinished
If you show end users a screen which has a polished user interface, they will think the program is almost done.
Evaluating Prototypes
- Heuristic Evaluation can already be used for the evaluation of Prototypes
- It can start early in the development process, does not have to wait for the final product
- Heuristic evaluation works on
- Sketches
- Paper prototypes
- Unstable prototypes
- “Missing-element” problems are harder to find on sketches
- Because you’re not actually using the interface, you aren’t blocked by feature’s absence
- Look harder for them.
Risks of Prototyping
- Developer may become attached to the prototype
- Excessive development time of the prototype
- Customer might not appreciate how much work must be done to turn a prototype into a fully functioning system
- User may confuse between prototype and finished system
- Prototype may actually perform the functions it implements better than a fully functional deliverable
- Negative feelings toward the software if prototype has problems
- Cost of implementing the prototype.
Definitions usability
- Usability: Measures how well a user can use the system functionality. Is measured by several categories
- Learnability: A system is more usable if it is easier/faster to learn than another system
- Number of steps: A system is more usable than another system if requires less steps to accomplish a particular task
- “The system is easy to use”: One of the most frequently misused terms, especially in advertising. Often these systems are actually unusable.
- Unusability: The user has extreme difficulties to learn or to use the system.
User Interfaces Are Hard to Design
- Developer is not equal to user
- Software engineers communicate mostly with other developers
- User Interface development is about communicating with users
- The user is always right
- Consistent problems are the system’s fault
- ….but the user is not always right
- Users are not designers
- User interface takes a lot of software development effort
- • ~50% of Design, Implementation and Maintenance
- Managers must be involved (Usability management).
Usability Management
- Usability is Multidimensional
- Learnability
- Is the user interface easy to learn?
- Efficiency
- Once it learned learned, is it fast to use?
- Memorability
- Is it easy to remember what the user has learned?
- Error handling and Robustness
- Are errors recoverable?
- Satisfaction(Userexperience)
- Is the user interface enjoyable to use?
Properties of the motor processor
- • Imagine you have to grab a bottle or a paper clip
- Moving your hand to the target is a sequence of corrections
- You are overshooting or undershooting your hand while you are trying to reach the target
- Fitts’sLaw(PaulFitts,1954)
- Specifies how fast you can move your hand to a target of a certain size at a certain distance (within arm’s length)
- The Time T to move your hand to a target of size S at distance D away is:
- • T=a+blog(D/S+1)
Consequences of Fitts’s Law
- Targets at the screen edge are easy to hit
- You do not need a correcting cycle to hit it
- Unclickable margins are foolish
- Hierarchical menus are hard to hit
- Too many correction cycles
- Gimp/GTK: instantly closes menu (< 100 ms)
- Windows: 500 ms timeout (exceeds Tp even for Slowman)
- Chrome does it right: triangular zone
- • Pie menus are faster than popup menus
- • Each menu item is the same distance D away from the mouse pointer.
Noise in Communication (ctd)
- When projects become more complex, many choices have to be made
- You will experience even more conflicts between your different learned simplification systems
- Therefore you have to make even more decisions
- If you don’t understand the requirements or the technology of a system, your old learned preferences may unconsciously make decisions for you.