79
The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton [email protected] AgileProductDesign.com

The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton [email protected] AgileProductDesign.com

Embed Size (px)

Citation preview

Page 1: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

The Scrum

Product Owner

PracticeSurviving the Agile

rollercoaster as part of a product owner team

Jeff [email protected]

AgileProductDesign.com

Page 2: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 2

©Alistair Cockburn2005-6 Slide 3

PEOPLE Learn Skills in a 3-stage Progression: Follow / Break Away / Achieve Fluency

Level 1: following (shu)Learn “a technique that works”(Success = following the technique)

Level 2: breaking away ( ha )Learn limits of the technique

Learn to shift between techniques

Level 3: fluent ( ri )Shift techniques at any momentPossibly unable to describe the shifts

We will use this progression throughout the course.

Page 3: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

3

Today I’ll cover 3 areas

1. Models to help us understand product design

2. Practice that supports product design

3. Product design practice in the Scrum Product Owner team

Page 4: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

4

Before we start, on a bit of paper, or in a notebook, write

down your biggest, most burning question regarding:

Scrum, Agile Development,

the Product Owner Role, or life in general.

Page 5: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 5

By “Design” I mean the decisions we make regarding the software solution we choose to build.

“The hardest single part of building a software system is deciding precisely what to build.”

-- Fred Brooks In his 1987 essay “No Silver Bullet”

"A requirement is a relationship to a decision: If you get to make or change the decision, it's design to you; if you don't get to make or change that decision, it's a requirement to you."

-- Alistair Cockburn

Page 6: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

6

Garrett’s Elements of User Experience Model describes a series of dependent decisions.

Page 7: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 7

Software user experience is built from dependent layers

Jesse James Garrett’s Elements of User Experience: http://www.jjg.net/elements/

Page 8: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 8

The surface layer describes finished visual design aspects

Surface

Skeleton

Structure

Scope

Strategy

Page 9: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 9

The skeleton describes screen layout and functional compartments in the screen

Surface

Skeleton

Structure

Scope

Strategy

Page 10: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 10

Structure defines navigation from place to place in the user interface

task panes

modal dialogs

modal wizards

Surface

Skeleton

Structure

Scope

Strategy

Page 11: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 11

The “places” in the user interface are built to support user-task-centric scope

user tasks:• enter numbers• enter text• enter formulas• format cells• sort information• filter information• aggregate information• graph data• save data• import data • export data• print • …..

Surface

Skeleton

Structure

Scope

Strategy

Page 12: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 12

Business goals drive user constituencies choices and contexts supported to form strategy

business goals:• displace competitive products• motivate sale of other

integrated products• establish file format as default

information sharing format• …user constituencies:• accountant• business planner• housewife• …usage contexts:• office desktop• laptop on airplane• pda in car• …

Surface

Skeleton

Structure

Scope

Strategy

Page 13: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 13

Garret’s Elements of UX stack can apply to the user experience of other complex products

These layers of concern apply not only to software but a

variety of products.

In particular, products that support a wide variety of user tasks benefit from this kind of

thinking.

Page 14: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 14

Let’s look at the strategy for a product we all use: the place we live

goals:• live comfortably • eat well• stay clean• be healthy• keep up with Jones’s• …user constituencies:• me• spouse• child• …usage contexts:• suburban neighborhood• near good schools• near shopping• …

Surface

Skeleton

Structure

Scope

Strategy

Page 15: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 15

What might I, and my other user constituencies, do to reach our goals?

user tasks:• store food• prepare food• eat food• sleep• bathe• store changes of clothing• stay out of rain• entertain guests• entertain self• …

Surface

Skeleton

Structure

Scope

Strategy

Page 16: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 16

Arranging tasks by affinity allows me to think about contexts that best support tasks. Contexts in a home have common names we all know.

Surface

Skeleton

Structure

Scope

Strategy

Page 17: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 17

When designing a particular interactioncontext such as a “kitchen,” I optimize layout and tool choices to support tasks I’ll do there

Surface

Skeleton

Structure

Scope

Strategy

Page 18: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 18

“I’m going to spend a lot of time here, I want my experience to be as pleasant as possible…”

Surface

Skeleton

Structure

Scope

Strategy

Page 19: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

19

Underneath Garrett’s model is a simple 3

layer model

Page 20: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 20

Norman’s simple model for a human in pursuit of a goal

problem or goal

How I’d like to feel, or what I’d like to achieve

take some

action action evaluation did that action deliver that results

I expected?

goal evaluation is my goal met or problem

resolved?

the worldinformation and tools

Page 21: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 21

Distilling this down to goals, tasks, and tools

problem or goal

How I’d like to feel, or what I’d like to achieve

the worldinformation and tools

take some

action action evaluation did that action deliver that results

I expected?

goal evaluation is my goal met or problem

resolved?

goal

task

tool

Page 22: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 22

software

Software contains features that support a number of tasks and a number of goals

goals

tasks

toolsfeatures

Page 23: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

23

One last model looks at a design process that alternates between

problem analysis and solution definition

Page 24: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 24

Design alternates between analyzing the problem context and exploring possible solutions

Often, design starts with a candidate solution in mind. Exploring the problem helps validate the solution. As time passes, problem analysis activities are replaced by solution definition activities.

time

business problems & goals analysis

user research

user modeling

task analysis (how do users achieve goals today?)

task design(how might users better reach goals?)

user scenario writing

Incremental release planning

user interface design

user story writing

Page 25: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 25

Design alternates between analyzing the problem context and exploring possible solutions

Often, design starts with a candidate solution in mind. Exploring the problem helps validate the solution. As time passes, problem analysis activities are replaced by solution definition activities.

time

business problems & goals analysis

user research

user modeling

task analysis (how do users achieve goals today?)

task design(how might users better reach goals?)

user scenario writing

Incremental release planning

user interface design

user story writing

Page 26: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

26

Now let’s look at practices that a

product owner users to move from problem analysis through to solution definition

Page 27: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 27

Let’s look at a few of many possible product owner team practices

Facilitated collaborative work

Modeling business objectives

Modeling Users

Modeling workflow as user stories: User Story Mapping

Paper prototyping and usability testing

Planning & road-mapping

Page 28: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 28

Collaborative centers around model building

[a model is] a description or analogy used to help visualize something (as an atom) that cannot be directly observed

- Merriam-Webster on-line

A goal of a model isn’t completeness or accuracy, but communication

For our purposes: a model is any visual representation of our current understanding of a concept

We’ll build models to understand our problem context, and explore solutions

Page 29: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 29

Often when we verbally discuss ideas, we may incorrectly believe we have the same understanding

Page 30: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 30

Representing our ideas as models allows us to detect inconsistencies in our understanding

Page 31: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 31

Through discussion and iterative model building we arrive at a stronger shared understanding

Page 32: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 32

Using that common understanding we can work together toward shared objectives

Page 33: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 33

Low fidelity card models are used to facilitate discussions and build common understanding

Common model forms include: Affinity diagrams Chronological models Decompositions Ad hoc charts

Mix and match as you see fit

Page 34: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 34

Collaborative modeling looks like this

Page 35: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 35

1

Collaborative modeling sessions follow a simple, repeatable structure

2 3

Use Collaborative Modeling Sessions to: Build up tacit shared knowledge within the team Build communication and collaboration skills within

the team Help the team to gel as an affective workgroup

Prepare Write a short statement to set goals and scope for

the session Identify participants – 4-8 is ideal Fill These Roles:

Information Suppliers Information Acquirers Information Modelers Facilitator Documenter

Schedule & set up work session facility

Perform Kickoff with goals and scope Get information figuratively and literally on the

table using brainstorming or discussion Model the information to clarify, add details, distill

details, and understand relationships Close by summarizing the results, on camera if

possible

Document & Communicate Capture model with photo and/or movie Document as necessary Post in publicly accessible place Display as a poster

Page 36: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 36

Let’s look at a few of many possible product owner team practices

Facilitated collaborative work

Modeling business objectives

Modeling Users

Modeling workflow as user stories: User Story Mapping

Paper prototyping and usability testing

Planning & road-mapping

Page 37: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

37

Business objectives describes why we’d

choose to buy or build the software

Page 38: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 38

Look for benefit to the buyer or builder of the software

For software built for internal use: Save money Increase efficiency Solve problems that are costing money or decreasing efficiency Improve customer satisfaction Generate revenue by supporting or improving service offerings

For software built for commercial sale: Generate revenue through sale Improve/expand market share Open new markets

The IRACIS* mnemonic helps us remember to look for business benefit that will

Increase Revenue Avoid Cost Increase Service* Gane & Sarson’s IRACIS model, 1977

Page 39: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 39

When asking for business goals look for expressions of business problems or desired outcomes

Express goals as business problems or business outcomes

It’s tempting for business stakeholders or users to describe their proposed solution as a goal

Solution-centric goal: “I’d like a cost effective ski parka” Problem-centric goal: “I’d like to stay warm and dry while skiing”

Use root cause analysis to get behind solutions to goals and problems

Toyota’s “5 whys” describes root cause analysis Poking it with “the why stick” is often what my colleagues say

Page 40: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 40

Use a Goal Question Metric approach to identify appropriate goal metrics

Leverage a simple approach from the GQM methodology

1. Identify and prioritize goals

2. Question each goal:

If we were making progress toward this goal, how would we know?

What would change in the business as a result of reaching this goal?

3. Use answers to these questions to identify metrics for goals

Metrics help quantify ROI Metrics helps justify ongoing development expense The desire to track metrics often generate important product

features

Page 41: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 41

Good business objectives help validate prospective solutions

A good set of business objectives help us validate the solutions we choose to construct

A good set of business objectives are: short: a single page or slide prioritized measurable

Page 42: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 42

Let’s look at a few of many possible product owner team practices

Facilitated collaborative work

Modeling business objectives

Modeling Users

Modeling workflow as user stories: User Story Mapping

Paper prototyping and usability testing

Planning & road-mapping

Page 43: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 43

Common models such as actors, roles, profiles, & personas describe users

Actor & Goal Often a job title or the common name

for the type of user in a system

User Role Short name describing a user in pursuit

of a goal – users change roles as their goals change

User Profile Adding summary information about the

types of users who fill a role or perform as an actor begins a process of “profiling”

Persona Choosing specific characteristics of a

person and compiling those into a archetypal description of that person creates a strong design target

On-line Shopper: browse and purchase merchandise on line

Customer Support Rep: aid customers over the phone and on line with issues

Page 44: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 44

Common models such as actors, roles, profiles, & personas describe users

Actor & Goal Often a job title or the common name

for the type of user in a system

User Role Short name describing a user in

pursuit of a goal – users change roles as their goals change

User Profile Adding summary information about the

types of users who fill a role or perform as an actor begins a process of “profiling”

Persona Choosing specific characteristics of a

person and compiling those into a archetypal description of that person creates a strong design target

Casual Browser: pass time by browsing products online

Comparison Shopper: compare price and features for items I wish to buy

Gift Shopper: find a gift for someone that likes the types of products this website sells

Impatient Buyer: find what I need and get through the checkout process quickly

Page 45: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 45

Common models such as actors, roles, profiles, & personas describe users

Actor & Goal Often a job title or the common name

for the type of user in a system

User Role Short name describing a user in pursuit

of a goal – users change roles as their goals change

User Profile Adding summary information

about the types of users who fill a role or perform as an actor begins a process of “profiling”

Persona Choosing specific characteristics of a

person and compiling those into a archetypal description of that person creates a strong design target

Web Shoppers

Users: 50,000 customer visit this sporting goods website monthly

Activities: browsing, price comparing, gift shopping, handling returns

Computer Skills: vary wildly from first time users to expert – although moderate computer skills are typical

Domain expertise: typical customers are avid outdoor enthusiasts…

Page 46: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 46

Common models such as actors, roles, profiles, & personas describe users

Actor & Goal Often a job title or the common name for

the type of user in a system

User Role Short name describing a user in pursuit of

a goal – users change roles as their goals change

User Profile Adding summary information about the

types of users who fill a role or perform as an actor begins a process of “profiling”

Persona Choosing specific characteristics of a

person and compiling those into a archetypal description of that person creates a strong design target

Steve races mountain bikes competitively. He shops the web on a regular basis to keep abreast of new equipment releases on the market, and to make sure he has the best equipment he can afford.

He’s used computers for years and considers himself an expert user. He maintains his own website and blogs about his races and upcoming schedule.

Steve relies on reviews from his peers to judge the quality of equipment. He often writes reviews of his own for stuff he’s tried out.

Steve Powellcompetitive mountain biker

“I’m looking for stuff that’ll help me stay ahead of the pack”

Page 47: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 47

software

Software products support a variety of users and their goals.

tasks

features

goals

Page 48: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 48

software

In organizations where users are paid to use the software, user goals are driven by business goals

tasks

features

goals

All these goals mean lots of tasks, and lots of potential

features in our software

Page 49: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 49

Design imperatives describe good characteristics the software should have based on the user type

Inside your user model are clues about the type of user interface and user interface characteristics needed by your user.

Document these as design imperatives.

Think about: ease of learning retention of learning efficiency of interaction reliability of interaction

user satisfaction user convenience necessity for proficiency importance of accuracy

Page 50: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 50

A good user model helps us identify functional scope and necessary characteristics of the software

A good user model helps: identify functional scope identify necessary characteristics of the software stakeholders understand and empathize with target users validate proposed software solutions

An effective user model is prioritized to help rule out unnecessary functional scope and design imperatives

Page 51: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 51

Let’s look at a few of many possible product owner team practices

Facilitated collaborative work

Modeling business objectives

Modeling Users

Modeling workflow as user stories: User Story Mapping

Paper prototyping and usability testing

Planning & road-mapping

Page 52: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 52

Use simplified workflow models to organize user tasks and represent workflow – this is a Story Map

Draw a left to right axis representing timeIdentify high level activities performed by users of the system and place them above the time axis in the order that seams reasonable

Within each activity, organize tasks in the order they’re most likely completed. There’s likely variation in how they’re completed – so arrange them in a typical order.

If you had to explain the process to someone, arrange them in the order you’d tell the story.

Fill in task details such as business rules or possible features that satisfy the tasks below each task.

Task 1 Task 2 Task 3 Task 4 Task 5

time

Activity 1

Task Detail(Story)

Task Detail(Story)

Task Detail(Story)

Task Detail(Story)

Task Detail(Story)

Task Detail(Story)

Page 53: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 53

A good User Story as used in Scrum and other Agile approaches describes the use of the system

The user story form considered “best practice” in Scrum references your user model and user goals.

As a [type of user]

I want to [perform some task]

so that I can [achieve some goal]

As a harried shopper

I want to locate a CD in the store

so that I can purchase it quickly, leave, and continue with my day.

Page 54: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 54

user story

In practice user stories may be written to describe user tasks or the tools that support them

software

tasks

features

goalsAs a harried shopper

I want to locate a specific CD in the store

As a harried shopper

I want to enter a CD title into the search box and initiate a product search

More task-centric:

More tool-centric:

start with task-centric user stories early in

product discussion and modeling

fill in feature-centric stories till later

Page 55: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 55

Building a workflow model helps facilitate discussion – but requires a bit of space

Page 56: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 56

Workflow or a reasonable sized system can fill a room

Page 57: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 57

Discussions in front of workflow models are more productive

Page 58: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 58

Let’s look at a few of many possible product owner team practices

Facilitated collaborative work

Modeling business objectives

Modeling Users

Modeling workflow as user stories: User Story Mapping

Paper prototyping and usability testing

Planning & road-mapping

Page 59: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 59

Build paper prototypes from repositionable components

Page 60: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 60

Test paper prototypes to determine if they’re usable

Page 61: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 61

Finished prototypes are pieced together from moveable and removable paper components

Page 62: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 62

Build navigation maps and storyboards to communicate UI design

Page 63: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 63

Let’s look at a few of many possible product owner team practices

Facilitated collaborative work

Modeling business objectives

Modeling Users

Modeling workflow as user stories: User Story Mapping

Paper prototyping and usability testing

Planning & road-mapping

Page 64: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 64

Prioritize task details by necessity to help visualize layers of functionality across the business process

Draw a vertical axis to represent necessity

Task 1 Task 2 Task 3 Task 4 Task 5

time

Activity 1

Task Detail(Story)

Task Detail(Story)

Task Detail(Story)

Task Detail(Story)

Task Detail(Story)

Task Detail(Story)ne

cess

ity

Page 65: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 65

Identify releases in spans of coherent functionality

Choose coherent groups of features that consider the span of business functionality and user activities.

Support all necessary activities with the first release

Improve activity support with subsequent releases

time

optio

nalit

y

necessary

lessoptional

moreoptional

activity 1 activity 2 activity 3 activity 4

first release

second release

third release

Page 66: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 66

Distill your release plan into a roadmap

EasyPOS Point of Sale Software

Release 1: Replace the cash register

Business: replaces gets rid of old manual cash registers and gets

accurate up the minute sales information across locations

Users: Cashiers get an easier to use cash register that helps them

make less mistakes, correct them when they do, and save time

balancing cash drawers every night.

EasyPOS Point of Sale Software

Release 1: Replace the cash register

Business: replaces gets rid of old manual cash registers and gets

accurate up the minute sales information across locations

Users: Cashiers get an easier to use cash register that helps them

make less mistakes, correct them when they do, and save time

balancing cash drawers every night.

A roadmap serves to clearly communicate release level objectives to stakeholders

For each incremental release: Give the release a name or simple statement describing it’s

purpose Write a short sentence or two describing what value the business

gets from the release Write a short sentence or two describing what value the users get

from the release

Page 67: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 67

“Bucketing” groups of major functionality or areas of task support is sometimes easier than feature by feature prioritization

Page 68: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

68

Where to do all those practices fit in a typical

Scrum lifecycle?

Page 69: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 69

The simple Scrum snowman process model

Page 70: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

70

But, it’s commonly understood the

snowman is missing a couple balls…

Or, that it takes a taller snowman to model product concerns

Page 71: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com
Page 72: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com
Page 73: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com
Page 74: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com
Page 75: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com
Page 76: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 76

Parallel Track Development Separates Design and Evaluation Into One Track, Building Into Another

design & plan

evaluate

build

Product Owner TeamCompositionBusiness AnalystsInteraction DesignersPrototypersResponsibilitiesGather customer input for

features to be implemented in later iterations

Design next iteration features

Be available to answer questions on current iteration development

Test features implemented in the previous iteration

Development teamCompositionSmaller number of

seasoned developersUI development skills &

analysis skillsResponsibilitiesImplement features for

current iterationCollaborate with Product

Owner team to acquire details to construct software

Page 77: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 77

Pro

duct

Ow

ner

Team

Develo

pm

ent

Team

Design and Coded Features Pass Back and Forth Between Tracks

implement iteration 1 features

•gather user input for iteration 3 features

•design iteration 2 features

•support iteration 1 development

implement iteration 2 featuresfix iteration 1 bugs if any

•gather user input for iteration 4 features

•design iteration 3 features

• support iteration 2 development

•validate iteration 1 features

implement iteration 3 featuresfix iteration 2 bugs if any

•gather user input for iteration 5 features

• design iteration 4 features

• support iteration 3 development

•validate iteration 2 features

•planning•data gathering•design for

iteration 1 features – high technical requirements, low user requirements

•development environment setup

•architectural “spikes”

Sprint 0 Sprint 1 Sprint 2 Sprint 3

feature design

code

d fe

atur

es

time

feature design

+ bugs found in

usability testing

Page 78: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

© 2006-2007 Jeff Patton, All rights reserved, www.agileproductdesign.com 78

The product owner team steers development

The product owner team must: Understand layers of dependent decisions that lead to

stories in a backlog Identify stories to meet release level business objectives Defer decomposing and detailing stories until necessary Re-prioritize and create new stories to allow business

objectives to be met within time and budget constraints Business objectives and user objectives are targets –

user stories are the tools that help you reach them

Page 79: The Scrum Product Owner Practice Surviving the Agile rollercoaster as part of a product owner team Jeff Patton jpatton@acm.org AgileProductDesign.com

The Scrum

Product Owner

PracticeSurviving the Agile

rollercoaster as part of a product owner team

Jeff [email protected]

AgileProductDesign.com