documentation: choosing the right tool for the job

39
Choosing the Right Tool User Experience Week 2007 • Washington, DC Dan Brown Principal, EightShapes, LLC

Upload: daniel-brown

Post on 28-Jan-2015

114 views

Category:

Entertainment & Humor


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Documentation: Choosing the Right Tool for the Job

Choosing the Right ToolUser Experience Week 2007 • Washington, DC

Dan BrownPrincipal, EightShapes, LLC

Page 2: Documentation: Choosing the Right Tool for the Job

2

Page 3: Documentation: Choosing the Right Tool for the Job
Page 4: Documentation: Choosing the Right Tool for the Job

War is bad!

Page 5: Documentation: Choosing the Right Tool for the Job

5

Page 6: Documentation: Choosing the Right Tool for the Job

5

Number of troops

TemperatureTime

Latitude

Longitude

Direction

Page 7: Documentation: Choosing the Right Tool for the Job

• Define• Elaborate• Enhance

Page 8: Documentation: Choosing the Right Tool for the Job

• Define• Elaborate• Enhance

Anchors

Steps

Paths

Decision Points

Step Distinctions

Step Variations

Step Groupings

Step Details

Error Paths

Triggers

Scenarios

etc...

Page 9: Documentation: Choosing the Right Tool for the Job

• Define• Elaborate• Enhance

Anchors

Steps

Paths

Decision Points

Step Distinctions

Step Variations

Step Groupings

Step Details

Error Paths

Triggers

Scenarios

etc...

Page 10: Documentation: Choosing the Right Tool for the Job

7

Page 11: Documentation: Choosing the Right Tool for the Job

8

Page 12: Documentation: Choosing the Right Tool for the Job

9

Page 13: Documentation: Choosing the Right Tool for the Job

10

❖Choice of Moment❖Choice of Frame❖Choice of Image❖Choice of Word❖Choice of Flow

Page 14: Documentation: Choosing the Right Tool for the Job

11From BPRD: Garden of Souls #5 © Dark Horse Comics

Page 15: Documentation: Choosing the Right Tool for the Job

11From BPRD: Garden of Souls #5 © Dark Horse Comics

Page 16: Documentation: Choosing the Right Tool for the Job

11From BPRD: Garden of Souls #5 © Dark Horse Comics

Page 17: Documentation: Choosing the Right Tool for the Job

11From BPRD: Garden of Souls #5 © Dark Horse Comics

Page 18: Documentation: Choosing the Right Tool for the Job

12From Fallen Son: Iron Man #5 © Marvel Comics

Page 19: Documentation: Choosing the Right Tool for the Job

13From New Avengers #32 © Marvel Comics

Page 20: Documentation: Choosing the Right Tool for the Job

14

From

Mak

ing

Com

ics ©

200

6 Sc

ott M

cClo

ud

Page 21: Documentation: Choosing the Right Tool for the Job

14

What aspects of the user experience are you going

to show?

What level of detail are you going to show?

How are you going to represent abstract

concepts?

How are you going to describe the experience?

How are you going to work within the constraints of

the medium? From

Mak

ing

Com

ics ©

200

6 Sc

ott M

cClo

ud

Page 22: Documentation: Choosing the Right Tool for the Job

• Purpose of document• Document’s audience• Project context• Information on-hand

Page 23: Documentation: Choosing the Right Tool for the Job

16

Page 24: Documentation: Choosing the Right Tool for the Job

16

• Document detailed interactions• Account for different user groups• Show business rules• Prioritize steps in flow

Page 25: Documentation: Choosing the Right Tool for the Job

16

• Aspects = steps, decisions, errors• Detail = medium• Description = labeling• Abstraction = high• Constraints = swimlanes

Page 26: Documentation: Choosing the Right Tool for the Job

17

prepared by: Dan Browndate: Thu Feb 22 2007version: 1.0 Page 4 of 5

client: Grassroots Enterprisesproject: Reports Module Redesigndocument: Speci�cation

[Client name]

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

4॰৺ӹ85ݏԏ৺ݏ

ÿXXX | XXX | XXX

� � � � � ( � �

� � � � � � � � � �

� � � � � � � � � � � �

� � &� � � #� � � �

&� � � � � � � � � � � � � � � � � � � � � � � � &� � � � � � � � � � � � � � � � � � � � � &� � � � � � � � � � � � � � � � � � � � � �

Active By Label By Host All

Compare Export Label

By Label

By Host

Filter by label: select label...

Filter by host: select host...

[Name of Campaign] page listalerts listwatch list

By Visits By Date By Label All By Date By Label All

By Label Filter by label: select label...

By Date Show pages launched on: mm/dd/yyyy

By Label Filter by label: select label...

By Date Show alerts launched on: mm/dd/yyyy

[Name of Page] add to/remove from watchlist

) � � � � " � �� � � � � � � � � � � � � � � � � � � � � � �

[page title]

[launch date]

[list of labels]

XXXXXX > XXXXXX > XXXXXX�

� � � � � � � � �

[Name of Alert] add to/remove from watchlist

[alert title]

[launch date]

[list of labels]

[Client name] [Campaign name]

Compare Export Label Compare Export Label

[Client name] [Campaign name] [Client name] Watchlist

Compare Export Label

[Name of Item] remove from watchlist

[item title]

[launch date]

[list of labels]

OR

NONE

NONE

• The LIST TEMPLATE provides a page structure for

displaying lists of objects--campaigns, pages, or alerts.

• Each campaign has lists dedicated to pages and alerts.

• Each campaign also has a "watchlist", rendered in the same

template, that combines both pages and alerts.

• Users may add pages and alerts to the watchlist, though a

campaign's watchlist is shared by all users of the system.

Page 27: Documentation: Choosing the Right Tool for the Job

17

prepared by: Dan Browndate: Thu Feb 22 2007version: 1.0 Page 4 of 5

client: Grassroots Enterprisesproject: Reports Module Redesigndocument: Speci�cation

[Client name]

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

4॰৺ӹ85ݏԏ৺ݏ

ÿXXX | XXX | XXX

� � � � � ( � �

� � � � � � � � � �

� � � � � � � � � � � �

� � &� � � #� � � �

&� � � � � � � � � � � � � � � � � � � � � � � � &� � � � � � � � � � � � � � � � � � � � � &� � � � � � � � � � � � � � � � � � � � � �

Active By Label By Host All

Compare Export Label

By Label

By Host

Filter by label: select label...

Filter by host: select host...

[Name of Campaign] page listalerts listwatch list

By Visits By Date By Label All By Date By Label All

By Label Filter by label: select label...

By Date Show pages launched on: mm/dd/yyyy

By Label Filter by label: select label...

By Date Show alerts launched on: mm/dd/yyyy

[Name of Page] add to/remove from watchlist

) � � � � " � �� � � � � � � � � � � � � � � � � � � � � � �

[page title]

[launch date]

[list of labels]

XXXXXX > XXXXXX > XXXXXX�

� � � � � � � � �

[Name of Alert] add to/remove from watchlist

[alert title]

[launch date]

[list of labels]

[Client name] [Campaign name]

Compare Export Label Compare Export Label

[Client name] [Campaign name] [Client name] Watchlist

Compare Export Label

[Name of Item] remove from watchlist

[item title]

[launch date]

[list of labels]

OR

NONE

NONE

• The LIST TEMPLATE provides a page structure for

displaying lists of objects--campaigns, pages, or alerts.

• Each campaign has lists dedicated to pages and alerts.

• Each campaign also has a "watchlist", rendered in the same

template, that combines both pages and alerts.

• Users may add pages and alerts to the watchlist, though a

campaign's watchlist is shared by all users of the system.

• Aspects = set of pages• Detail = high• Description = minimal• Abstraction = A LOT• Constraints = highly abstract, limit detail

Page 28: Documentation: Choosing the Right Tool for the Job

18

prepared by: Dan Browndate: Thu Feb 22 2007version: 1.0 Page 4 of 5

client: Grassroots Enterprisesproject: Reports Module Redesigndocument: Speci�cation

[Client name]

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

4॰৺ӹ85ݏԏ৺ݏ

ÿXXX | XXX | XXX

� � � � � ( � �

� � � � � � � � � �

� � � � � � � � � � � �

� � &� � � #� � � �

&� � � � � � � � � � � � � � � � � � � � � � � � &� � � � � � � � � � � � � � � � � � � � � &� � � � � � � � � � � � � � � � � � � � � �

Active By Label By Host All

Compare Export Label

By Label

By Host

Filter by label: select label...

Filter by host: select host...

[Name of Campaign] page listalerts listwatch list

By Visits By Date By Label All By Date By Label All

By Label Filter by label: select label...

By Date Show pages launched on: mm/dd/yyyy

By Label Filter by label: select label...

By Date Show alerts launched on: mm/dd/yyyy

[Name of Page] add to/remove from watchlist

) � � � � " � �� � � � � � � � � � � � � � � � � � � � � � �

[page title]

[launch date]

[list of labels]

XXXXXX > XXXXXX > XXXXXX�

� � � � � � � � �

[Name of Alert] add to/remove from watchlist

[alert title]

[launch date]

[list of labels]

[Client name] [Campaign name]

Compare Export Label Compare Export Label

[Client name] [Campaign name] [Client name] Watchlist

Compare Export Label

[Name of Item] remove from watchlist

[item title]

[launch date]

[list of labels]

OR

NONE

NONE

• The LIST TEMPLATE provides a page structure for

displaying lists of objects--campaigns, pages, or alerts.

• Each campaign has lists dedicated to pages and alerts.

• Each campaign also has a "watchlist", rendered in the same

template, that combines both pages and alerts.

• Users may add pages and alerts to the watchlist, though a

campaign's watchlist is shared by all users of the system.

Page 29: Documentation: Choosing the Right Tool for the Job

18

prepared by: Dan Browndate: Thu Feb 22 2007version: 1.0 Page 4 of 5

client: Grassroots Enterprisesproject: Reports Module Redesigndocument: Speci�cation

[Client name]

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

4॰৺ӹ85ݏԏ৺ݏ

ÿXXX | XXX | XXX

� � � � � ( � �

� � � � � � � � � �

� � � � � � � � � � � �

� � &� � � #� � � �

&� � � � � � � � � � � � � � � � � � � � � � � � &� � � � � � � � � � � � � � � � � � � � � &� � � � � � � � � � � � � � � � � � � � � �

Active By Label By Host All

Compare Export Label

By Label

By Host

Filter by label: select label...

Filter by host: select host...

[Name of Campaign] page listalerts listwatch list

By Visits By Date By Label All By Date By Label All

By Label Filter by label: select label...

By Date Show pages launched on: mm/dd/yyyy

By Label Filter by label: select label...

By Date Show alerts launched on: mm/dd/yyyy

[Name of Page] add to/remove from watchlist

) � � � � " � �� � � � � � � � � � � � � � � � � � � � � � �

[page title]

[launch date]

[list of labels]

XXXXXX > XXXXXX > XXXXXX�

� � � � � � � � �

[Name of Alert] add to/remove from watchlist

[alert title]

[launch date]

[list of labels]

[Client name] [Campaign name]

Compare Export Label Compare Export Label

[Client name] [Campaign name] [Client name] Watchlist

Compare Export Label

[Name of Item] remove from watchlist

[item title]

[launch date]

[list of labels]

OR

NONE

NONE

• The LIST TEMPLATE provides a page structure for

displaying lists of objects--campaigns, pages, or alerts.

• Each campaign has lists dedicated to pages and alerts.

• Each campaign also has a "watchlist", rendered in the same

template, that combines both pages and alerts.

• Users may add pages and alerts to the watchlist, though a

campaign's watchlist is shared by all users of the system.

Multiple audiences:• Stakeholders• Technologists

Page 30: Documentation: Choosing the Right Tool for the Job

18

prepared by: Dan Browndate: Thu Feb 22 2007version: 1.0 Page 4 of 5

client: Grassroots Enterprisesproject: Reports Module Redesigndocument: Speci�cation

[Client name]

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

4॰৺ӹ85ݏԏ৺ݏ

ÿXXX | XXX | XXX

� � � � � ( � �

� � � � � � � � � �

� � � � � � � � � � � �

� � &� � � #� � � �

&� � � � � � � � � � � � � � � � � � � � � � � � &� � � � � � � � � � � � � � � � � � � � � &� � � � � � � � � � � � � � � � � � � � � �

Active By Label By Host All

Compare Export Label

By Label

By Host

Filter by label: select label...

Filter by host: select host...

[Name of Campaign] page listalerts listwatch list

By Visits By Date By Label All By Date By Label All

By Label Filter by label: select label...

By Date Show pages launched on: mm/dd/yyyy

By Label Filter by label: select label...

By Date Show alerts launched on: mm/dd/yyyy

[Name of Page] add to/remove from watchlist

) � � � � " � �� � � � � � � � � � � � � � � � � � � � � � �

[page title]

[launch date]

[list of labels]

XXXXXX > XXXXXX > XXXXXX�

� � � � � � � � �

[Name of Alert] add to/remove from watchlist

[alert title]

[launch date]

[list of labels]

[Client name] [Campaign name]

Compare Export Label Compare Export Label

[Client name] [Campaign name] [Client name] Watchlist

Compare Export Label

[Name of Item] remove from watchlist

[item title]

[launch date]

[list of labels]

OR

NONE

NONE

• The LIST TEMPLATE provides a page structure for

displaying lists of objects--campaigns, pages, or alerts.

• Each campaign has lists dedicated to pages and alerts.

• Each campaign also has a "watchlist", rendered in the same

template, that combines both pages and alerts.

• Users may add pages and alerts to the watchlist, though a

campaign's watchlist is shared by all users of the system.

one audience:

Page 31: Documentation: Choosing the Right Tool for the Job

18

prepared by: Dan Browndate: Thu Feb 22 2007version: 1.0 Page 4 of 5

client: Grassroots Enterprisesproject: Reports Module Redesigndocument: Speci�cation

[Client name]

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

XXXXXXXXX XXX | XXX | XXX

4॰৺ӹ85ݏԏ৺ݏ

ÿXXX | XXX | XXX

� � � � � ( � �

� � � � � � � � � �

� � � � � � � � � � � �

� � &� � � #� � � �

&� � � � � � � � � � � � � � � � � � � � � � � � &� � � � � � � � � � � � � � � � � � � � � &� � � � � � � � � � � � � � � � � � � � � �

Active By Label By Host All

Compare Export Label

By Label

By Host

Filter by label: select label...

Filter by host: select host...

[Name of Campaign] page listalerts listwatch list

By Visits By Date By Label All By Date By Label All

By Label Filter by label: select label...

By Date Show pages launched on: mm/dd/yyyy

By Label Filter by label: select label...

By Date Show alerts launched on: mm/dd/yyyy

[Name of Page] add to/remove from watchlist

) � � � � " � �� � � � � � � � � � � � � � � � � � � � � � �

[page title]

[launch date]

[list of labels]

XXXXXX > XXXXXX > XXXXXX�

� � � � � � � � �

[Name of Alert] add to/remove from watchlist

[alert title]

[launch date]

[list of labels]

[Client name] [Campaign name]

Compare Export Label Compare Export Label

[Client name] [Campaign name] [Client name] Watchlist

Compare Export Label

[Name of Item] remove from watchlist

[item title]

[launch date]

[list of labels]

OR

NONE

NONE

• The LIST TEMPLATE provides a page structure for

displaying lists of objects--campaigns, pages, or alerts.

• Each campaign has lists dedicated to pages and alerts.

• Each campaign also has a "watchlist", rendered in the same

template, that combines both pages and alerts.

• Users may add pages and alerts to the watchlist, though a

campaign's watchlist is shared by all users of the system.

one audience:

•ME

Page 32: Documentation: Choosing the Right Tool for the Job

• Purpose = explain business rules

• Audience = stakeholders, technologists, others?

• Context = requirements elicitation

• Information = meeting notes

Page 33: Documentation: Choosing the Right Tool for the Job

• Aspect = rules constraining interactions

• Detail = as much as possible

• Describe = rule “headline” and details

• Abstractions = visualize

• Constraints = incorporate pictures

Page 34: Documentation: Choosing the Right Tool for the Job

21

ThursdayTuesday

Activation codes expire after one use.

Unused activation codes expire after

predetermined date.

Passes expire at 23:59 CT on the third day after

activation. Su M T W Th F Sa

Pass Activated Here Pass Expires Here

All dates and times are in Central Time.

Guest registrations share the namespace with regular subscriptions

$�

GUESTSUBSCRIBER

NAMESPACE

The system will be !exible so Client can create passes that can be used more than one.

The system will be !exible so Client can create codes that have longer lifespans.

The system will be !exible so Client can create passes that last longer than three days.

Wednesday

Subscribers are allowed "ve invitations a day.

SUPER PARENT

Every pass is a "child" account assigned to a

"super-parent" account.

CHILD

CHILD

CHILD

CHILD

CHILD

CHILD

Client can create passes for distribution.

Passes may be created by either the Marketing Department or Customer Service, and each will be

coded uniquely for tracking purposes.

Passes created by Client may break any of the rules in this row (expiration and duration).

Page 35: Documentation: Choosing the Right Tool for the Job

22

ThursdayTuesday

Activation codes expire after one use.

Unused activation codes expire after

predetermined date.

Passes expire at 23:59 CT on the third day after

activation. Su M T W Th F Sa

Pass Activated Here Pass Expires Here

All dates and times are in Central Time.

Guest registrations share the namespace with regular subscriptions

$�

GUESTSUBSCRIBER

NAMESPACE

The system will be !exible so Client can create passes that can be used more than one.

The system will be !exible so Client can create codes that have longer lifespans.

The system will be !exible so Client can create passes that last longer than three days.

Wednesday

Subscribers are allowed "ve invitations a day.

SUPER PARENT

Every pass is a "child" account assigned to a

"super-parent" account.

CHILD

CHILD

CHILD

CHILD

CHILD

CHILD

Client can create passes for distribution.

Passes may be created by either the Marketing Department or Customer Service, and each will be

coded uniquely for tracking purposes.

Passes created by Client may break any of the rules in this row (expiration and duration).

Page 36: Documentation: Choosing the Right Tool for the Job

• Purpose = define scope of content

• Audience = stakeholders, money

• Context = direction-setting

• Information = none

Page 37: Documentation: Choosing the Right Tool for the Job

• Aspect = relationship between key content

• Detail = as little as possible

• Describe = label concepts

• Abstractions = line formatting, color coding

• Constraints = limit depth and detail

Page 38: Documentation: Choosing the Right Tool for the Job

25