Agile Prototyping Best Practices

Post on 06-Jan-2017

1.309 views 0 download

Transcript of Agile Prototyping Best Practices

Agile Prototyping Best PracticesNate Ginesi

In collaboration with:

About Me

Nate GinesiSenior User Experience Architect

Background is in visual design and marketing. Started in design and SEO and moved to Information Architecture and User Experience because the problem solving aspect and psychology of design is always what intrigued me.

I love that I still get to use my design problems solving skills while solving complex business problems for users.

MEand

About LookThink

LookThink is a full service user experience agency focusing on B2B enterprise product design.

and

Our Clientsand

$

CO

MP

LEX

ITY

TIMEFRAMEDays Years

Less

Com

plex

Mor

e C

ompl

ex

$$

$$

$

$

$

$

$

$

$

$

$

$

$

Our Projects

Vary widely …

• in scope.

• in timeframe.

• as to when we enter the project.

• in client involvement.

• in the number of people working

on them.

and

What I hope you get out of this

• Help you move to a more Agile design process.

• Obtain faster approvals from product owners.

• Create natural collaboration with design team, development team,

and clients.

• Provide smoother handoffs to developers.

• Make your lives easier.

and

So let’s talk about how we got here ...

PROTOTYPINGSTATIC WIREFRAMES

and

and

Shown to clients for approval:

Note the versioning, and reference to the 187 page requirement document.

Easy to follow, right?

Given to developers for development:

I kid you not …this happened

and

OUR UX SOLUTIONS

How they looked:

What the client saw:

Is this going to be open all the time?

Can I click this image?

What does this show when clicked?

Why is this turned off?

What happens when I click the map?

Where will this go?

What page is this?

What happens when I click the video?

Can I click on these?

So, can users click these?

Why is this turned off?

What happens when there are more than 20 results?

We put an image here to build trust in the brand.

The results page can only support one search category at a time.

We reduced the number of links here to two to increase focus.

Users are now enticed to search first and can find what they are looking for easily.

Confused users can now easily access the video explaining who you are.

The table is more well spaced to provide easy scanning.

Suppressing the button will clue users into the selection access.

Users will care about the location of their results, so a map is critical to them finding usable results.

Users can now easily access a particular facility.

What we wanted the client to see:

We realized we were losing the fight, not to our work, but to the static

wireframe as a deliverable

and

We committed to codeless prototyping as our method of Agile

delivery

and

Committed to the switch in one month

1

2015

START USING PROTOTYPES!

and

STYLE TILES

PROTOTYPING

WIREFRAMES

Now, EVERYTHING we deliver prior to development gets delivered in UXPin

AaDESIGNS

and

WHY?

Clarity …

Acceptance criteriaand

If you’re going to make the move to prototyping, here are a few things to consider:

1. There WILL be a learning curve with the technology.

Practice makes perfect.

2. Don’t panic when you feel like you’re spending WAY more time up front.

What you lose in time you’ll save in frustration.

3. Timelines for deliverables will be different throughout the project.

But you’ll get more out of each deliverable.

4. Accept that there will be things you can’t demonstrate.

Look for other examples online to help.

and

and

How do we incorporate these prototypes into our process?

Why am I here talking to you?

What have we learned?

What has been successful?

and

Best Practice #1

Prototype in Chunks: Depth vs. Breadth

vs.

and

… EVERYTHING FOR ME STARTS ON PAPER

and

… THEY AREN’T PRETTY… THEY’RE BARELY LEGIBLE

and

… BUT THEY WORK

and

Simple boxes

Links to pages

Light interactions

Content if possible

and

Are we done here?How do I retrieve my tasks?

How do I see what I sent?

How do I know when tasks are complete?

What do the permissions look like?

What defines a complete task?

Can I put deadlines on tasks?

Nope: This is too much for this sprint.

and

and

Option 1 Option 2 Option 3 Option 4

For dropdown example, see navigation at www.theopen.com

www.theopen.com

and

Link to references online to save time.

Best Practice #2

Prioritize your use cases for prototyping

and

When deciding what to prototype first focus on targets that will

ease approvals and create clarity

and

Keep your ears open for statements like:

“I’m just not sure about this.”

“I don’t think people will get it.”

“I don’t understand what’s happening here.”

“Can you explain to me why we have to do this?”

“Do you think people are going to see that?”

Priority #1

Has the client expressed confusion or concern over a particular piece of functionality?

Having a client or stakeholder hung up on a piece of functionality is a sure fire way to add hours to a project.

Recognize confusion and address it quickly!

and

Priority #2

What are the highest value targets?

Target the critical pieces first.

If there are critical spots in the application, e.g. posting a photo in a photo sharing app, focus on getting those interactions in front of people and vetted before building out things like the settings.

Do this

beforethis

and

Priority #3

What are the most complex interactions?

You may not have to build it out. If it’s doing something similar to another site, save time and reference that.

Option 1 Option 2 Option 3 Option 4

For dropdown example, see navigation at www.theopen.com

www.theopen.com

Priority #4

What pieces are using commonly accepted UI patterns?

If you’re not doing anything novel, it can probably wait.

If you’re dealing with a known entity, you can usually wait to prototype the details, reference another instance, or avoid it altogether, e.g. a standard login.

and

Priority #5

What parts of the product have we not figured out yet?

You can’t prototype what you don’t know.

Create the page so you don’t interrupt flow, but leave it blank if you don’t know what it is yet. ?

and

Best Practice #3

Pace Your Fidelity

and

Two types of fidelity:

INTERACTIVE (FUNCTIONAL) FIDELITYHow complete are the links, interactions, of the prototype?

DESIGN (VISUAL) FIDELITYHow complete is the design with regards to colors, shapes, hierarchy, layout, content etc.?

and

Fidelity over time

A quick landscape of prototyping fidelities. (Image credit: Fred Beecher, Boxes & Arrows)(View large version)

and

Benefits of your lo-fi version

• Acts as sitemap, a 10,000-foot view • Just the basic interactions to get through the app• Low investment • Helps find holes in your requirements

and

If you don’t have content, write it!*

• The more you write for web products, the better you get at it.

• You get a much deeper understanding of the product. • The best way to get the right content from the client, is

to put in wrong content.

and

*obviously there are instances when budget and timeline don’t allow for this, but if you’re having a hard time getting content from a client, this is an effective way to get them to act.

and

The more realistic the content, the better both designers and devs can

understand the full scope of the system

Visual fidelity over time

A quick landscape of prototyping fidelities. (Image credit: Fred Beecher, Boxes & Arrows)(View large version)

and

Designs get a separate prototype.

• We lower the functional fidelity, but raise the visual fidelity to a production level design.

• These are often done in Sketch and exported back into UXPin.

• Since stakeholders have already seen the functionality in the functional prototype, we don’t have to spend time recreating it in the visual prototype.

• Allows design and IA to work in parallel.

Designs

Don’t recreate the prototype in design.

• Focus on a few key interactions and states.

• Use simple toggle and hide functions and leave out any complex logic.

• If you’re building for user testing, focus only on the things you’re testing.

Learn more: free Guide to Prototyping Process

Best Practice #4

Annotate Your User Flows

and

Your prototype becomes the documentationDevelopers follow on screen annotations to understand what the app DOES, and not just follow the documentation and acceptance criteria.

Your documentation

here

and

Highlight functionality on a user journeyE.g. “A user arrives on a page with a table of data. A search bar is available for the user to find a specific data element. When the user hits search, the table will narrow the results. Upon clicking a result, the user will go to the individual record.”

And then the underlines would show the focus state, the search results table, and link to the individual record respectively.

and

Reduce confusion by including statesEnsure you have all the different states the page could be in and ensure developers can find them easily instead of having to click around.

and

Reuse elements(links, triggers, toggles, etc.)

Copy the elements acting as triggers in the prototype and use them right in the annotations.

When they need to update, you can swap them out.

and

Benefits of the documentation?

- Ensures that devs see all the interactions.

- Devs get a better sense of the product as a whole.

- It allows the devs to plan ahead before their spring begins.

- Gives QA folks more contextual acceptance criteria.

- Creates a common language between devs and designers.

- It bakes in a level of user testing.

and

Best Practice #5

Validate Small Builds Often

and

Early validation increases agility

• Finds small mistakes before they’re big ones.• Finds holes in the product.• Prevents over-architecting.

Validate small, complete pieces

• If demoing incomplete thoughts, do so in person.• Focus on flows first.• Move to smaller interactions next.• Demo only once you’ve added clarity.• Don’t abandon the user.• Reference earlier reviews to validate decisions for better

buy in.

WHAT HAVE THE RESULTS BEEN LIKE?

and

Things just run smoother

We’re able to spend more time on real business solutions and user experiences, and spend less time dealing with … the crap.

(for lack of a better term)

and

Benefits of agile prototyping

- There’s no risk of someone opening the wrong PDF from the email last week instead of the most recent version

- There’s a common language between client, developers, and designers.

- When we work in UXPin, everything is viewed at the correct size in a browser.

- No zooming issues.

- We can easily set breakpoints.

- We know it will display reliably on the client’s devices.

- THIS is why we put designs back into UXPin

Benefits of agile prototyping (cont.)

- We’ve seen faster approval from clients.

- Clients aren’t caught up in the deliverable.

- They can focus more on business solutions and UX work we did for them.

- They can interact with the deliverable instead of guessing.

- Higher quality and consistency of designs.

and

Benefits of agile prototyping (cont.)

- Less cycles are being wasted on petty stuff.

- Better conversations and relationships with developers.

- Comments and feedback are more easily managed.

- No more crazy email threads.

- Feedback cycles are much faster.

- Better questions during reviews.

and

Overall, life is just easier with prototyping

CLIENT

IA

DEV

DESIGN

and

Best practices for agile prototyping (summary)

1. Prototype in Chunks: Depth vs. Breadth

2. Prioritize your use cases for prototyping

3. Pace Your Fidelity

4. Annotate Your User Flows

5. Validate Small Builds Often

THANK YOU!

Questions?

and

Try these best practices yourself

Collaborative Design Platform

● Wireframe, prototype, user test, & more.

● Get feedback & co-design in real time.

● Import and scale your design system.

● Generate visual specs for developer handoff.

and