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.