Top Banner
How to prototype to understand your clients antti.tarvainen@leonidasoy.fi @tarvaina harri.lammi@leonidasoy.fi @harri_lammi
65

How to prototype to understand your clients

Jun 26, 2015

Download

Technology

Antti Tarvainen

The talk by Antti Tarvainen and Harri Lammi at Turku Agile Day on May 16, 2012.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 2: How to prototype to understand your clients

1.

3.

2.

Understand the contextof your system.

Build prototypes to validate your understanding of the context and the design.

Talk in one slide

Different situations call for different kinds of prototypes.

Page 3: How to prototype to understand your clients

“A prototype in seven days”PROTOSONNI

Page 4: How to prototype to understand your clients

Demohttp://youtu.be/jVlYofasZnI

http://lausuntopalvelu.fi

https://github.com/leonidas/lausuntopalvelu-prototyyppibut look at it on your own risk — it really is throwaway code.

Case: Lausuntopalvelu

Page 5: How to prototype to understand your clients

Schedule:

Team:Proxy product owner

2 IX/UI designers

2 software developers

Start shop 1 dayUnderstand the problemIterate with paper protos

Design & Development 5 days

Design user interfaceDevelop functionality

Demo 2 hours Deliver to the customer

Page 6: How to prototype to understand your clients
Page 7: How to prototype to understand your clients
Page 8: How to prototype to understand your clients
Page 9: How to prototype to understand your clients
Page 10: How to prototype to understand your clients

Startshop Tips

DO have a schedule

DO let the client tell their story

DON’T try to come up with a solution before you understand the problem

DON’T delegate design responsibility to the client

Page 11: How to prototype to understand your clients

Personas

Scenarios

Paper prototypes

Wireframes

Layouts

Context

Solution

We need to understand the context before we can implement the solution.

From context tothe solution

Page 12: How to prototype to understand your clients

Personas

Scenarios

Paper prototypes

Wireframes

Layouts

From context tothe solution

Context

Solution

We use different tools to move from context towards solutions.

Page 13: How to prototype to understand your clients

Personas

Scenarios

Paper prototypes

Wireframes

Layouts

From context tothe solution

Context

Solution

We verify our understanding at each level with the client and by comparing to the other levels.

Page 14: How to prototype to understand your clients
Page 15: How to prototype to understand your clients

PO CODE

Page 16: How to prototype to understand your clients

Development Tips

DO have small tasks (< 2h)

DO commit and deploy all the time

DO have product owner test the prototype all the time

DON’T write anything extra

DON’T spend time in polishing

Page 17: How to prototype to understand your clients

Internals in this casejQuery, Transparency, Spine, Undescore, ...

CoffeeScript

Node.js

MongoDB

Github

Linode

YouTube

Page 18: How to prototype to understand your clients

Demo to the client

Page 19: How to prototype to understand your clients

Lessons learned

• 7-day projects are exciting!

• Throw the code away.

• Throw the design away.

Page 20: How to prototype to understand your clients

What is good software?

Page 21: How to prototype to understand your clients

What is a good tool?

Page 22: How to prototype to understand your clients

A tool is used in some context.

tool

context

Page 23: How to prototype to understand your clients

tool

context

In the context different forces act upon the tool

Page 24: How to prototype to understand your clients

tool

Tool is goodif it fits the context.

context

Page 25: How to prototype to understand your clients

tool

Tool is badif it doesn’t fit the context.

context

Page 26: How to prototype to understand your clients

Example.

Page 27: How to prototype to understand your clients

when you arebored and needentertainment

just a fewminutes of time

you can stop wheneveryou want

you don’twant to learn

anything difficult

alwayswith you

etc. etc.

Example.

Page 28: How to prototype to understand your clients

Example. when you arebored and needentertainment

just a fewminutes of time

you can stop wheneveryou want

you don’twant to learn

anything difficult

alwayswith you

etc. etc.

Page 29: How to prototype to understand your clients

Example. when you arebored and needentertainment

just a fewminutes of time

you can stop wheneveryou want

you want to learn something useful

alwayswith you

etc. etc.

Page 30: How to prototype to understand your clients

Example. when you arebored and needentertainmentsocial

situationyou can stop

wheneveryou want

you want to learn something useful

alwayswith you

etc. etc.

Page 31: How to prototype to understand your clients

So to create a good toolyou need two things.

Page 32: How to prototype to understand your clients

context

1. Understand the context where the tool will be used.

? ?

?

Page 33: How to prototype to understand your clients

context

2. Design a tool that fits the context.

tool

Page 34: How to prototype to understand your clients

tool

context

You cannot tell from an abstract idea,if it will fit the context.

Page 35: How to prototype to understand your clients

tool

context

As you make the idea more concrete,you will see its problems more clearly.

Page 36: How to prototype to understand your clients

tool

context

This gives you an idea how to improve it.

Page 37: How to prototype to understand your clients

tool

context

And so on.

Page 38: How to prototype to understand your clients

tool

Continue iteratinguntil you find a design that

fits the context well enough.

context

Page 39: How to prototype to understand your clients

specification design implem

entation testing maintenance

Traditional waterfall lacks iteration

Page 40: How to prototype to understand your clients

Probably resulting in a bad tool.

tool

context

specification design implem

entation testing maintenance

Page 41: How to prototype to understand your clients

Agile methods, e.g. Scrum,introduce iteration to fix that problem.

Page 42: How to prototype to understand your clients

But a few things are unclear

1. How do you find the context?

2. How does the context result in a backlog?

Page 43: How to prototype to understand your clients

user needs

User needs are the mostfundamental part of the context.

Page 44: How to prototype to understand your clients

user needs

architecture

user interface

requirements

data model

feature list

What is the most logical next step?Why?

?

Page 45: How to prototype to understand your clients

user interface

User interface is, because itcan be tested against user needs.

user needs

architecture

requirements

data model

feature list

Page 46: How to prototype to understand your clients

You cannot tell from e.g. data modelalone if it will match the user needs.

user interface

architecture

requirements

data model

feature list

user needs

Page 47: How to prototype to understand your clients

This is our process.

Page 48: How to prototype to understand your clients

The right side of the processis traditional agile, e.g. Scrum.

Page 49: How to prototype to understand your clients

Before starting Scrum weinvestigate the context and look

for solutions by prototyping.

Page 50: How to prototype to understand your clients

We find out the context of the systemby interviewing potential users.

context

?

??

?

Page 51: How to prototype to understand your clients

We describe the contextby writing scenarios.

context

?

Page 52: How to prototype to understand your clients

tool

context

We create prototypesbased on the scenarios.

?

Page 53: How to prototype to understand your clients

We test the prototypesusing simulation and user testing.

tool

context

?

Page 54: How to prototype to understand your clients

When the user interaction of the most common scenarios is clear, we put

them to the product backlog.

Page 55: How to prototype to understand your clients

A use case may consist of one or more features.

Page 56: How to prototype to understand your clients

We take new features to production basedon the rhythm of the project.

Preferrably as soon as they are ready.

Page 57: How to prototype to understand your clients

There are multiple kinds of prototypes.

Page 58: How to prototype to understand your clients

Paper prototyping is fastest.

Page 59: How to prototype to understand your clients

A fancier prototype adds precisionbut not necessarily accuracy.

Page 60: How to prototype to understand your clients

We use mostly paper prototypesand functional prototypes.

Page 61: How to prototype to understand your clients

The length of a paper prototypefeedback loop is minutes.

Page 62: How to prototype to understand your clients

The length of a functional prototypefeedback loop is days.

Page 63: How to prototype to understand your clients

Paper prototype is good forfinding out and validating

the use cases and the design.

Page 64: How to prototype to understand your clients

A functional prototype is good for communicating the vision of the product,

selling it and validating the market.

Page 65: How to prototype to understand your clients

1.

3.

2.

Understand the contextof your system.

Build prototypes to validate your understanding of the context and the design.

Different situations call for different kinds of prototypes.

Talk in one slide