57
From problems to a prototype Bob-Antoine J. MENELAS, Ph.D.

From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

From problems to a prototype

Bob-Antoine J. MENELAS, Ph.D.

Page 2: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Objectives•  Know the problem •  Prototype the solution

Page 3: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Outline•  The Root Cause Analysis approach

o  The approach o  Implementations

•  Prototype the solution

Page 4: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Definitions Root Cause – Deepest underlying cause(s) of positive or negative

symptoms within any process that, if resolved, would eliminate or substantially reduce the symptom.

Root Cause Analysis (RCA) – a tool used both reactively, to investigate an adverse event that already has occurred, and proactively, to analyze and improve processes and systems before they break down (Preuss, 2003).

Data Analysis – the process of gathering, reviewing, and evaluating data.

Symptoms – the noticeable gap between expectations and reality; the “red flag” that draws attention to the issue.

4

Page 5: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Root Cause Analysis (RCA)? •  Helps identify the problem or challenge •  Helps resolve the Problem •  Eliminates Patching

•  Conserves Resources •  Facilitates Discussion (leading to solutions) •  Provides Rationale for Strategy Selection

5

Page 6: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

The RCA process •  The process of determining root cause was used most

notably in the business sector o  Toyota, in particular, used the system for their production. o  The process is being used in other sectors as well.

•  We will see two ways to implement this approach.

6

Page 7: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Determining the Root Cause What is the underlying cause(s) of symptoms, that if resolved, would

eliminate or reduce the symptom?

Two ways are possible : •  The Five Whys. A process to seek root cause by asking “why” five

times in succession.

•  System Planning Process. Problem solving approach asks 4 questions: Where are we now? Where are we going? How will we get there? What is holding us back?

7

Page 8: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

The Five Whys

8

Asking the question ‘Why’ 5 times, will lead you to the root cause of the problem.

Steps: 1.  Write down the specific problem. Writing the problem helps team

focus on the same problem. 2.  Ask why the problem happens and write down the answer. Repeat 5

times – 5 ‘Whys’, until team is in agreement that problem is identified.

See web resource:

http://www.isixsigma.com/index.php?option=com_k2&view=item&id=1308:&Itemid=49

Page 9: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

5 Whys: Example.

9

Why• Why did the user failed to log in?

• She typed the wrong password.

Why• Why she typed the wrong password?

• She forgot it.

Why• Why she forgot it?

• We have a constraint making passwords.

Why• Why she didn’t used the reset process?

• She tried but did not get the email before 30s.

Why• Why such a delay in the process?

• Because, we are using a third party plugin

Page 10: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

System Planning Process

10

� System Planning Process. Problem solving approach asks 4 questions: v Where are we now? v Where are we going? v How will we get there? v What is holding us back?

Page 11: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Problem Solving Approach

11

• What are the facts (current data)?• What worked well? What can be improved?

Where are we now?

• What do we want to achieve (goal)?• What is the expected outcome?

Where are we going?

• What steps must we take to ensure we reach the outcome?

• Who are the key members of team (teachers, staff, administrators)?

How will we get there?

• Is there support for improvement planning and implementation?

• What roadblocks must we overcome in order to reach the expected outcome?

What is holding us back?

Page 12: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

� Agreement on a root cause. � Cause is logical, makes sense, and

provides clarity to the problem. � Cause is something you can influence

and control � If cause is resolved, there is realistic

hope that the problem can be reduced or prevented in the future.

12

Indicators that you have found Root Cause

Page 13: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Practice•  Apply the root cause analysis to understand why

you do not have better grades

Page 14: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Outline•  The Root Cause Analysis approach

o  The approach o  Implementations

•  Prototype the solution •  What is a prototype? •  Why prototype? •  Prototyping benefits •  Prototyping objectives •  Prototyping process •  What to prototype •  Different kinds of prototyping

low fidelity high fidelity

•  Evolutionary prototype •  Throw away prototype

Page 15: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

The Task-Centered Design Process •  figure out who's going

to use the system to do what

•  Create personas •  choose representative

tasks for task-centered design

•  rough out a design •  think about it •  create a mock-up or

prototype

•  test it with users•  iterate•  build it•  track it•  change it

Page 16: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

What is a prototype?

In other design fields a prototype is a small-scale model:

a miniature car a miniature building or town

Page 17: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Outline•  The Root Cause Analysis approach

o  The approach o  Implementations

•  Prototype the solution •  What is a prototype? •  Why prototype? •  Prototyping benefits •  Prototyping objectives •  Prototyping process •  What to prototype •  Different kinds of prototyping

low fidelity high fidelity

•  Evolutionary prototype •  Throw away prototype

Page 18: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

What is a prototype? In interaction design it can be (among other things):

a series of screen sketches a storyboard, i.e. a cartoon-like series of scenes a Powerpoint slide show a video simulating the use of a system a lump of wood (e.g. iphone) a cardboard mock-up a piece of software with limited functionality written in the target language or in another language

Page 19: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Outline•  The Root Cause Analysis approach

o  The approach o  Implementations

•  Prototype the solution •  What is a prototype? •  Why prototype? •  Prototyping benefits •  Prototyping objectives •  Prototyping process •  What to prototype •  Different kinds of prototyping

low fidelity high fidelity

•  Evolutionary prototype •  Throw away prototype

Page 20: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Why prototype? • Evaluation and feedback are central to interaction design • Stakeholders can see, hold, interact with a prototype more easily than a document or a drawing • Team members can communicate effectively • You can test out ideas for yourself • It encourages reflection: very important aspect of design • Prototypes answer questions, and support designers in choosing between alternatives

Page 21: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Outline•  The Root Cause Analysis approach

o  The approach o  Implementations

•  Prototype the solution •  What is a prototype? •  Why prototype? •  Prototyping benefits •  Prototyping objectives •  Prototyping process •  What to prototype •  Different kinds of prototyping

low fidelity high fidelity

•  Evolutionary prototype •  Throw away prototype

Page 22: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Prototyping benefits•  Misunderstandings between software users and

developers are exposed •  Missing services may be detected and confusing

services may be identified •  A working system is available early in the process •  The prototype may serve as a basis for deriving a

system specification •  The system can support user training and system

testing

Page 23: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Prototyping benefits•  Improved system usability •  Closer match to the system needed •  Improved design quality •  Improved maintainability •  Reduced overall development effort

Page 24: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Outline•  The Root Cause Analysis approach

o  The approach o  Implementations

•  Prototype the solution •  What is a prototype? •  Why prototype? •  Prototyping benefits •  Prototyping objectives •  Prototyping process •  What to prototype •  Different kinds of prototyping

low fidelity high fidelity

•  Evolutionary prototype •  Throw away prototype

Page 25: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Prototyping objectives•  The objective of evolutionary prototyping is to

deliver a working system to end-users. The development starts with those requirements which are best understood.

•  The objective of throw-away prototyping is to validate or derive the system requirements. The prototyping process starts with those requirements which are poorly understood

Page 26: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Prototyping in the software process

•  Evolutionary prototyping o An approach to system development where an

initial prototype is produced and refined through a number of stages to the final system

•  Throw-away prototyping o A prototype which is usually a practical

implementation of the system is produced to help discover requirements problems and then discarded. The system is then developed using some other development process

Page 27: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Approaches to prototyping

Evolutionaryprototyping

Throw-awayPrototyping

Deliveredsystem

Executable Prototype +System Specification

OutlineRequirements

Page 28: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Outline•  The Root Cause Analysis approach

o  The approach o  Implementations

•  Prototype the solution •  What is a prototype? •  Why prototype? •  Prototyping benefits •  Prototyping objectives •  Prototyping process •  What to prototype •  Different kinds of prototyping

low fidelity high fidelity

•  Evolutionary prototype •  Throw away prototype

Page 29: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Prototyping process

Establishprototypeobjectives

Defineprototypefunctionality

Developprototype

Evaluateprototype

Prototypingplan

Outlinedefinition

Executableprototype

Evaluationreport

Page 30: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

What to prototype?

• Technical issues

• Work flow, task design

• Screen layouts and information display

• Difficult, controversial, critical areas

Page 31: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Outline•  The Root Cause Analysis approach

o  The approach o  Implementations

•  Prototype the solution •  What is a prototype? •  Why prototype? •  Prototyping benefits •  Prototyping objectives •  Prototyping process •  What to prototype •  Different kinds of prototyping

low fidelity high fidelity

•  Evolutionary prototype •  Throw away prototype

Page 32: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Low-fidelity Prototyping

• Uses a medium (support) which is unlike the final medium, e.g. paper, cardboard

• Is quick, cheap and easily changed • You focus on the content

• Examples: sketches of screens, task sequences, etc ‘Post-it’ notes storyboards ‘Wizard-of-Oz’

Page 33: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important
Page 34: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important
Page 35: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Sketching

• Sketching is important to low-fidelity prototyping

• Don’t be inhibited about drawing ability. Practice simple symbols

Page 36: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Storyboards (User journey)

• Often used with scenarios, bringing more detail, and a chance to role play

• It is a series of sketches showing how a user might progress through a task using the device

• Used early in design

Page 37: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

• Index cards (3 X 5 inches)

• Each card represents one screen

• Often used in website development

Using index cards

Page 38: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

‘Wizard-of-Oz’ prototyping • The user thinks they are interacting with a computer, but a developer is responding to output rather than the system. • Usually done early in design to understand users’ expectations • What is ‘wrong’ with this approach?

>Blurb blurb >Do this >Why?

User

Page 39: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

High-fidelity prototyping • Uses materials that you would expect to be in the final product.

• Prototype looks more like the final system than a low-fidelity version.

• Danger that users think they have a full system…….see compromises

Page 40: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Compromises in prototyping • All prototypes involve compromises • For software-based prototyping maybe there is a slow response? sketchy icons? limited functionality? • Two common types of compromise

•  ‘horizontal’: provide a wide range of functions, but with little detail •  ‘vertical’: provide a lot of detail for only a few functions

• Compromises in prototypes mustn’t be ignored. Product needs engineering

Page 41: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Outline•  The Root Cause Analysis approach

o  The approach o  Implementations

•  Prototype the solution •  What is a prototype? •  Why prototype? •  Prototyping benefits •  Prototyping objectives •  Prototyping process •  What to prototype •  Different kinds of prototyping

low fidelity high fidelity

•  Evolutionary prototype •  Throw away prototype

Page 42: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Evolutionary prototyping•  Must be used for systems where the specification

cannot be developed in advance e.g. o AI systems and user interface systems

•  Based on techniques which allow rapid system iterations

•  Verification is impossible as there is no specification. Validation means demonstrating the adequacy of the system

Page 43: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Evolutionary prototyping

Build prototypesystem

Develop abstractspecification

Use prototypesystem

Deliversystem

Systemadequate?

YES

N

Page 44: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Evolutionary prototyping advantages•  Accelerated delivery of the system

o  Rapid delivery and deployment are sometimes more important than functionality or long-term software maintainability

•  User engagement with the system o Not only is the system more likely to meet user

requirements, they are more likely to commit to the use of the system

Page 45: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Evolutionary prototyping•  Specification, design and implementation are inter-

twined •  The system is developed as a series of increments

that are delivered to the customer •  Techniques for rapid system development are used

such as Agile •  User interfaces are usually developed using a GUI

development toolkit

Page 46: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Evolutionary prototyping problems•  Management problems

o  Existing management processes assume a waterfall model of development

o  Specialist skills are required which may not be available in all development teams

•  Maintenance problems o Continual change tends to corrupt system

structure so long-term maintenance is expensive •  Contractual problems

Page 47: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Prototypes as specifications

•  Some parts of the requirements (e.g. safety-critical functions) may be impossible to prototype and so don’t appear in the specification

•  An implementation has no legal standing as a contract

•  Non-functional requirements cannot be adequately tested in a system prototype

Page 48: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Incremental development•  System is developed and delivered in increments

after establishing an overall architecture •  Requirements and specifications for each

increment may be developed •  Users may experiment with delivered increments

while others are being developed. therefore, these serve as a form of prototype system

•  Intended to combine some of the advantages of prototyping but with a more manageable process and better system structure

Page 49: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Incremental development process

Validateincrement

Build systemincrement

Specify systemincrement

Design systemarchitecture

Define systemdeliverables

Systemcomplete?

Integrateincrement

Validatesystem

Deliver finalsystem

YES

NO

Page 50: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Outline•  The Root Cause Analysis approach

o  The approach o  Implementations

•  Prototype the solution •  What is a prototype? •  Why prototype? •  Prototyping benefits •  Prototyping objectives •  Prototyping process •  What to prototype •  Different kinds of prototyping

low fidelity high fidelity

•  Evolutionary prototype •  Throw away prototype

Page 51: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Throw-away prototyping•  Used to reduce requirements risk •  The prototype is developed from an initial

specification, delivered for experiment then discarded

•  The throw-away prototype should NOT be considered as a final system o  Some system characteristics may have been left out o  There is no specification for long-term maintenance o  The system will be poorly structured and difficult to

maintain

Page 52: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Throw-away prototypingOutline

requirementsDevelopprototype

Evaluateprototype

Specifysystem

Developsoftware

Validatesystem

Deliveredsoftwaresystem

Reusablecomponents

Page 53: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Prototype delivery•  Developers may be pressurised to deliver a throw-

away prototype as a final system •  This is not recommended

o  It may be impossible to tune the prototype to meet non-functional requirements

o  The prototype is inevitably undocumented o  The system structure will be degraded through

changes made during development o Normal organisational quality standards may not

have been applied

Page 54: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Rapid prototyping techniques

•  Various techniques may be used for rapid development o  Dynamic high-level language development o  Database programming o  Component and application assembly

•  These are not exclusive techniques - they are often used together

•  Visual programming is an inherent part of most prototype development systems

Page 55: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

User interface prototyping•  It is impossible to pre-specify the look and feel of a

user interface in an effective way. prototyping is essential

•  UI development consumes an increasing part of overall system development costs

•  User interface generators may be used to ‘draw’ the interface and simulate its functionality with components associated with interface entities

•  Web interfaces may be prototyped using a web site editor

Page 56: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Key points•  A prototype can be used to give end-users a

concrete impression of the system’s capabilities •  Prototyping is becoming increasingly used for

system development where rapid development is essential

•  Throw-away prototyping is used to understand the system requirements

•  In evolutionary prototyping, the system is developed by evolving an initial version to the final version

Page 57: From problems to a prototype - UQAC€¦ · Evolutionary prototyping advantages • Accelerated delivery of the system o Rapid delivery and deployment are sometimes more important

Conclusion•  Regarding high fidelity prototypes

o We need for information about designing UI and UX