Title: http:www'flickr'comphotos21218849N033901372331sizesl
1PaperPrototyping
http//www.flickr.com/photos/21218849_at_N03/39013723
31/sizes/l/
2A word from our sponsor (EECS)
- Want a permanent job, an internship, or info
about grad school? - Want free (?) food?
- http//eecs.oregonstate.edu/
- undergraduate/seniorDinner/index.ht
m - Seniors get first dibs, juniors get unclaimed
spots
3Customers and users should be your friends
- They probably know much more about the problem
than you do. - They probably have some ideas about how to solve
the problem. - They are your best resource for discovering your
own mistakes before you start to code.
4Risk an unwanted event that has negative
consequences
- Risk impact the loss that would result if a risk
turns into a problem - Measured in time, quality, cost
- Risk likelihood probability that the risk will
turn into a problem - Risk exposure impact likelihood
- Risk control the degree to which you can reduce
exposure
5Risk management
- Risk management
- Risk assessment
- Risk identification
- Risk analysis
- Risk prioritization
- Risk control
- Risk reduction
- Risk management planning
- Risk resolution
6Example risksin an e-commerce application
- Risk mobile phones (unexpectedly) need to be
supported - Impact 30 of revenue? Likelihood ???
- Risk credit card validation component cannot
handle debit cards - Impact 10 of revenue? Likelihood ???
7Risk management and prototyping
- Traditional requirements-gathering
- Good for controlling risks regarding what the
system should do - But dont know what the system should look like
- Prototyping
- Good for controlling risks regarding what the
system should look like - Not so good for non-visual aspects of the system
8Top ten risks
- Personnel shortfalls
- Unrealistic schedules and budgets
- Developing the wrong software functions
- Developing the wrong user interface
- Gold plating
- Continuing stream of requirements changes
- Shortfalls in externally performed tasks
- Shortfalls in externally furnished components
- Real-time performance shortfalls
- Straining computer science capabilities
- Personnel shortfalls
- Unrealistic schedules and budgets
- Developing the wrong software functions
- Developing the wrong user interface
- Gold plating
- Continuing stream of requirements changes
- Shortfalls in externally performed tasks
- Shortfalls in externally furnished components
- Real-time performance shortfalls
- Straining computer science capabilities
9The general idea of prototyping
- You depict what you think the system should look
like. - You test the prototypes with customers or
(preferably) users. - You fix up the prototypes and use what you learn
to implement the real system.
10Waterfall kinds of processes
Requirements analysis
Prototyping
Design
Implementation
Testing
Operation
11Spiral kinds of processes
Analyze risk prototype
Draft a menu ofprogram designs
Draft a menu ofarchitecture designs
Analyze risk prototype
Draft a menu ofrequirements
Analyze risk prototype
Establishrequirements
Plan
Establisharchitecture
Plan
Establishprogram design
Implementation
Testing
Operation
12Different kinds of prototypes
- Throwaway prototypes
- Paper prototypes sketches on pieces of paper
- Low-fidelity prototypes implemented with a tool
(e.g. Photoshop) - Evolutionary prototypes
- High-fidelity prototypes implemented on the
target platform not fully functional, but
destined to be incorporated into the final
product
13Paper prototypes
- Sketch on paper and/or post-it notes
- Dont worry (much) about colors, fonts, icons
- Doesnt need to be beautiful
- Does need to show all important UI elements
- Does need to be intelligible by users
14Example systemHere are the functional
requirements
- System will have web pages for mobile phones
where citizens can report panhandlers - Certain users called volunteers will view
reports and claim panhandlers - After visiting a claimed panhandler to offer
social services (e.g. counseling), a volunteer
can mark a panhandlers report as done
15Example systemHeres a panhandler report state
chart
Report status
New(just reported)
Done(visited by volunteer)
claim
unclaim
Claimed(by volunteer)
mark donesucceeds
16Testing prototypes
- Pretend to be the computer while a user tries to
perform a use case with your prototype - Let the user interface speak for itself
- So shut up and see if the user can do it
himself!!! - If the user misunderstands the user interface,
then fix it on the spot if you can. - Principle the user is always right (in
prototyping)
17UC1 Report panhandler
- Actor any user
- Preconditions user views site in mobile browser
- Postconditions system records report
- Flow of events
- User selects a city
- User enters information about the panhandler
- System validates inputs
- System records report in database
18- User selects a city
- User enters information about the panhandler
- System validates inputs
- System records report in database
19UC2 Process panhandler
- Actor volunteer (member of task force)
- Preconditions volunteer logged in via mobile
browser - Postconditions
- Volunteer reviews list or map of panhandlers
- Volunteer marks report as claimed
- System records report as claimed
- Volunteer visits the panhandler
- Volunteer marks report as done
- System records report as done
20- Volunteer reviews list or map of panhandlers
- Volunteer marks report as claimed
- System records report as claimed
- Volunteer visits the panhandler
- Volunteer marks report as done
- System records report as done
21- Volunteer reviews list or map of panhandlers
- Volunteer marks report as claimed
- System records report as claimed
- Volunteer visits the panhandler
- Volunteer marks report as done
- System records report as done
22Some problems revealed by prototype
- What happens during validation of a panhandler
report? - How does the volunteer navigate from the list
view to the map view? - What happens if there are lots and lots of
reports how does the user make sense of it? - So what happens when the user marks a panhandler
report as done?
23Non-visual problems that theprototype might not
catch
- What if there are duplicate reports?
- How do new cities get added to the system?
- Do users need to be authenticated to make a
panhandler report? Why/why not? - Is the mapping interface really going to run
properly in a mobile browser? Sounds risky. - Identifying such problems requires techniques
beyond prototyping.
24Low-fidelity prototypes
- Fidelity faithfulness or closeness to what
the ultimate product would look like - Paper prototypes are ultra low fidelity
- Low-fidelity prototypes can be made in
- Photoshop
- PowerPoint
- HTML
- Any other tool thats cheap and easy to use
25Promoting health awareness with aknow your
numbers card system
http//www.flickr.com/photos/juhansonin/347137175/
sizes/o/
26Prototype splash-screen for Anaconda, an
installer framework for Linux
http//www.flickr.com/photos/sstorari/3671284171/s
izes/o/
27Prototype of what an iPod might look like with a
320x480 resolution
http//www.flickr.com/photos/ben30/2866006814/size
s/o/
28Prototype of a site for managing and sharing
photos
http//www.flickr.com/photos/
missrogue/68077527/sizes/o/
29Paper vs low-fidelity
- Low-fidelity lets you explore
- Colors, fonts, iconography, etc
- But low-fidelity
- Is more expensive
- Requires somebody with design skillz
- Is harder to fix on the fly
- And neither one can detect certain problems
30Whats next for you?
- Get organized today for HW3 due on Tuesday
- Try to meet your customer by Thursday
- Test paper prototypes
- Review your requirements definition
- Then over the weekend, update the requirements
- Remember to do your reading for Thursday.