techniques for effectively slicing user stories by naresh jain

Post on 04-Jul-2015

1.395 Views

Category:

Software

10 Downloads

Preview:

Click to see full reader

DESCRIPTION

In order to achieve my goals, as a buyer of your product, I want awesome feature. AT: make sure your users stories don't get in the way. Users Stories, the tool teams use to break big ideas into small demonstrable deliverable, are easy to describe and challenging to write effectively. In this hands-on workshop you'll learn how to write great user stories and acceptance criteria, that everyone on the team understands. We'll learn various techniques to slice your stories using the tracer-bullet approach. We will discuss what elements should be included in the stories, what criteria you should keep in mind while slicing stories; why the size of your user story is important and how to make them smaller and efficient. Agenda: What do you do to Large Stories? Spike, Split, Stub & Timebox (SSST) technique. Core Slicing Techniques: 1. System Slice 1.a. Static vs. Dynamic 1.b. Real-time vs. Batch Processing 1.c. Build vs. Buy 1.d. Automated vs. Manual Steps 1.e. Defer certain roles 2. Behavioural Slice 2.a. Adjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton 2.a.1. Acceptance Criteria 2.b. By-pass certain steps in the workflow 2.c. Focus on Happy Path First (edge cases later) 2.d. No options - 1 option - Many options 3. Incrementally improve ‘Ilities' (Usability, Scalability, Reliability, etc.) 3.a. Simpler UI (even consider using a standard UI) 3.b. Minmal Data 3.c. Improve Performance Iteratively

TRANSCRIPT

Copyright © 2014, AgileFAQs. All Rights Reserved.

Techniques for Effectively Slicing

User Stories Workshop

Naresh Jain naresh@agilefaqs.com

@nashjain http://nareshjain.com

Copyright © 2014, AgileFAQs. All Rights Reserved.

Agenda

Quick intro to user stories

Spike, Split, Stub & Timebox (SSST) technique to manage large stories

Splitting metaphor

Specific techniques to split stories

High-level techniques to create and prioritise stories

Copyright © 2014, AgileFAQs. All Rights Reserved.

What are we really trying to build?

User Stories

Copyright © 2014, AgileFAQs. All Rights Reserved.

What is a Story?

Copyright © 2014, AgileFAQs. All Rights Reserved.

Story is a smallest piece of functionality that add business value

What is a Story?

Copyright © 2014, AgileFAQs. All Rights Reserved.

Story is a smallest piece of functionality that add business value

Stories should follow Ron Jeffries’ 3 Cs

Card – Placeholder for conversation

Conversation – Actual discussion between dev team and user

Confirmation – Acceptance criteria to determine when the story is finished

What is a Story?

Copyright © 2014, AgileFAQs. All Rights Reserved.

Typical Story Format

Story Title - Actor Action Context

Copyright © 2014, AgileFAQs. All Rights Reserved.

As a .. <user who requires this feature>

Typical Story Format

Story Title - Actor Action Context

Copyright © 2014, AgileFAQs. All Rights Reserved.

As a .. <user who requires this feature>

I want .. <do something>

Typical Story Format

Story Title - Actor Action Context

Copyright © 2014, AgileFAQs. All Rights Reserved.

As a .. <user who requires this feature>

I want .. <do something>

So that... <user goal/business justification>

Typical Story Format

Story Title - Actor Action Context

Copyright © 2014, AgileFAQs. All Rights Reserved.

Title: Keen Reader subscribes to a blog

As a keen reader of your blog

I want to subscribe to your blog

So that I can stay up-to-date with the new posts

Story Example

Copyright © 2014, AgileFAQs. All Rights Reserved.

!

Title: Social Networking Enthusiast uploads profile picture

As a Social Networking Enthusiast

I want to upload my profile picture

So my friends can see how I look and recognise me

Another Story Example

Copyright © 2014, AgileFAQs. All Rights Reserved.

What makes a good Story?

Copyright © 2014, AgileFAQs. All Rights Reserved.

Stories should follow the INVEST principle:

What makes a good Story?

Copyright © 2014, AgileFAQs. All Rights Reserved.

Stories should follow the INVEST principle:

Independent

What makes a good Story?

Copyright © 2014, AgileFAQs. All Rights Reserved.

Stories should follow the INVEST principle:

Independent

Negotiable

What makes a good Story?

Copyright © 2014, AgileFAQs. All Rights Reserved.

Stories should follow the INVEST principle:

Independent

Negotiable

Valuable

What makes a good Story?

Copyright © 2014, AgileFAQs. All Rights Reserved.

Stories should follow the INVEST principle:

Independent

Negotiable

Valuable

Estimate-able

What makes a good Story?

Copyright © 2014, AgileFAQs. All Rights Reserved.

Stories should follow the INVEST principle:

Independent

Negotiable

Valuable

Estimate-able

Small

What makes a good Story?

Copyright © 2014, AgileFAQs. All Rights Reserved.

Stories should follow the INVEST principle:

Independent

Negotiable

Valuable

Estimate-able

Small

Testable

What makes a good Story?

Copyright © 2014, AgileFAQs. All Rights Reserved.

What do you do to Large Stories?

James Grenning - Story Weight Reduction Toolkit!http://www.renaissancesoftware.net/blog/archives/48

Copyright © 2014, AgileFAQs. All Rights Reserved.

SSST

Spike

Slice

Stub

Time-box

What do you do to Large Stories?

James Grenning - Story Weight Reduction Toolkit!http://www.renaissancesoftware.net/blog/archives/48

Copyright © 2014, AgileFAQs. All Rights Reserved.

Breakout Session

Story writing exercise

Break out into groups of 3-5 people

Business Problem: Casual daters search for matches online

Use process model to drive out the stories

Keep in mind:

Format: As X I want to Y so I can Z

INVEST principle

Consistent granularity

Copyright © 2014, AgileFAQs. All Rights Reserved.

Stories are fundamental unit of activity

Business Goals

User Goals

Copyright © 2014, AgileFAQs. All Rights Reserved.

Discovery

Stories are fundamental unit of activity

Business Goals

User Goals

Copyright © 2014, AgileFAQs. All Rights Reserved.

As a ____, I want to be able to ____ so

that ____

Product Backlog

Might have an initial estimate (perhaps for both analysis and development), and an expression of technical and

business confidence that this is real and achievable

Discovery

Stories are fundamental unit of activity

Business Goals

User Goals

Copyright © 2014, AgileFAQs. All Rights Reserved.

As a ____, I want to be able to ____ so

that ____

Product Backlog

Might have an initial estimate (perhaps for both analysis and development), and an expression of technical and

business confidence that this is real and achievable

Release planningDiscovery

Stories are fundamental unit of activity

Business Goals

User Goals

Copyright © 2014, AgileFAQs. All Rights Reserved.

As a ____, I want to be able to ____ so

that ____

Product Backlog

Might have an initial estimate (perhaps for both analysis and development), and an expression of technical and

business confidence that this is real and achievable

As a ____, I want to be able to ____ so

that ____

I will know this is done when _______

Release Backlog

More detailed estimate, and a specific acceptance test – low confidence stories might be

“spiked” or prototyped

Release planningDiscovery

Stories are fundamental unit of activity

Business Goals

User Goals

Copyright © 2014, AgileFAQs. All Rights Reserved.

As a ____, I want to be able to ____ so

that ____

Product Backlog

Might have an initial estimate (perhaps for both analysis and development), and an expression of technical and

business confidence that this is real and achievable

As a ____, I want to be able to ____ so

that ____

I will know this is done when _______

Release Backlog

More detailed estimate, and a specific acceptance test – low confidence stories might be

“spiked” or prototyped

Release planning Iteration planningDiscovery

Stories are fundamental unit of activity

Business Goals

User Goals

Copyright © 2014, AgileFAQs. All Rights Reserved.

As a ____, I want to be able to ____ so

that ____

Product Backlog

Might have an initial estimate (perhaps for both analysis and development), and an expression of technical and

business confidence that this is real and achievable

As a ____, I want to be able to ____ so

that ____

I will know this is done when _______

Release Backlog

More detailed estimate, and a specific acceptance test – low confidence stories might be

“spiked” or prototyped

As a ____, I want to be able to ____ so

that ____

I will know this is done when _______

To do this I must: 1) _____ 2) _____

Iteration Backlog

Possible automation of the acceptance

test

Development team breaks out the detail of work needed to

pass test

Release planning Iteration planningDiscovery

Stories are fundamental unit of activity

Business Goals

User Goals

Copyright © 2014, AgileFAQs. All Rights Reserved.

Slicing Metaphor

Copyright © 2014, AgileFAQs. All Rights Reserved.

8 Guests - How would you share this cake?

Copyright © 2014, AgileFAQs. All Rights Reserved.

Vertical Slicing

Horizontal Slicing

Copyright © 2014, AgileFAQs. All Rights Reserved.

Let’s try slicing

Copyright © 2014, AgileFAQs. All Rights Reserved.

!

As a Social Networking Enthusiast

I want to upload my profile picture

So my friends can see how I look and recognise me

Social Networking Enthusiast uploads profile picture

Copyright © 2014, AgileFAQs. All Rights Reserved.

Using Acceptance Criteria to Slice Stories

Copyright © 2014, AgileFAQs. All Rights Reserved.

Acceptance Criteria should contain:

ACTOR

VERB – DESCRIBING A BEHAVIOUR

OBSERVABLE RESULT

!To accommodate pre-conditions Acceptance Criteria can be expressed as

Given [Precondition]

When [Actor + Action]

Then [Observable Result]

Acceptance Criteria

Copyright © 2014, AgileFAQs. All Rights Reserved.

Example

Copyright © 2014, AgileFAQs. All Rights Reserved.

Example

Given the user has a valid facebook account and a digital picture on her computer,

When she uploads a picture in facebook,

Then her the picture should be visible to all her friends in her network.

Copyright © 2014, AgileFAQs. All Rights Reserved.

Example

Given the user has a valid facebook account and a digital picture on her computer,

When she uploads a picture in facebook,

Then her the picture should be visible to all her friends in her network.

Given an user is trying to find a friend on facebook,

When the user searches for a person using their name,

Then their profile picture should be displayed along with other details.

Copyright © 2014, AgileFAQs. All Rights Reserved.

Example

Given the user has a valid facebook account and a digital picture on her computer,

When she uploads a picture in facebook,

Then her the picture should be visible to all her friends in her network.

Given an user is trying to find a friend on facebook,

When the user searches for a person using their name,

Then their profile picture should be displayed along with other details.

As owner of facebook,

I want users to upload authentic, personal profile picture,

So facebook's reputation remains intact and facebook stays out of legal hassles.

Copyright © 2014, AgileFAQs. All Rights Reserved.

Roles & Permissions Administration

Example

How would you slice this?

Copyright © 2014, AgileFAQs. All Rights Reserved.

Let’s decompose this…

Add new role

Delete existing role

Copy existing role

Update permissions

Search roles

Copyright © 2014, AgileFAQs. All Rights Reserved.

From a technical point of view

Left & Right Pane

Client side Search functionality

Tree Structure for Permissions

CRUD Services for Roles

Read & Update Service for Permissions

Copyright © 2014, AgileFAQs. All Rights Reserved.

Story Slicing - 1Read-only view of Roles & Permissions

Left & Right Pane

Display permissions in a table

Read Service for Roles

Read Service for Permissions

Copyright © 2014, AgileFAQs. All Rights Reserved.

Story Slicing - 2Ability to Update Permissions

Tree Structure for Permissions

Update Service for Permissions

Copyright © 2014, AgileFAQs. All Rights Reserved.

Story Slicing - 3Add new role

Copy functionality in UI

Create Services for Roles

Copyright © 2014, AgileFAQs. All Rights Reserved.

Story Slicing - 4Delete existing role

Delete functionality in UI

Delete Services for Roles

Client side Search functionality

Copyright © 2014, AgileFAQs. All Rights Reserved.

What Slicing Technique did we use?We started with read-only version and gradually added the ability to update permissions and add new roles.

In other words - We increased the sophistication of the feature.

Copyright © 2014, AgileFAQs. All Rights Reserved.

Devolution

How would you slice this?

Copyright © 2014, AgileFAQs. All Rights Reserved.

Story Slicing - 1

Full on-screen report for most common occupancy type

Copyright © 2014, AgileFAQs. All Rights Reserved.

Story Slicing - 2

Full on-screen report for most common occupancy type but can be filtered by a date-range.

Copyright © 2014, AgileFAQs. All Rights Reserved.

Story Slicing - 3Full on-screen report for most common occupancy type but can be filtered by a date-range and room type.

Copyright © 2014, AgileFAQs. All Rights Reserved.

Story Slicing - 4Delta on-screen report for most common occupancy type but can be filtered by a date-range and room type.

Copyright © 2014, AgileFAQs. All Rights Reserved.

Story Slicing - 5Delta on-screen report for all occupancy type but can be filtered by a date-range and room type.

Copyright © 2014, AgileFAQs. All Rights Reserved.

Story Slicing - 6

Add support for different report formats.

Copyright © 2014, AgileFAQs. All Rights Reserved.

What Slicing Technique did we use?We started with showing most common, full data and then added more filters to fine tune the data.

In other words - We sophisticated the feature by adding more filters.

Copyright © 2014, AgileFAQs. All Rights Reserved.

Other Slicing Techniques

Copyright © 2014, AgileFAQs. All Rights Reserved.

Other Slicing TechniquesSystem Slice

Copyright © 2014, AgileFAQs. All Rights Reserved.

Other Slicing TechniquesSystem Slice

Static vs. Dynamic

Copyright © 2014, AgileFAQs. All Rights Reserved.

Other Slicing TechniquesSystem Slice

Static vs. DynamicReal-time vs. Batch Processing

Copyright © 2014, AgileFAQs. All Rights Reserved.

Other Slicing TechniquesSystem Slice

Static vs. DynamicReal-time vs. Batch ProcessingBuild vs. Buy

Copyright © 2014, AgileFAQs. All Rights Reserved.

Other Slicing TechniquesSystem Slice

Static vs. DynamicReal-time vs. Batch ProcessingBuild vs. BuyAutomated vs. Manual Steps

Copyright © 2014, AgileFAQs. All Rights Reserved.

Other Slicing TechniquesSystem Slice

Static vs. DynamicReal-time vs. Batch ProcessingBuild vs. BuyAutomated vs. Manual StepsDefer certain roles

Copyright © 2014, AgileFAQs. All Rights Reserved.

Other Slicing TechniquesSystem Slice

Static vs. DynamicReal-time vs. Batch ProcessingBuild vs. BuyAutomated vs. Manual StepsDefer certain roles

Behavioural Slice

Copyright © 2014, AgileFAQs. All Rights Reserved.

Other Slicing TechniquesSystem Slice

Static vs. DynamicReal-time vs. Batch ProcessingBuild vs. BuyAutomated vs. Manual StepsDefer certain roles

Behavioural SliceAdjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton

Copyright © 2014, AgileFAQs. All Rights Reserved.

Other Slicing TechniquesSystem Slice

Static vs. DynamicReal-time vs. Batch ProcessingBuild vs. BuyAutomated vs. Manual StepsDefer certain roles

Behavioural SliceAdjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton

Acceptance Criteria

Copyright © 2014, AgileFAQs. All Rights Reserved.

Other Slicing TechniquesSystem Slice

Static vs. DynamicReal-time vs. Batch ProcessingBuild vs. BuyAutomated vs. Manual StepsDefer certain roles

Behavioural SliceAdjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton

Acceptance CriteriaBy-pass certain steps in the workflow

Copyright © 2014, AgileFAQs. All Rights Reserved.

Other Slicing TechniquesSystem Slice

Static vs. DynamicReal-time vs. Batch ProcessingBuild vs. BuyAutomated vs. Manual StepsDefer certain roles

Behavioural SliceAdjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton

Acceptance CriteriaBy-pass certain steps in the workflowFocus on Happy Path First (edge cases later)

Copyright © 2014, AgileFAQs. All Rights Reserved.

Other Slicing TechniquesSystem Slice

Static vs. DynamicReal-time vs. Batch ProcessingBuild vs. BuyAutomated vs. Manual StepsDefer certain roles

Behavioural SliceAdjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton

Acceptance CriteriaBy-pass certain steps in the workflowFocus on Happy Path First (edge cases later)No options - 1 option - Many options

Copyright © 2014, AgileFAQs. All Rights Reserved.

Other Slicing TechniquesSystem Slice

Static vs. DynamicReal-time vs. Batch ProcessingBuild vs. BuyAutomated vs. Manual StepsDefer certain roles

Behavioural SliceAdjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton

Acceptance CriteriaBy-pass certain steps in the workflowFocus on Happy Path First (edge cases later)No options - 1 option - Many options

Incrementally improve ‘Ilities' (Usability, Scalability, Reliability, etc.)

Copyright © 2014, AgileFAQs. All Rights Reserved.

Other Slicing TechniquesSystem Slice

Static vs. DynamicReal-time vs. Batch ProcessingBuild vs. BuyAutomated vs. Manual StepsDefer certain roles

Behavioural SliceAdjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton

Acceptance CriteriaBy-pass certain steps in the workflowFocus on Happy Path First (edge cases later)No options - 1 option - Many options

Incrementally improve ‘Ilities' (Usability, Scalability, Reliability, etc.)Simpler UI (even consider using a standard UI)

Copyright © 2014, AgileFAQs. All Rights Reserved.

Other Slicing TechniquesSystem Slice

Static vs. DynamicReal-time vs. Batch ProcessingBuild vs. BuyAutomated vs. Manual StepsDefer certain roles

Behavioural SliceAdjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton

Acceptance CriteriaBy-pass certain steps in the workflowFocus on Happy Path First (edge cases later)No options - 1 option - Many options

Incrementally improve ‘Ilities' (Usability, Scalability, Reliability, etc.)Simpler UI (even consider using a standard UI)Minmal Data

Copyright © 2014, AgileFAQs. All Rights Reserved.

Other Slicing TechniquesSystem Slice

Static vs. DynamicReal-time vs. Batch ProcessingBuild vs. BuyAutomated vs. Manual StepsDefer certain roles

Behavioural SliceAdjusting Sophistication - MVF (Minimum Viable Feature) or Walking Skeleton

Acceptance CriteriaBy-pass certain steps in the workflowFocus on Happy Path First (edge cases later)No options - 1 option - Many options

Incrementally improve ‘Ilities' (Usability, Scalability, Reliability, etc.)Simpler UI (even consider using a standard UI)Minmal DataImprove Performance Iteratively

Last updated 3/26/2013Copyright © 2011-2013 Agile For All. All rights reserved.Visit http://www.richardlawrence.info/splitting-user-stories/ for more info on the story splitting patterns

www.agileforall.com

HOW TO SPLIT A USER STORYPREPARE THEINPUT STORY

APPLY THESPLITTINGPATTERNS

WORKFLOW STEPS

OPERATIONSBUSINESS RULE

VARIATIONS

INTERFACEVARIATIONS

VARIATIONSIN DATA

SIMPLE/COMPLEX

DEFERPERFORMANCE

BREAK OUT A SPIKE

MAJOR EFFORT

EVALUATETHE SPLIT

Does the big story satisfy INVEST* (except, perhaps, small)?

Are the new stories roughly equal in size?

Does the story describe a workflow?

Can you split the story so you do the beginning and end of the work-flow first and enhance with stories from the middle of the workflow?

Can you take a thin slice through the workflow first and

enhance it with more stories later?

Does the story include multiple operations? (e.g. is it about "managing"

or "configuring" something?)

Can you split the operations into separate stories?

Does the story have a variety of business rules? (e.g. is there a domain term in the story like "flexible dates"

that suggests several variations?)

Can you split the story so you do a subset of the rules first and

enhance with additional rules later?

Does the story do the same thing to different kinds of data? Can you split the story to

process one kind of data first and enhance with the

other kinds later?

Can you split the story to handle data from one

interface first and enhance with the others later?

Does the story get the same kind of data via multiple interfaces?

When you apply the obvious split, is whichever story you do

first the most difficult?

Could you group the later stories and defer the decision about which story comes first?

Does the story have a simple core that provides most of the

value and/or learning?

Could you split the story to do that simple core first and enhance it with later stories?

Does the story get much of its complexity from satisfying

non-functional requirements like performance?

Could you split the story to just make it work first and then enhance it to satisfy the non-functional requirement?

Are you still baffled about how to split the story?

Can you find a small piece you understand well enough to start?

Can you define the 1-3 questions most holding

you back?Take a break and try again.

Write a spike with those questions, do the minimum

to answer them, and start again at the top of this process

Write that story first, build it, and start again

at the top of this process.

Does the story have a complex interface?

Is there a simple version you could do first?

Try another pattern on the original story or the larger

post-split stories.

Try another pattern. You probably have waste

in each of your stories.

Try another pattern.

Are there stories you can deprioritize or delete?

Is there an obvious story to start with that gets you early value, learning, risk

mitigation, etc.?

Combine it with another story or otherwise reformulate it to get

a good, if large, starting story.

Is the story size 1⁄10 to 1⁄6 of your velocity?

Is each story about 1⁄10 to 1⁄6 of your velocity?

Do each of the stories satisfy INVEST?

Continue. You need to split it.

You’re done.

Try another pattern to see if you can get this.

You’re done, though youcould try another pattern

to see if it works better.

YES

NO

start here

* INVEST - Stories should be:

1

2

3

IndependentNegotiableValuableEstimableSmallTestable

last resort

YESNO

Copyright © 2014, AgileFAQs. All Rights Reserved.

Hamburger Method

Copyright © 2014, AgileFAQs. All Rights Reserved.

Problem

If we’re working on a story to contact customers by e-mail, the steps might be:

query db for customers;

send e-mail to customers;

retrieve delivery report;

remove bounced addresses from the system;

mark non-bounced as ‘recently contacted’

But you have to think about

spam-regulation compliance for sending e-mail

speed, accuracy & volume

personalised or generic email content

build vs. buy

Copyright © 2014, AgileFAQs. All Rights Reserved.

Hamburger Method

Source: Gojko Adzic!http://gojko.net/2012/01/23/splitting-user-stories-the-hamburger-method/

Copyright © 2014, AgileFAQs. All Rights Reserved.

Hamburger Method

Step 1: Identify tasks

Source: Gojko Adzic!http://gojko.net/2012/01/23/splitting-user-stories-the-hamburger-method/

Copyright © 2014, AgileFAQs. All Rights Reserved.

Hamburger Method

Step 1: Identify tasks

Step 2: Identify options for tasks

Source: Gojko Adzic!http://gojko.net/2012/01/23/splitting-user-stories-the-hamburger-method/

Copyright © 2014, AgileFAQs. All Rights Reserved.

Hamburger Method

Step 1: Identify tasks

Step 2: Identify options for tasks

Step 3: Combine results

Source: Gojko Adzic!http://gojko.net/2012/01/23/splitting-user-stories-the-hamburger-method/

Copyright © 2014, AgileFAQs. All Rights Reserved.

Hamburger Method

Step 1: Identify tasks

Step 2: Identify options for tasks

Step 3: Combine results

Step 4: Trim the hamburger

Source: Gojko Adzic!http://gojko.net/2012/01/23/splitting-user-stories-the-hamburger-method/

Copyright © 2014, AgileFAQs. All Rights Reserved.

Hamburger Method

Step 1: Identify tasks

Step 2: Identify options for tasks

Step 3: Combine results

Step 4: Trim the hamburger

Step 5: Take the first bite

Source: Gojko Adzic!http://gojko.net/2012/01/23/splitting-user-stories-the-hamburger-method/

Copyright © 2014, AgileFAQs. All Rights Reserved.

Hamburger Method

Step 1: Identify tasks

Step 2: Identify options for tasks

Step 3: Combine results

Step 4: Trim the hamburger

Step 5: Take the first bite

Step 6: Take another bite…& continue

Source: Gojko Adzic!http://gojko.net/2012/01/23/splitting-user-stories-the-hamburger-method/

Copyright © 2014, AgileFAQs. All Rights Reserved.

Before Story SlicingWhere do Stories come from?

High Level View of the Process

©  2013  Naresh  Jain,  all  rights  reserved,  www.AgileFAQs.com

Product  Discovery  -­‐  Steps

©  2013  Naresh  Jain,  all  rights  reserved,  www.AgileFAQs.com

Product  Discovery  -­‐  Steps

Elevator Pitch

Business Goals

Chartering

©  2013  Naresh  Jain,  all  rights  reserved,  www.AgileFAQs.com

Product  Discovery  -­‐  Steps

Elevator Pitch

Business Goals

Chartering

Pragmatic Personas

User Goals

Day in Life of each Persona

Scenarios &

Narratives

Personas

©  2013  Naresh  Jain,  all  rights  reserved,  www.AgileFAQs.com

Product  Discovery  -­‐  Steps

Elevator Pitch

Business Goals

Chartering

Pragmatic Personas

User Goals

Day in Life of each Persona

Scenarios &

Narratives

Personas

Ac c ept ance !

Criteria

©  2013  Naresh  Jain,  all  rights  reserved,  www.AgileFAQs.com

Product  Discovery  -­‐  Steps

Elevator Pitch

Business Goals

Chartering

Pragmatic Personas

User Goals

Day in Life of each Persona

Scenarios &

Narratives

Personas

Activity Map

Task MapInteraction DesignUI Sketch

Story Mapping

Ac c ept ance !

Criteria

©  2013  Naresh  Jain,  all  rights  reserved,  www.AgileFAQs.com

Product  Discovery  -­‐  Steps

Elevator Pitch

Business Goals

Chartering

Pragmatic Personas

User Goals

Day in Life of each Persona

Scenarios &

Narratives

Personas

Activity Map

Task MapInteraction DesignUI Sketch

Story Mapping

PrioritisationGrouping by ThemesReiterating

Planning

Ac c ept ance !

Criteria

©  2013  Naresh  Jain,  all  rights  reserved,  www.AgileFAQs.com

Product  Discovery  -­‐  Steps

Elevator Pitch

Business Goals

Chartering

Pragmatic Personas

User Goals

Day in Life of each Persona

Scenarios &

Narratives

Personas

Activity Map

Task MapInteraction DesignUI Sketch

Story Mapping

PrioritisationGrouping by ThemesReiterating

Planning

User Stories

AcceptanceCriteria

User Story Authoring

Ac c ept ance !

Criteria

9

A  day  in  the  life  of  Ed  !

©  2013  Naresh  Jain,  all  rights  reserved,  www.AgileFAQs.com

Maps  have  laJtude  and  longitude

54

©  2013  Naresh  Jain,  all  rights  reserved,  www.AgileFAQs.com

Maps  have  laJtude  and  longitude

54

time (from the user’s perspective)

©  2013  Naresh  Jain,  all  rights  reserved,  www.AgileFAQs.com

Maps  have  laJtude  and  longitude

54

time (from the user’s perspective)

priority (time from the planner

and builder’s perspective)

time

nece

ssity

absolutely necessary

more necessary

less necessary

activity 1 activity 2 activity 3 activity 4

Span Planning

time

optio

nalit

y

necessary

less optional

more optional

activity 1 activity 2 activity 3 activity 4

first release

second release

third release

Identify Release from Span Plans

13

15

16

Team  fully  engaged!

19

Copyright © 2014, AgileFAQs. All Rights Reserved.

Cab Route Optimisation

Most companies provide cab pick and drop services to their employees.

Company wants to

improve the utilisation of the cabs

reduce the cab expenses (lesser # of cabs, reduce total distance travelled by cabs)

reduce the time taken for employees to get to office

Constraints

Employees traveling from different locations at different times (flexi-office hours, shifts, unplanned meetings)

We need to give the cab vendor enough notice to arrange the cabs

Copyright © 2014, AgileFAQs. All Rights Reserved.

Product Discovery

Goals/Themes

CAPTURE TRAVEL AND DATE TIME

VALIDATE ROUTES OF CARS AND TYPE OF CARS

DRIVER AND CAB ALLOTMENT

NOTIFY THE SUBSCRIBERS ABOUT CABS AND DRIVERSCAPTURE

EMPLOYEE TRAVEL PREFERENCE

Specify starting address

Enter my details (Emp ID,Name,Phn,Email ID)

Book a cab by specifying pick up /drop time

CALCULATE ROUTES

Read the rejection reason

View no. of employees, duration, no. of cabs per route

View total number and type of cabs per day in month

Get routes and number of people from system

Allocate driver and cabs to routes

Send sms notification with cab number, driver number and pickup time

MONITORING

Compare with the previous snapshot

Keep a track on average no. of employees per cab

Keep a track on the total distance travelled by the cabs

Monitor successful last minute changes

Monitor the avg. time taken by cabs per route

Copyright © 2014, AgileFAQs. All Rights Reserved.

Low-Fi Prototyping & Interaction Design Testing

Copyright © 2014, AgileFAQs. All Rights Reserved.

Landing Page

Copyright © 2014, AgileFAQs. All Rights Reserved.

Entering their Location

Copyright © 2014, AgileFAQs. All Rights Reserved.

Signing Up

Copyright © 2014, AgileFAQs. All Rights Reserved.

Office In and Out Time

Copyright © 2014, AgileFAQs. All Rights Reserved.

Update Schedule

Copyright © 2014, AgileFAQs. All Rights Reserved.

Generates the Report

Copyright © 2014, AgileFAQs. All Rights Reserved.

Thank You!

Questions?

nashjain@agilefaqs.com http://nareshjain.com

@nashjain

top related