Scaling Your Product Team While Staying Agile

62
Dan Podsedly, SpringOne Platform, 2016 Dan Podsedly, SpringOne Platform, 2016 Scaling Your Product Team While Staying Agile SpringOne Platform, 2016

Transcript of Scaling Your Product Team While Staying Agile

Page 1: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Scaling Your Product Team While Staying Agile

SpringOne Platform, 2016

Page 2: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Terms Matter: Project vs. Product

2

Page 3: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Project(noun) proj·ect \ˈprä-ˌjekt, -jikt also ˈprō-\

A planned piece of work that has a specific purpose (such as to find information or to make something new) and that usually requires a lot of time.

Projects are finite. They end, and you move on to the next one.

3

Page 4: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Product(noun) prod·uct \ˈprä-(ˌ)dəkt\

A good, idea, method, information, object, or service created as a result of a process and that serves a need or satisfies a want.

Products endure beyond projects that created them; they evolve indefinitely.

4

Page 5: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

A product-centric mindset focuses on the customer and embraces sustainability

5https://en.wikipedia.org/wiki/Windmill#/media/File:Molinos_de_Consuegra.jpg

Page 6: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Let’s talk products!

6

Page 7: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Let’s talk products!

(Yes, this is a real thing, yours for only $1,371.93.)

7

Page 8: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Let’s talk products!● Successful products spawn competition

● Non-linear increase of complexity

● New and evolving platforms

● Customers expect products to grow with them

8

Page 9: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Growing product = more people, more complexity

How do we organize for sustainable growth?

Page 10: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Origins: Pivotal Labs

● Born in the early Web 2.0 startup days

● Spawned agile team culture at Google, Twitter, eBay

● From 5 to 500 around the world

Page 11: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Pivotal Tracker● 10 years as widely used SaaS product

● From occasional pair to ~40 dedicated people

● The “transparent core” of every product team

Page 12: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Cult of Sustainability● Extreme Programming practices

● Sustainable pace; 8-hour work days

● Smooth transition at project end

● The real secret sauce: small, cross-

functional teams

12

Page 13: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

“Software development is an intense exercise in collaboration.” —Martin Fowler

13

Page 14: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Collaborative and Cross Functional● Product, design, testers, and developers working together

● Shared, highly visible priorities

● Collective ownership, no project manager

14

Page 15: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Roles: The Product Manager

15

● Communicator, emphasizer, and motivator-in-chief

● Big picture vision, hands on fine-grained stories

● Learns, defines, and prioritizes

● Drives consensus but decides

Page 16: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

The UX Product Designer● ”Full-spectrum" design

● Questions assumptions, obsessed with feedback

● Design vision vs. incremental steps

● Found pairing with PM, developers

16

Page 17: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

The Product Developer● Pragmatic, full-stack, polyglot

● Can specialize but not hoard

● Pairs, plays well with others

● Motivated by the collective success

● Red, green, refactor, repeat

17

Page 18: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Team Size: Optimizing for Communication

18

Page 19: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Ten Group“The basic unit is [a small group of people]. . .this group is bound together by a common

objective, and that the bond of trust and loyalty thus formed can become an extremely

powerful uniting force; that the group needs to decide on (or at least take part in deciding

on) its own objective, and to work out for itself how that objective shall be achieved. . .”

—Anthony Jay, British author, on the centuries of evidence to support the idea that small groups are the most efficient

19

Page 20: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

● Software is more complex than farming (or is it?)

● Optimizing for communication

● How many pairs can one PM and backlog support?

● The “two-pizza rule”

Sizing the Product Team

20

https://commons.wikimedia.org/wiki/File:Pizza-2.jpg

Page 21: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

How Many Pair-Brain Perspectives?

21

Page 22: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

How Many Pair-Brain Perspectives?

22

Page 23: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

How Many Pair-Brain Perspectives?

23

Page 24: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Moving to Multiple Teams

24

Page 25: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Paradigm-shifting game just broke the record for iTunes downloads in the US.

People in the rest of the world and the Android crowd are feeling left out, the servers go down every lunch hour, a new platform and API is needed to support all these apps, and the new CEO is roaming the halls yelling, “Grow! Monetize!”

How to catch them all?

Case Study: Giantic Games, Inc.

25

Page 26: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Tracker Support Says. . . From: Pivotal Tracker SupportTo: Giantic GamesSubject: Re: We’re struggling!

>> We’ve grown, and our project has gotten very hard to manage. We can’t tell who’s working on what or when things will get done. Help!

Organize into multiple small teams, embrace a collective ownership mentality!

26

Page 27: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Multiple Teams, Organized Around Platforms

27

iOS TeamEvolve the app, deal with iOS changes, in-app purchases

Web Front-End TeamSponsored in-app content,

leaderboards, game tutorials

Android TeamLaunch Version 1.0,

in-app purchases

Platform TeamServe all the apps, scale up,

reduce the outages

Page 28: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

A Few Months Later. . .From: Giantic GamesTo: Pivotal Tracker SupportSubject: Got dependencies?

Hi again! We’ve split into small teams. But now it’s hard because every feature spans multiple teams, all we do is have meetings, and things don’t work together!

28

Page 29: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Symptoms of Poorly Aligned TeamsProducts components not cohesive

People feel disconnected from the bigger picture

Back-end team not feeling recognized

Features span multiple PMs and require lots of coordination

29

Page 30: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Tracker Support Says. . .

30

Page 31: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Go Vertical!

31

Page 32: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Conway’s Law“Organizations which design systems are constrained to produce designs which are copies of

the communication structures of these organizations. . .Any piece of software reflects the

organizational structure that produced it.”

How to apply Conway’s Law for the best product outcome?

32

Page 33: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Organizing Around Product Goals● Teams focused on product outcomes

● PM + team drives entire feature end-to-end

● Minimized cross-team dependencies

● Product more cohesive to customers

33

Page 34: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Giantic Teams, Reorganized FTW

34

Core Game Play TeamIncrease engagement, reduce churn

Scaling TeamEnough with the outages!

i18n TeamLaunch in every continent

Monetization TeamIn-app purchases—show us the money!

Page 35: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016 35

Page 36: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

A Real Example: Pivotal Tracker

36

Page 37: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Tracker: Monolithic App, Rigid Horizontal Teams● Back end, complex single-page web app + mobile apps

● Painful cross-team communication

● Rigid silos

37

Platform Team (6 developers)All Rails and API work, DevOps

Front-End Team (6 developers)Web single-page app

Mobile Team (4)iOS, Android

Page 38: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Toward Product-Oriented “Pods”

38

Story MGMT PodIncrease engagement (web and mobile), story-to-code

workflow

USS Enterprise PodNew enterprise offering,

increase retention at large companies

Infrastructure PodScaling, stability, DevOps, special projects (any part

of product)

Onboarding & Growth Pod

Increase sign-up conversions, engaged user activations

Page 39: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Optimizing for Pod Rotations● PMs stay with pods; pods change focus over time

● Developers rotate weekly based on pod needs

● Pairing = low ramp-up cost and knowledge sharing

● Need tools and process consistency!

39

Page 40: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Code and Vertical Slicing

40

● Mono repo for holistic view

○ Mono repo != monolithic architecture

○ More cohesive commits / PRs

○ Components deployed independently

● On-demand environments on PaaS

● Unified CI/CD and deploy pipeline

● Code quality a collective concern

https://www.flickr.com/photos/29233640@N07/9585503388

Page 41: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

No Longer a One PM Show● One uber PM, multiple pod-level PMs

● One visible, shared roadmap

● New product communication structure

○ daily product standups

○ weekly roadmap sync

○ product and design retrospectives

41

Page 42: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Collaborative Design● New role: Design Lead to own design vision and consistency

● The product roadmap as the collective design backlog

● Weekly design critiques and feedback sessions

● Designer rotation. . .it’s complicated!

42

Page 43: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Bugs, Testing, and Support (featuring Mr. Pierre)● Who fixes bugs?

● New role: Exploratory Tester

○ Charter-based testing

○ Rotates but worries about product as a whole

○ Proxy for the customer

● Who helps with support?

43

Page 44: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Staying Connected● All-hands meetings, whole-team retros

● Animated cat GIFs on Slack

● Wine and cheese, happy hour, summer picnic

44

Page 45: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

The Next Level: From 5 to 50 Teams*

45

*work in progress

Page 46: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Paving the Way: Pivotal Cloud Foundry● From OSS project at VMware to 300+

people at Pivotal

● 30+ teams, Pivotal Labs practices

● Major new version every three months

46

Page 47: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Pivotal Cloud Foundry (c. 2012)

47

Page 48: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Pivotal Cloud Foundry (c. 2013)

48

Page 49: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Pivotal Cloud Foundry (c. 2014)

49

Page 50: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Pivotal Cloud Foundry (c. 2015)

50

Page 51: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Growth Challenges● Many components, dependencies

● Some teams too large (15 pairs!)

● Cross-team communication issues

51

Page 52: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Breaking Down a Large Team

52

TCP Router

HTTP Router

CF API Server

Services API

Identity Server

Container Library

Release Mgmt

Droplet Executor

Health Manager

Runtime Team

TCP Router

HTTP Router

CF API Server

Services API

Container Library

Droplet Executor

Health Manager

Release Mgmt

Identity Server

Page 53: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Conway’s Law, Revisited● Collection of services is the product

● Scalable architecture with small teams and independent microservices

● Versioned, backward-compatible APIs

53

Page 54: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

● Priorities have to align

● Product has to integrate

● Releases have to be stable and coherent

The Biggest Challenge: PM Alignment

54https://en.wikipedia.org/wiki/2012_phenomenon#/media/File:Milkyway_Swan_Panorama.jpg

Page 55: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

30 Teams, 30 Product Managers● One PM, one team, one backlog

● PMs monitor upstream and downstream dependencies

● Product Leads for cross-PM coordination

● PMs have to communicate!

55

Page 56: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Product Org at Scale

56

PM Lead

PM

VP Product

Engi

neer

s

Eng Director

Page 57: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016 57

Next-Level Skill: Weekly Allocation with 300 Developers

Page 58: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Testing and Integration● Automation with selective test exploration

● System-level test suites that ensure product works cohesively

● Comprehensive CI pipelines with dependencies and artifacts

● Automated, on-demand acceptance environments on PaaS

58

Page 59: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

The Visible Forest

59

Page 60: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Recap: Sustainable Growth in 4 Easy Steps

60

Page 61: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Sustainable Growth in 4 Easy Steps1. Build small, cross-functional teams

2. Organize these teams around product lines

3. Equip with process and tools that support shared ownership

4. Refactor and evolve!

61

Page 62: Scaling Your Product Team While Staying Agile

Dan Podsedly, SpringOne Platform, 2016Dan Podsedly, SpringOne Platform, 2016

Thank you!@danpodsedly

[email protected]

62