how to train your product owner

56
How to Train Your Product Owner David Murgatroyd ( @dmurga) MassTLC ML Dev Day January 24, 2018 (please don’t sue me for copyright infringement, DreamWorks!)

Upload: david-murgatroyd

Post on 28-Jan-2018

105 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: How to train your product owner

How to Train Your Product Owner

David Murgatroyd ( @dmurga)MassTLC ML Dev DayJanuary 24, 2018

(please don’t sue me for copyright infringement, DreamWorks!)

Page 2: How to train your product owner
Page 3: How to train your product owner

Agile & Machine LearningDavid Murgatroyd (@dmurga)(ML Chapter Lead in Quest)

Your Product Owner

Page 4: How to train your product owner

Agile & Machine LearningDavid Murgatroyd (@dmurga)(ML Chapter Lead in Quest)

Your Product Owner

Your Product

Page 5: How to train your product owner

@dmurga

Page 6: How to train your product owner

@dmurga

What do Product Owners Do?Lead team in: ‣ establishing vision/hypotheses for

what product should become‣ prioritizing work to get there

Page 7: How to train your product owner

@dmurga

What do Product Owners Do?Lead team in: ‣ establishing vision/hypotheses for

what product should become‣ prioritizing work to get there

Your Product

Page 8: How to train your product owner

@dmurga

Your Product

Machine Learning

Page 9: How to train your product owner

@dmurga

Outside In

Machine Learning

Your Product

Page 10: How to train your product owner

@dmurga

Outside In … Now to Then

Machine LearningMachine Learning

Your ProductYour Future Product

Page 11: How to train your product owner

@dmurga

Outside In … Now to Then

Machine Learning

Problem Metrics Data Models Prioritizing OrganizingDesign

Machine Learning

Your ProductYour Future Product

Page 12: How to train your product owner

Train Your PO…Outside In

Page 13: How to train your product owner

@dmurga

Machine Learning

Problem Metrics Data Models

Outside In

Design

Your Product

Page 14: How to train your product owner

@dmurga

Machine Learning

Problem Metrics Data Models

Picking a Problem

Design

Your Product

1. Tweak It2. Think It

Page 15: How to train your product owner

@dmurga

Problem Metrics Data Models

Picking a Problem: Tweak It

Design

‣ What’s the business goal of your product?

‣ What fuzzy decision does it make that impacts that goal?

Your Product

Page 16: How to train your product owner

@dmurga

‣ Perception: a person can do it in less than a second.

‣ Prediction: done over and over‣ Personalization: similar need but

met in different ways

Problem Metrics Data Models

Picking a Problem: Think It

Design

Your Product

?

Page 17: How to train your product owner

@dmurga

Page 18: How to train your product owner

@dmurga

Page 19: How to train your product owner

@dmurga

1. The role of ‘why’ of ML output?2. Coping with errors?3. Designing for varied output?4. New user behaviors that ML

enables?

Problem Metrics Data Models

Designing with ML

Design

Your Product

Page 20: How to train your product owner

@dmurga

Design

‣ Trading off why vs. right‣ Granularity of ‘why’‣ Creepy vs. personal‣ First step: designer gives concrete

example on concrete data

Problem Metrics Data Models

Design: the role of ‘why’

Your Product

Page 21: How to train your product owner

@dmurga

‣ What quality is needed to user maintain trust or delight them?

‣ Rank multiple outputs?‣ Provide fallback behavior?‣ Explicit feedback mechanisms?

Problem Metrics Data Models

Design: coping with errors

Design

Your Product

Page 22: How to train your product owner

@dmurga

‣ Get realistic output samples from a variety of users (e.g., synthetic, persona)

‣ Watch for subtle assumptions

Problem Metrics Data Models

Design: coping with variety

Design

Your Product

Page 23: How to train your product owner

@dmurga

‣ Users might anthropomorphize ML Products

‣ Users might express more of themselves or test the limits of the systems

‣ Avoid “user bubbles” by encouraging discovery and crafting metrics

Problem Metrics Data Models

Design: new user behavior

Design

Your Product

Page 24: How to train your product owner

@dmurga

‣ Alignment to business value‣ Effort to measure‣ Useful for team’s decisions‣ Useful for model’s training

Problem Metrics Data Models

Metrics: Properties

Design

Your Product

Machine Learning

Page 25: How to train your product owner

@dmurga

Problem Metrics Data Models

Metrics: Matrix of Metrics

Design

Where / What

Heuristic Modeled

Online Online Heuristic OnlineModeled

Offline Offline Heuristic Offline Modeled

Your Product

Machine Learning

Page 26: How to train your product owner

@dmurga

Problem Metrics Data Models

Metrics: Online vs Offline

Design

Online More aligned with business value

Offline Generally less effort to measure

Your Product

Machine Learning

Page 27: How to train your product owner

@dmurga

Problem Metrics Data Models

Metrics: Heuristic vs Modeled

Design

Heuristic Modeled

More useful for team’s decisions interpretable

More useful for training the model directly

Your Product

Machine Learning

Page 28: How to train your product owner

@dmurga

Problem Metrics Data Models

Metrics: Matrix of Metrics

Design

Where / What

Heuristic Modeled

Online Online Heuristic OnlineModeled

Offline Offline Heuristic Offline Modeled

Your Product

Machine Learning

Page 29: How to train your product owner

@dmurga

‣ Just look at some data before/after‣ Alignment to business value: OK‣ Effort to measure: OK (one-off)‣ Useful for team’s decisions: OK‣ Useful for model’s training: Bad

Problem Metrics Data Models

Metrics: … vs Subjective

Design

Your Product

Machine Learning

Page 30: How to train your product owner

@dmurga

1. What data do you need?2. Where can you get it?3. What biases does it carry?

Problem Metrics Data Models

Data

Design

Your Product

Page 31: How to train your product owner

@dmurga

‣ Raw input data‣ Metadata / reference‣ Has metadata that is a source for

measurement

Problem Metrics Data Models

What data do you need?

Design

Your Product

Page 32: How to train your product owner

@dmurga

‣ Data is the new Wireframe‣ Product Owner provides example

inputs / outputs‣ Use these to also vet metrics

Problem Metrics Data Models

Specifying with Data

Design

Your Product

Machine Learning

Page 33: How to train your product owner

@dmurga

‣ Logging‣ Proxies and other 3rd Parties‣ Annotation‣ Watch out for drift in the data set‣ Take advantage of PO’s domain

knowledge!

Problem Metrics Data Models

Where can you get it?

Design

Your Product

Page 34: How to train your product owner

@dmurga

‣ Is it skewed?‣ Is it tainted?‣ Is it likely to stereotype?

Problem Metrics Data Models

What biases does it carry?

Design

Your Product

Page 35: How to train your product owner

@dmurga

1. Teach tasks rather than techniques2. Teach trade-offs rather than tools3. Start simple

Problem Metrics Data Models

Models

Design

Your Product

Machine Learning

Page 36: How to train your product owner

@dmurga

‣ Classification‣ Clustering‣ Regression‣ (and Embeddings if you must :- )

Problem Metrics Data Models

Models: Tasks

Design

Your Product

Machine Learning

Page 37: How to train your product owner

@dmurga

‣ Simplicity‣ Interpretability‣ Confidence‣ Accuracy‣ Adaptability‣ Speed‣ Space‣ Scale

Problem Metrics Data Models

Models: Trade-offs

Design

Your Product

Machine Learning

Page 38: How to train your product owner

@dmurga

‣ Rules before baseline models‣ Baselines before adapted models‣ Adapted models before end-to-end

models

Problem Metrics Data Models

Models: Err toward Simplicity

Design

Your Product

Machine Learning

Page 39: How to train your product owner

Train Your PO…Now to Then

Page 40: How to train your product owner

@dmurga

Outside In … Now to Then

Machine Learning

Problem Metrics Data Models Prioritizing OrganizingDesign

Machine Learning

Your ProductYour Future Product

Page 41: How to train your product owner

@dmurga

Now to Then

Prioritizing Organizing

Machine Learning

Your Future Product

Page 42: How to train your product owner

@dmurga

Prioritizing

Prioritizing Organizing

1. Exploration2. Experimentation3. Error Analysis4. ML Product Lifecycle 5. Longer term Goals (OKRs)

Your Backlog

Page 43: How to train your product owner

@dmurga

Prioritizing: Exploration

Prioritizing Organizing

Your Backlog

Page 44: How to train your product owner

@dmurga

Prioritizing: Experiments

Prioritizing Organizing

Your Backlog

Page 45: How to train your product owner

@dmurga

Prioritizing: Error Analysis

Prioritizing Organizing Bug ErrorYour Backlog

Page 46: How to train your product owner

@dmurga

Prioritizing: Error Analysis

Prioritizing Organizing

Your Backlog

Page 47: How to train your product owner

@dmurga

Prioritizing: Prod Lifecycle

Prioritizing Organizing

Your Backlog

Stage Characteristics

Exploration by hand examples/rules

Pre-MVP (0.1% / early Beta)

measurable & inspectable

MVP (1%, Beta) accurate, not slow, & documented

v1 (100% / GA) simple & fast

Post-v1 handle new domains

Page 48: How to train your product owner

@dmurga

Prioritizing: Goals (OKRs)

Prioritizing Organizing

Your Backlog

Stage OKRs

Exploration amount of analysis

Pre-MVP (0.1% / early Beta)

having metrics, amount of experiments

MVP (1%, Beta) moving core metrics, amount of experiments

v1 (100% / GA) moving all metrics

Post-v1 moving all metrics on new data

Page 49: How to train your product owner

@dmurga

Organizing

Prioritizing Organizing

1. Team Structure2. Roles

Your Backlog

Page 50: How to train your product owner

@dmurga

Organizing: Team Structure

Organizing

‣ Aligned to Product/Org Maturity‣ Exploration: Centralized Team

Your Backlog

Prioritizing

Page 51: How to train your product owner

@dmurga

Organizing: Team Structure

Organizing

‣ Aligned to Product/Org Maturity‣ Exploration: Centralized Team‣ Pre-MVP: Cross-functional

Your Backlog

Prioritizing

Page 52: How to train your product owner

@dmurga

Organizing: Team Structure

Organizing

‣ Aligned to Product/Org Maturity‣ Exploration: Centralized Team‣ Pre-MVP: Cross-functional‣ MVP to v1: Cross-functional with

separate work stream

Your Backlog

Prioritizing

Page 53: How to train your product owner

@dmurga

Organizing: Team Structure

Prioritizing Organizing

‣ Aligned to Product/Org Maturity‣ Exploration: Centralized Team‣ Pre-MVP: Cross-functional‣ MVP to v1: Cross-functional with

separate work stream‣ Post v1: Dedicated Sibling Team

Your Backlog

Page 54: How to train your product owner

@dmurga

‣ Applied ML Eng

‣ ML Tool Eng

‣ Core Researcher

Organizing: Roles

Prioritizing Organizing

Page 55: How to train your product owner

@dmurga

Outside In … Now to Then

Machine Learning

Problem Metrics Data Models Prioritizing OrganizingDesign

Machine Learning

Your ProductYour Future Product

Page 56: How to train your product owner

Thanks! Questions?

David Murgatroyd (@dmurga)

Suggestions:

What about different kinds of testing?

What are common features ML-based products have?

More on identifying metrics?

Machine Learning vs. Data Science?

Hiring in Boston, NYC, London, and Stockholm!