[mobiconf 2014] shazam mobile apps - data driven project management
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
Shazam mobile apps - Data Driven Project Management
Tomasz Kustrzynski, October 2014
© 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
© 2014 Shazam Entertainment
Shazam technology - then
(phone you most likely used in 2002)
1. call 25802. play the music3. wait for SMS with results
© 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
© 2014 Shazam Entertainment
Shazam is now a part of popular culture...
© 2014 Shazam Entertainment
...with lots of uses...
© 2014 Shazam Entertainment
...but there’s still a lot to do
organisation
embrace the change
spiral development
why and what do we measure
estimation (and causation bias)
handling dependencies
Agenda
Organisation
© 2014 Shazam Entertainment
The teams
© 2014 Shazam Entertainment
Technical Project Management
the scientific method
hypothesis experimentanalyse
datadraw
conclusions
improve continuously(Kaizen)
© 2014 Shazam Entertainment
We use Kanban
visualise workflow
© 2014 Shazam Entertainment
We use Kanban
visualise workflow
limit Work In Progress(WIP)
© 2014 Shazam Entertainment
We use Kanban
visualise workflow
limit Work In Progress
manage the flow
© 2014 Shazam Entertainment
We use Kanban
visualise workflow
limit Work In Progress
manage the flow
define explicit policies
© 2014 Shazam Entertainment
We use Kanban
visualise workflow
limit Work In Progress
manage the flow
define explicit policies
improve collaboratively
© 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)
© 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?
Embrace the change
© 2014 Shazam Entertainment
What do we care about
Users. We now have millions monthly active users.
100+
© 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)
© 2014 Shazam Entertainment
commercial dealsnew functionalities
Types of work
requirements change rapidly in both cases
© 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
© 2014 Shazam Entertainment
Hack time - results
© 2014 Shazam Entertainment
Last minute changes
© 2014 Shazam Entertainment
Real Options model
© 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)
© 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
© 2014 Shazam Entertainment
Real Options - exampleearly commitment
backlog too long
backing out of early commitment
late commitment
Spiral development
© 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
© 2014 Shazam Entertainment
Iterative/spiral development1. update requirements2. implement3. visually review new
functionalities(usually work in progress)
4. collect feedback5. repeat until signed off
© 2014 Shazam Entertainment
Visual reviewsin the breakout area for everyone to join
© 2014 Shazam Entertainment
Visual reviews
in the breakout Terminal 6 area for everyone to join
Why and what do we measure?
© 2014 Shazam Entertainment
T6 - taking the metaphor further
flight board
shows status of epics
all teams included
we track more than this...
© 2014 Shazam Entertainment
Data driven decisions
© 2014 Shazam Entertainment
Data gathering
"In God we trust; all others must bring data."Edward Deming
"What's measured improves."Peter F. Drucker
© 2014 Shazam Entertainment
Data gathering
information radiators across the office
Estimation
© 2014 Shazam Entertainment
Estimates are dangerous
© 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)
FAQ 1
As a Product Manager, when can I expect this Story to be completed?
© 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)
© 2014 Shazam Entertainment
Disney/Cycle Times
parallel streams of
work
Cycle Times
t
start of development
start of test
work done
© 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)
© 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%.
© 2014 Shazam Entertainment
Scientific method in actionwe track median (50th percentile) Cycle Times:
tracking metrics in time allows us to use scientific method
© 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
© 2014 Shazam Entertainment
Correlation
Work In Progress limit for Development lowered
correlated results next day
© 2014 Shazam Entertainment
Does eating ice cream make you more prone to drowning?
© 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
Ok, so when can we get all these 10 stories done?
FAQ 2
© 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
© 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
© 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
© 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%.
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?
© 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)
© 2014 Shazam Entertainment
Control chart
© 2014 Shazam Entertainment
Control chart
© 2014 Shazam Entertainment
Control chart
© 2014 Shazam Entertainment
Control chartweekends
Dependencies and blockersAs a Project Manager, what should I focus on next?
© 2014 Shazam Entertainment
© 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?)
© 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
© 2014 Shazam Entertainment
Blockers statistics
trend of increasing median time to unblock
Cumulative Density Function(80% blocked items unblocked in ~3 days)
● 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
Thank [email protected]
© 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