[mobiconf 2014] shazam mobile apps - data driven project management

71
Shazam mobile apps - Data Driven Project Management Tomasz Kustrzynski, October 2014

Upload: tomasz-kustrzynski

Post on 29-Nov-2014

131 views

Category:

Leadership & Management


3 download

DESCRIPTION

Shazam has been growing very fast recently. A lot of this growth happened in the engineering department at London HQ where our mobile apps are being developed. This talk will go into technicalities of project management techniques we use to keep 100+ MAU a month happy while maintain agility and respond to rapidly changing market situation. We will talk about data driven Kanban, flow, visual standups, changing requirements and structure of our teams. We will show what metrics we care about, how we measure them and what we do with the results. You should expect some observations about development of state of art apps useful from product/project manager’s and developer’s perspective.

TRANSCRIPT

Page 1: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

Shazam mobile apps - Data Driven Project Management

Tomasz Kustrzynski, October 2014

Page 2: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

About Shazam

music recognition service and apps

founded in 1999

launched in the UK in 2002

one of the most popular mobile apps

500M+ downloads

Page 3: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Shazam technology - then

(phone you most likely used in 2002)

1. call 25802. play the music3. wait for SMS with results

Page 4: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Shazam technology - now

since 2008 - iPhone and Android appssince 2011 - integrated with Spotifysince 2014 - integrated with iOS8’s Sirimusic streaming, TV ads, live TV,and more

Page 5: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Shazam is now a part of popular culture...

Page 6: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

...with lots of uses...

Page 7: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

...but there’s still a lot to do

Page 8: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

organisation

embrace the change

spiral development

why and what do we measure

estimation (and causation bias)

handling dependencies

Agenda

Page 9: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

Organisation

Page 10: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

The teams

Page 11: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Technical Project Management

the scientific method

hypothesis experimentanalyse

datadraw

conclusions

improve continuously(Kaizen)

Page 12: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

We use Kanban

visualise workflow

Page 13: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

We use Kanban

visualise workflow

limit Work In Progress(WIP)

Page 14: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

We use Kanban

visualise workflow

limit Work In Progress

manage the flow

Page 15: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

We use Kanban

visualise workflow

limit Work In Progress

manage the flow

define explicit policies

Page 16: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

We use Kanban

visualise workflow

limit Work In Progress

manage the flow

define explicit policies

improve collaboratively

Page 17: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Why KanbanOur work is complex, requirements and circumstances change.

(fixed scope iterations won’t work)

We can be flexible with release cadence.

(we release when we’re ready)

Visibility and metrics.

(value stream mapped on the board)

Page 18: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

This talk is not about theory

why limit work in progress?

why focus on finishing, not starting?

why slack is good for efficiency, ‘busyness’ is not?

why early feedback loops are necessary?

effectiveness vs efficiency?

Page 19: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

Embrace the change

Page 20: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

What do we care about

Users. We now have millions monthly active users.

100+

Page 21: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Types of work

new functionalities commercial deals

deadlines(quality still matters)

defined scope(flexible interpretation)

no deadlines(quality most important)

flexible scope(UX most important)

Page 22: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

commercial dealsnew functionalities

Types of work

requirements change rapidly in both cases

Page 23: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Hack time (3rd type of work)

some time can be used to work on any project

Shazam for Mac was one of them

Page 24: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Hack time - results

Page 25: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Last minute changes

Page 26: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Real Options model

Page 27: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Real Options model

● options have value(you’ll have more information/make better decision later)

● options expire(ability to execute option ceases to exist at some point)

● never commit early unless you know why(sometimes no decision is the best decision)

Page 28: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Real Options in practice

● no long queues● designs and specs refined as we go● A/B testing● shorter release cycles● irreversible commitments

Page 29: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Real Options - exampleearly commitment

backlog too long

backing out of early commitment

late commitment

Page 30: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

Spiral development

Page 31: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Ceremonies

ceremonies limited to a minimum

meetings often ad hoc, here and now

● morning standups● retrospectives● visual reviews

● bug triage meetings● detailed planning● estimation

Page 32: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Iterative/spiral development1. update requirements2. implement3. visually review new

functionalities(usually work in progress)

4. collect feedback5. repeat until signed off

Page 33: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Visual reviewsin the breakout area for everyone to join

Page 34: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Visual reviews

in the breakout Terminal 6 area for everyone to join

Page 35: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

Why and what do we measure?

Page 36: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

T6 - taking the metaphor further

flight board

shows status of epics

all teams included

we track more than this...

Page 37: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Data driven decisions

Page 38: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Data gathering

"In God we trust; all others must bring data."Edward Deming

"What's measured improves."Peter F. Drucker

Page 39: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Data gathering

information radiators across the office

Page 40: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

Estimation

Page 41: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Estimates are dangerous

Page 42: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Estimation scale we use

1

TFB - too f* big

NFC - no f* clue

[give me a minute]

cards in the photo by

Lunar Logic (@Lunar_Logic)

Page 43: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

FAQ 1

As a Product Manager, when can I expect this Story to be completed?

Page 44: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Disney/Cycle Times

time for a Story to get implemented and tested(or time from entering queue until finishing the ride in Disneyland)

having lots of samples we can use statistics(and talk about probabilities)

Page 45: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Disney/Cycle Times

parallel streams of

work

Cycle Times

t

start of development

start of test

work done

Page 46: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Disney/Cycle Times - statistics

histogram of Disney Times (Cycle Times) density function

50th, 85th percentile(50/85% items get finished within this time)

Page 47: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

When a Story will get done?

1. You can get this story within X days with 85% probability.

2. Probability of you getting it within a week is Y%.

Page 48: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Scientific method in actionwe track median (50th percentile) Cycle Times:

tracking metrics in time allows us to use scientific method

Page 49: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Hypothesis

limiting Work In Progress will shorten Cycle Times

according to Little’s Law:

avg Cycle Time = avg Work In Progressavg Throughput

Page 50: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Correlation

Work In Progress limit for Development lowered

correlated results next day

Page 51: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Does eating ice cream make you more prone to drowning?

Page 52: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Causation?we had a glitch in the system, but over the next month results matched our hypothesis, and we could replicate the experiment

Page 53: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

Ok, so when can we get all these 10 stories done?

FAQ 2

Page 54: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

it’s easier with Takt TimesTakt Times

Modelling parallel work

parallel streams of

work

parallel work is difficult to model with cycle times

Cycle Times

t

Page 55: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Distribution of average Takt Times

create set of average Takt Time samples based on similar project

resample and ∑many times

(>1000)

average

distribution of average Takt Timesaverage Takt Times

Takt Times

Page 56: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Predicting delivery time for N items

average TT

* Nrepeat many

times (>1000)average TT

average TT

average TT

distribution of expected delivery timesaverageTakt Times

expected delivery times

85% probability to deliver within this time

Page 57: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

When will all the Stories get done?

1. You can get these Stories within X days with 85% probability.

2. Probability of you getting them within a week is Y%.

Page 58: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

FAQ 3

Why did we end up with large number of stories to test at once?

Do some types of items take longer to develop than others?

Are there times when teams are more productive?

Did we split Stories properly or we missed splitting some big ones?

Page 59: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Patterns and improvement

Being aware of patterns enables us to act on them:

● introduce better policies(e.g. all UI assets for a Story done before dev commences)

● change development cycle(e.g. release more often to prevent batching)

● treat some types of work differently(e.g. allow extra dev time)

Page 60: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Control chart

Page 61: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Control chart

Page 62: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Control chart

Page 63: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Control chartweekends

Page 64: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

Dependencies and blockersAs a Project Manager, what should I focus on next?

Page 65: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Page 66: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Blockers/dependencies

● visualise● prioritise

(what is blocked, for how long)● act● collect statistics and review them

(have any recent changes to the process change amount of blocked items/how long they’re blocked for?)

Page 67: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

What should I do first? - answers

Team A: finally doing well

Team B: keeps getting blocked4 blockers including 1 old

Team C: doing well

Team D: 1 new blocker

Page 68: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

Blockers statistics

trend of increasing median time to unblock

Cumulative Density Function(80% blocked items unblocked in ~3 days)

Page 69: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

● use Kanban for flexibility, continuous improvement● embrace change, use Real Options rules● daily visual reviews allow fast feedback cycle● make decisions based on data● make estimates based on statistical analysis● handle dependencies and blockers

Summary

Page 70: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

Thank [email protected]

Page 71: [mobiconf 2014] Shazam mobile apps - Data Driven Project Management

© 2014 Shazam Entertainment

References

● Real Options: commitment-thebook.com, Olav Maassen, Chris Matts● Real Options: http://www.infoq.com/articles/real-options-enhance-agility● Real Options: http://decision-coach.com/lean-and-real-options/● “High level planning using Monte Carlo simulation”, Dimitar Bakardzhiev● “Thinking, fast and slow”, Daniel Kahneman● http://en.wikipedia.org/wiki/Takt_time