Paper Prototyping.

Slides:



Advertisements
Similar presentations
GENERAL USABILITY CONSIDERATIONS. Overview of usability Aspects of usability – Learnability, memorability, efficiency, error reduction Techniques for.
Advertisements

Paper Prototyping.
Processes. Outline Definition of process Type of processes Improvement models Example Next steps… 1.
Paper Prototyping.
Introduction to Software Engineering Lecture 3 André van der Hoek.
Project Planning and Control Main issues:  How to plan a project?  How to control it?
Project Planning and Control Main issues:  How to plan a project?  How to control it? ©2008 John Wiley & Sons Ltd. vliet.
Prototyping. Introduction Low-fidelity prototyping High-fidelity prototyping Compromises in prototyping From design to implementation.
The Decision-Making Process IT Brainpower
OHT 6.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Development plan and quality plan objectives The elements of the development.
Evaluating Requirements
Academic Advisor: Prof. Ronen Brafman Team Members: Ran Isenberg Mirit Markovich Noa Aharon Alon Furman.
SIMS 202 Information Organization and Retrieval Prof. Marti Hearst and Prof. Ray Larson UC Berkeley SIMS Tues/Thurs 9:30-11:00am Fall 2000.
Evaluating Requirements
Creator: ACSession No: 9 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringNovember 2005 Risk Management CSE300 Advanced Software Engineering.
OHT 6.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Development plan and quality plan objectives The elements of the development.
Paper Prototyping.
SE 555 Software Requirements & Specification 1 SE 555 Software Requirements & Specification Prototyping.
SDLC. Information Systems Development Terms SDLC - the development method used by most organizations today for large, complex systems Systems Analysts.
What is a prototype? A prototype is a small scale model of your larger product. Can be a physical object, or a simple software program. Many physical.
1 CSc Senior Project Software Testing. 2 Preface “The amount of required study of testing techniques is trivial – a few hours over the course of.
RISK MANAGEMENT IN SOFTWARE ENGINEERING RISK MANAGEMENT IN SOFTWARE ENGINEERING Prepared by Prepared by Sneha Mudumba Sneha Mudumba.
Spring /6.831 User Interface Design and Implementation1 Lecture 6: User-Centered Design GR1 (project proposal & analysis) released today, due.
Web Design Process CMPT 281. Outline How do we know good sites from bad sites? Web design process Class design exercise.
Sofia Carlander Kinoshita Laboratory 2004/2005
HTML and Designing Web Pages. u At its creation, the web was all about –Web pages were clumsily assembled –Web sites were accumulations of hyperlinked.
Ethical and Social...J.M.Kizza 1 Module 8: Software Issues: Risks and Liabilities Definitions Causes of Software Failures Risks Consumer Protection Improving.
Introduction to Usability By : Sumathie Sundaresan.
Software Project Management Lecture # 8. Outline Earned Value Analysis (Chapter 24) Topics from Chapter 25.
SPEAKER : KAI-JIA CHANG ADVISER : QUINCY WU DATA : Spiral Model.
1 CO1552 Web Application Development The Web Design Process.
Chapter 11: Software Prototyping Omar Meqdadi SE 273 Lecture 11 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
1 WEB Engineering E-Commerce Strategy & Management COM350.
1 Project Risk Management Project Risk Management Dr. Said Abu Jalala.
OHT 5.1 Galin, SQA from theory to implementation © Pearson Education Limited 2004 Contract review process and stages Contract review objectives Implementation.
© The McGraw-Hill Companies, Software Project Management 4th Edition Risk management Chapter 7.
What is it? A risk is a potential problem — it might happen, it might not. But, regardless of the outcome, it’s a really good idea to identify it. Assess.
Introduction to Software Engineering ECSE-321 Unit 4 – Project Management 10/19/2015Introduction to Software Engineering – ECSE321Unit 4 – Project Management/1.
Refine Produce Implement Design and Development Stages.
Requirements Validation CSCI 5801: Software Engineering.
Pre-Project Components
Chapter 9 Prototyping. Objectives  Describe the basic terminology of prototyping  Describe the role and techniques of prototyping  Enable you to produce.
Systems Analysis and Design in a Changing World, Fourth Edition
Prototyping. A software requirements prototype is a mock-up or partial implementation of a software system – Helps developers, users, and customers better.
Date 23 rd Jan Shatin 沙田 Mobile Information Architecture.
Project Management in the Software Development Environment CIS490.
Project & Risk Management For next class -- Pressman: 3, , 5.8, , 6.6 Introductions Software Development Processes Software Maturity Models.
Design, Prototyping and Construction In “ pure ” waterfall, design begins after requirements development has finished However, in the real world there.
Chapter 1: Fundamental of Testing Systems Testing & Evaluation (MNN1063)
Software Project Management Lecture 5 Software Project Risk Management.
Prototyping. Outline Risk Management Prototyping Kinds of Prototypes Example Activity 1.
Process Asad Ur Rehman Chief Technology Officer Feditec Enterprise.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Prototyping.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Overview Prototyping Construction Conceptual design Physical design Generating prototypes Tool support.
PROJECT PLANNING & MANAGEMENT Brittany Hamilton. PROGRESS TRACKING Do we understand customer’s needs? Can we design a system to solve customer’s problems.
Learning Aim B.  In this section, you will consider the resources necessary for designing your website.  You will also think about any constraints that.
Design, prototyping and construction(Chapter 11).
Prototyping Creation of concrete but partial implementations of a system design to explore usability issues.
Ashima Wadhwa.  Probably the most time-consuming project management activity.  Continuous activity from initial concept through to system delivery.
MANAGEMENT INFORMATION SYSTEM
Software Development Process includes: all major process activities all major process activities resources used, subject to set of constraints (such as.
CS 577b: Software Engineering II
RISK MANAGEMENT.
User-centred system design process
Introduction CSE 1310 – Introduction to Computers and Programming
Methodologies For Systems Analysis.
Analysis models and design models
Paper Prototyping
Refine Produce Implement
Presentation transcript:

Paper Prototyping

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. Customers and users should be your friends

Risk: 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

Example risks in an e-commerce application Risk: credit card validation component cannot handle debit cards – Impact: 10% of revenue? Likelihood: 20%?? Risk: mobile phones (unexpectedly) need to be supported – Impact: 30% of revenue? Likelihood: ???

Risk management – Risk assessment Risk identification Risk analysis Risk prioritization – Risk control Risk reduction Risk management planning Risk resolution

Risk management and prototyping Traditional requirements-gathering – Good for controlling risks regarding what the system should do – But don’t 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

Top 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 *

The general idea of prototyping 1.You depict what you think the system should look like. 2.You test the prototypes with customers or (preferably) users. 3.You fix up the prototypes and use what you learn to implement the real system.

Waterfall kinds of processes Requirements analysis Design Implementation Operation Testing Prototyping

Spiral kinds of processes Draft a menu of requirements Establish requirements Plan Analyze risk & prototype Draft a menu of architecture designs Analyze risk & prototype Draft a menu of program designs Establish architecture Establish program design ImplementationTestingOperation Plan

Different 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

Paper prototypes Sketch on paper and/or post-it notes Don’t worry (much) about colors, fonts, icons Doesn’t need to be beautiful Does need to show all important UI elements Does need to be intelligible by users

Example system Here 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 panhandler’s report as “done”

Example system Here’s a panhandler report state chart New (just reported) Claimed (by volunteer) Done (visited by volunteer) Report status claimunclaim mark done succeeds

“Testing” 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)

UC#1: 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

1.User selects a city 2.User enters information about the panhandler 3.System validates inputs 4.System records report in database

UC#2: Process panhandler Actor: volunteer (member of task force) Preconditions: volunteer logged in via mobile browser Postconditions: panhandler marked as “done” Flow of events: – 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

1.Volunteer reviews list or map of panhandlers 2.Volunteer marks report as “claimed” 3.System records report as claimed 4.Volunteer visits the panhandler 5.Volunteer marks report as “done” 6.System records report as done

1.Volunteer reviews list or map of panhandlers 2.Volunteer marks report as “claimed” 3.System records report as claimed 4.Volunteer visits the panhandler 5.Volunteer marks report as “done” 6.System records report as done

Some 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”?

Non-visual problems that the prototype 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.

Low-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 that’s cheap and easy to use

Promoting health awareness with a “know your numbers” card & system

Prototype splash-screen for Anaconda, an installer framework for Linux

Prototype of what an iPod might look like with a 320x480 resolution

Prototype of a site for managing and sharing photos missrogue/ /sizes/o/

Paper vs low-fidelity Low-fidelity lets you explore – Colors, fonts, iconography, etc But low-fidelity (compared to paper prototyping) – Is more expensive – Requires somebody with design “skillz” – Is harder to fix on the fly And neither one can detect certain problems…