146
Designing Under the Agile Fog of War

Designing Under the Agile fog of war

  • View
    797

  • Download
    1

Embed Size (px)

DESCRIPTION

Slides from my talk given at Style and Class at Hootsuite on Monday, 11th July 2014. This talk focuses on the struggles of maintaining a good design process whilst working in an Agile development environment. I explore the concept of the Agile Fog of War, which in essence is about the levels of fidelity we can work in to create a clear vision for our product's design. It's also critical to understand that working at these varying levels of fidelity that we keep our cost of change low to ensure we remain lean and agile with our decision making. I also throw in a couple of techniques that we use at Mobify (http://mobify.com) to ensure we keep making valuable decisions the whole way throughout our product design process.

Citation preview

Page 1: Designing Under the Agile fog of war

Designing Under the Agile Fog of War

Page 2: Designing Under the Agile fog of war

James Bryant @jamesbryant86

Page 3: Designing Under the Agile fog of war

Designer at Mobify

Page 4: Designing Under the Agile fog of war

Product TeamProduct TeamProduct Team

Page 5: Designing Under the Agile fog of war

Product team at Mobify builds tools that help our users create amazing

mobile web experiences.

Page 6: Designing Under the Agile fog of war

Development Process

Design Process

The Agile Fog of War

Clearing the Fog

Cost Of Change

Page 7: Designing Under the Agile fog of war

Development Process

Design Process

The Agile Fog of War

Clearing the Fog

Cost Of Change

Page 8: Designing Under the Agile fog of war

Agile Software Development

Page 9: Designing Under the Agile fog of war

Iterative and Incremental

Page 10: Designing Under the Agile fog of war

We work in 2 week sprints

Page 11: Designing Under the Agile fog of war

Ship code every sprint.

Page 12: Designing Under the Agile fog of war

“Small diffs are better than big bangs” !

- John Boxall, CTO at Mobify

Page 13: Designing Under the Agile fog of war

Development Process

Design Process

The Agile Fog of War

Clearing the Fog

Cost Of Change

Page 14: Designing Under the Agile fog of war

Design Process

Page 15: Designing Under the Agile fog of war

Design Process

Personas

User Flows

Information Architecture

Wireframes

Prototypes

User TestingMockups

Implementation (HTML & CSS)

User Testing

Review

Validation

Page 16: Designing Under the Agile fog of war

Personas

User Flows

Information Architecture

Wireframes

Prototypes

User TestingMockups

Implementation (HTML & CSS)

User Testing

Review

Validation

Page 17: Designing Under the Agile fog of war

Personas

User Flows

Information Architecture

Wireframes

Prototypes

User TestingMockups

Implementation (HTML & CSS)

User Testing

Review

Validation

Page 18: Designing Under the Agile fog of war

2 Week Sprint

Personas

User Flows

Information Architecture

Wireframes

Prototypes

User TestingMockups

Implementation (HTML & CSS)

User Testing

Review

Validation

Page 19: Designing Under the Agile fog of war

Personas

User Flows

Information Architecture

Wireframes

Prototypes

User TestingMockups

Implementation (HTML & CSS)

User Testing

Review

Validation

Page 20: Designing Under the Agile fog of war

Personas

User Flows

Information Architecture

Wireframes

Prototypes

User TestingMockups

Implementation (HTML & CSS)

User Testing

Review

Validation

Page 21: Designing Under the Agile fog of war

Wireframes

MockupsImplementation (HTML & CSS)

ReviewLeads to

Compromises

Page 22: Designing Under the Agile fog of war

Leads to Compromises

Wireframes

MockupsImplementation (HTML & CSS)

Review

Page 23: Designing Under the Agile fog of war

When we don't have enough time to build a coherent vision for future features

Page 24: Designing Under the Agile fog of war

we end up building this…

Page 25: Designing Under the Agile fog of war

Title Text

Page 26: Designing Under the Agile fog of war

Fitting the ideal design process into an agile development process is hard.

Page 27: Designing Under the Agile fog of war

Fitting the ideal design process into an agile development process is hard.

Really hard.

Page 28: Designing Under the Agile fog of war

Our Goal

Page 29: Designing Under the Agile fog of war

Strike a balance between rapid iteration and building a modular and extensible product.

Page 30: Designing Under the Agile fog of war

Development Process

Design Process

The Agile Fog of War

Clearing the Fog

Cost Of Change

Page 31: Designing Under the Agile fog of war

Fog of War

Page 32: Designing Under the Agile fog of war
Page 33: Designing Under the Agile fog of war
Page 34: Designing Under the Agile fog of war
Page 35: Designing Under the Agile fog of war

This is what working in 2 week sprints

can feel like

Page 36: Designing Under the Agile fog of war
Page 37: Designing Under the Agile fog of war

High Fidelity Low FidelityHigh Fidelity

Page 38: Designing Under the Agile fog of war

The Fog of War is simply varying degrees of fidelity

Page 39: Designing Under the Agile fog of war

The Fog of War is not a bad thing. !

If you know how to balance it you can use it to your advantage.

Page 40: Designing Under the Agile fog of war

Development Process

Design Process

The Agile Fog of War

Clearing the Fog

Cost Of Change

Page 41: Designing Under the Agile fog of war

Our Approach

Page 42: Designing Under the Agile fog of war

Scope long in low fidelity. Scope short in high fidelity.

Page 43: Designing Under the Agile fog of war

What is the spectrum of fidelity?

Page 44: Designing Under the Agile fog of war

Personas

User Flows

Information Architecture

Wireframes

Prototypes

User Testing

Mockups

Implementation (HTML & CSS)

User Testing

Review

Validation

Design Process

Page 45: Designing Under the Agile fog of war

User Flows

Information Architecture

Wireframes

Prototypes

Mockups

Implementation (HTML & CSS)

Page 46: Designing Under the Agile fog of war

User Flows

Information Architecture

Wireframes

Prototypes

Mockups

Implementation (HTML & CSS)

Page 47: Designing Under the Agile fog of war

User Flows

Information Architecture

Wireframes

Prototypes

Mockups

Implementation (HTML & CSS)

Fidelity

Page 48: Designing Under the Agile fog of war

User Flows

Information Architecture

Wireframes

Prototypes

Mockups

Implementation (HTML & CSS)

Page 49: Designing Under the Agile fog of war

User Flows

Information Architecture

Wireframes

Prototypes

Mockups

Implementation (HTML & CSS)

Page 50: Designing Under the Agile fog of war

User Flows

Information Architecture

Wireframes

Prototypes

Mockups

Implementation (HTML & CSS) High Fidelity

Medium Fidelity

Low Fidelity

Page 51: Designing Under the Agile fog of war

User Flows

Information Architecture

Wireframes

Prototypes

Mockups

Implementation (HTML & CSS) High Fidelity

Medium Fidelity

Low Fidelity

Page 52: Designing Under the Agile fog of war

User Flows

Information Architecture

Wireframes

Prototypes

Mockups

Implementation (HTML & CSS) High Fidelity

Medium Fidelity

Low Fidelity

Scope

Page 53: Designing Under the Agile fog of war

User Flows

Information Architecture

Wireframes

Prototypes

Mockups

Implementation (HTML & CSS) High Fidelity

Medium Fidelity

Low Fidelity

Scope

Page 54: Designing Under the Agile fog of war

User Flows

Information Architecture

Wireframes

Prototypes

Mockups

Implementation (HTML & CSS) High Fidelity

Medium Fidelity

Low Fidelity

Scope

Page 55: Designing Under the Agile fog of war

User Flows

Information Architecture

Wireframes

Prototypes

Mockups

Implementation (HTML & CSS) High Fidelity

Medium Fidelity

Low Fidelity

Scope

Page 56: Designing Under the Agile fog of war

User Flows

Information Architecture

Wireframes

Prototypes

Mockups

Implementation (HTML & CSS) High Fidelity

Medium Fidelity

Low Fidelity

Scope

Page 57: Designing Under the Agile fog of war

User Flows

Information Architecture

Wireframes

Prototypes

Mockups

Implementation (HTML & CSS) High Fidelity

Medium Fidelity

Low Fidelity

Scope

Page 58: Designing Under the Agile fog of war

User Flows

Information Architecture

Wireframes

Prototypes

Mockups

Implementation (HTML & CSS)

Low Fidelity

Scope

High Fidelity

Medium Fidelity

Page 59: Designing Under the Agile fog of war

User Flows

Information Architecture

Wireframes

Prototypes

Mockups

Implementation (HTML & CSS) High Fidelity

Medium Fidelity

Low Fidelity

Scope

Page 60: Designing Under the Agile fog of war

Scope

Explore User Flows as much as humanly possible

Develop Information Architecture for every known object

Begin to define new features

Smaller concern for technical implementation

Low Fidelity

Page 61: Designing Under the Agile fog of war

Scope

Map Critical Paths and attempt to account for as many states as

possible within those paths

Accommodate entry points to features that you aren’t committing to

developing just yet.

Tighter collaboration with developers to address implementation

Medium Fidelity

Page 62: Designing Under the Agile fog of war

Scope

Mockups designed to give front-end developers a precise expectations of

what each page/state should look like

Avoid scope creep. Functionality can be reduced to hit shipping targets.

Features are shippable and usable

Tight collaboration with developers to address implementation

High Fidelity

Page 63: Designing Under the Agile fog of war

Applying this to our Agile Development Process

Page 64: Designing Under the Agile fog of war

Sprint

Page 65: Designing Under the Agile fog of war

Sprint

Page 66: Designing Under the Agile fog of war

Sprint

Personas

User Flows

Information Architecture

Wireframes

Prototypes

User TestingMockups

Implementation (HTML & CSS)

User Testing

Review

Validation

Page 67: Designing Under the Agile fog of war

Personas

User Flows

Information Architecture

Wireframes

Prototypes

User Testing

Mockups

Implementation (HTML & CSS)

User Testing

Review

Review

Page 68: Designing Under the Agile fog of war

Personas

User Flows

Information Architecture

Wireframes

Prototypes

User Testing

Mockups

Implementation (HTML & CSS)

User Testing

Review

Review

Page 69: Designing Under the Agile fog of war

Personas

User Flows

Information Architecture

Wireframes

Prototypes

User Testing

Mockups

Implementation (HTML & CSS)

User Testing

Review

Review

UX

Page 70: Designing Under the Agile fog of war

Personas

User Flows

Information Architecture

Wireframes

Prototypes

User Testing

Mockups

Implementation (HTML & CSS)

User Testing

Review

Review

UI

UX

Page 71: Designing Under the Agile fog of war

High Fidelity

Medium Fidelity

Low FidelityPersonas

User Flows

Information Architecture

Wireframes

Prototypes

User Testing

Mockups

Implementation (HTML & CSS)

User Testing

Review

Review

UI

UX

Page 72: Designing Under the Agile fog of war

Personas

User Flows

Information Architecture

Wireframes

Prototypes

User Testing

Mockups

Implementation (HTML & CSS)

User Testing

Review

Review

UI

UX

Page 73: Designing Under the Agile fog of war

UI

UX

Page 74: Designing Under the Agile fog of war

There are many ways to implement this, depending on the structure of your team.

!

Here’s how we currently do it…

Page 75: Designing Under the Agile fog of war

UI

UX UX

UI

1 Sprint Multiple Sprints 1 Sprint

Page 76: Designing Under the Agile fog of war

UI

UX UX

UI

1 Sprint Multiple Sprints 1 Sprint

Page 77: Designing Under the Agile fog of war

UI

UX UX

UI

1 Sprint Multiple Sprints 1 Sprint

Page 78: Designing Under the Agile fog of war

UI

UX UX

UI

1 Sprint Multiple Sprints 1 Sprint

Page 79: Designing Under the Agile fog of war

Fog

Page 80: Designing Under the Agile fog of war

Low Fidelity

Fog

Page 81: Designing Under the Agile fog of war

Low Fidelity

Fog

Page 82: Designing Under the Agile fog of war

Low Fidelity

Medium Fidelity

Fog

Page 83: Designing Under the Agile fog of war

Low Fidelity

Medium Fidelity

Fog

Page 84: Designing Under the Agile fog of war

Low Fidelity

Medium Fidelity

High Fidelity

Fog

Page 85: Designing Under the Agile fog of war

Risks

Page 86: Designing Under the Agile fog of war

Working at low and medium fidelities can be risky

Easy to over simplify Overlook potential problems Spend too much time refining

Page 87: Designing Under the Agile fog of war

Inversely, if you put too much time and effort into high fidelity, changes

become expensive to make

Page 88: Designing Under the Agile fog of war

Ensuring that we are making the right decisions at the right fidelity is crucial

Page 89: Designing Under the Agile fog of war

If you don’t you’ll end up increasing your cost of change which defeats

the purpose of working at a low fidelity

Page 90: Designing Under the Agile fog of war

Development Process

Design Process

The Agile Fog of War

Clearing the Fog

Cost Of Change

Page 91: Designing Under the Agile fog of war

“Change is your best friend. The more expensive it is to make a change, the less

likely you'll make it. And if your competitors can change faster than you, you're at a huge

disadvantage. If change gets too expensive, you're dead.”

!

- 37 Signals, gettingreal.37signals.com 2009

Page 92: Designing Under the Agile fog of war

Cost of Change

Page 93: Designing Under the Agile fog of war

0

100

200

300

400

Personas User Flows Wireframes Prototypes Mockups Implementation

Cost of Change

Page 94: Designing Under the Agile fog of war

Some of the methods we use to clear the fog and keep the

cost of change low

Page 95: Designing Under the Agile fog of war

Personas

User Flows

Information Architecture

Wireframes

Prototypes

Mockups

Page 96: Designing Under the Agile fog of war

Personas

Page 97: Designing Under the Agile fog of war

Little thing that we do

Building Personas Based on Real Data

Page 98: Designing Under the Agile fog of war

Confession: We’re still working on that

Page 99: Designing Under the Agile fog of war

No Bullshit Personas !

by Kristen Johansen from lynda.com http://www.slideshare.net/kristenjohansen/nobullsht-personas

Page 100: Designing Under the Agile fog of war

User Flows

Page 101: Designing Under the Agile fog of war

Little thing that we do

Continuously Talk to Users

Page 102: Designing Under the Agile fog of war

When it comes to users, we are a little spoilt at Mobify

Page 103: Designing Under the Agile fog of war
Page 104: Designing Under the Agile fog of war

Build user flows whilst talking to Users

Page 105: Designing Under the Agile fog of war

Title Text

Developer Setup Legend Adaptive.jsCustomer

Touchpoint (Email)

Last edit: Monday, March 24 at 11:23

Preview BundlePush First

BundleInspect Bundle

Publish First Bundle

Install Tag Verify TagDocs

Verification Error

Tag Installed?

No Yes

Successful Publish

Tag Settings

Setup Local Project

Create Project

Setup Documentation

Get Slug/Init Command

Generate Scaffold

Slugs need to be exposed

send to device

open in new window

Locally

“View on localhost” useless

Notification sent Via Email/Web Push

Notification

Publish in Progress

Review Automated Testing Results

Task

Supporting Input/Action

Task External to Cloud

Develop Bundle Locally + Github

URL

Site Name

Download Bundle

1 First Time Only

Get Tools

1

npm install instructionsDownload “Client”,

Grunt, Yeoman

Download Adaptive.js

Windows

OS X

Linux

View Documentation

Get API Key

Developers are less likely to setup or even use cloud at all if they are working on a large team with Producers/QA. Smaller teams however would mean the developer is responsible for everything.

Page 106: Designing Under the Agile fog of war

Go back and talk to Users again

Page 107: Designing Under the Agile fog of war

Title Text

QA Setup Flow Legend Adaptive.jsCustomer

Touchpoint (Email)

Last edit: Monday, March 24 at 11:23

Add other QA Members to Project

Setup Local Project (via

Github)

Login via Console

Pull Branch from Github

Preview locally

Push Bundle to Cloud

Inspect Bundle

Get URL for Device Preview

Site URL

Mobify Preview(Visible to Client)

Bundle Location

Domain

Mobify This/All Tabs

Authorize

Install Tools

1

npm install instructionsDownload “Client”,

Grunt, Yeoman

Download Adaptive.js

Windows

OS X

Linux

View Documentation

Get API Key

Push Bundle

QA usually has to setup permissions for their own team members. The tag will be installed for them but they will be making changes to the path.

They will never be publishing during the setup of a project, that usually happens later in the QA process. They are more likely to send out a preview for the client.

Review Automated Testing Results

Page 108: Designing Under the Agile fog of war

Then go back and talk to Users again

Page 109: Designing Under the Agile fog of war

Seriously, you’ll learn something new each time.

Page 110: Designing Under the Agile fog of war

Information Architecture

Page 111: Designing Under the Agile fog of war

Little thing that we do

Look at the database

Page 112: Designing Under the Agile fog of war

If you don’t know how, get a developer to help you.

Page 113: Designing Under the Agile fog of war

Even better, get them to set you up with a GUI like Sequel Pro

www.sequelpro.com

Page 114: Designing Under the Agile fog of war

Title Text

Information Architecture Legend Adaptive.jsCustomer

Touchpoint (Email)

Last edit: Monday, March 24 at 11:23

Inspect Bundle

open in new window

Download Bundle

Automated Test Results

Download ToolsList Team Members

Install Tag

Verify Tag

Verification Error

Add (Push) Bundles

Tag Installed?

NoYes

Configure

Publish in Progress

Bundles Analytics (Future) Team

Publish

Preview

Delete

List Bundles

Invite Members

Remove Member

send to device Inspect Member

URL

Site Name

Tag Proxy

Modify Role

Get API Key

Delete Project

Tag

Manage Google Analytics (a.js)

Set Device Support

Manage Targets*

Verify Tag

Unpublish

Notification sent Via Email/Web Push Notification

Link to Docs

Link to DocsTag Verified

Verification Status

Link to Manage Organization

Get Slug

Page 115: Designing Under the Agile fog of war

The more that your Information Architecture can be mapped to the

data model the more likely it is that your users will understand your application.

Page 116: Designing Under the Agile fog of war

Wireframes

Page 117: Designing Under the Agile fog of war

Little thing that we do

Real Data

Page 118: Designing Under the Agile fog of war
Page 119: Designing Under the Agile fog of war

Avoid the temptation to make wireframes aesthetically pleasing

Page 120: Designing Under the Agile fog of war
Page 121: Designing Under the Agile fog of war
Page 122: Designing Under the Agile fog of war

Focus on real data/content, or at least as close to real as possible.

Page 123: Designing Under the Agile fog of war

Focus on real data/content, or at least as close to real as possible.

Every time you use Lorem Ipsum a content strategist somewhere drops dead. No Joke.

Page 124: Designing Under the Agile fog of war

Remember to keep the cost of change low

Page 125: Designing Under the Agile fog of war

Prototyping

Page 126: Designing Under the Agile fog of war

Little thing that we do

Use a tool that lets us wireframe and create clickable prototypes

Page 127: Designing Under the Agile fog of war

Wireframes can easily be made to be interactive and clickable. Downside is it’s in

PDF format, not on the web and hard to collaborate and annotate.

We use Omnigraffle

Page 128: Designing Under the Agile fog of war

There’s plenty of other similar tools, just find the one that’s best for your needs.

Page 129: Designing Under the Agile fog of war

Mockups

Page 130: Designing Under the Agile fog of war

Little thing that we do

Design within the context of the Browser

Page 131: Designing Under the Agile fog of war
Page 132: Designing Under the Agile fog of war

Whether we like it or not, the browser is a part of our UI

Page 133: Designing Under the Agile fog of war

Helps you design your URLs

Page 134: Designing Under the Agile fog of war

OK, we’re at slide number 100, lets wrap this up.

Page 135: Designing Under the Agile fog of war

Development Process

Design Process

The Agile Fog of War

Clearing the Fog

Cost Of Change

Page 136: Designing Under the Agile fog of war

Agile is great for constantly delivering value and rapidly iterating

Page 137: Designing Under the Agile fog of war

Development Process

Design Process

The Agile Fog of War

Clearing the Fog

Cost Of Change

Page 138: Designing Under the Agile fog of war

A good design process is hard to fit into small and iterative sprints

Page 139: Designing Under the Agile fog of war

Development Process

Design Process

The Agile Fog of War

Clearing the Fog

Cost Of Change

Page 140: Designing Under the Agile fog of war

Strict Agile methodologies inherently create a short sighted ‘Fog of War’

Page 141: Designing Under the Agile fog of war

Development Process

Design Process

The Agile Fog of War

Clearing the Fog

Cost Of Change

Page 142: Designing Under the Agile fog of war

We can strategically uncover those layers of fog with varying degrees of fidelity.

!

Scope long in low fidelity, Scope short in high fidelity.

Page 143: Designing Under the Agile fog of war

Development Process

Design Process

The Agile Fog of War

Clearing the Fog

Cost Of Change

Page 144: Designing Under the Agile fog of war

Be mindful of your cost of change when working at different levels of fidelity.

!

It can make or break the whole process.

Page 145: Designing Under the Agile fog of war

Thanks for your time!

Page 146: Designing Under the Agile fog of war

Questions?