scaling up your r&d group

49
Scaling Up Your R&D Group Avi Wortzel

Upload: avi-wortzel

Post on 17-Jul-2015

123 views

Category:

Leadership & Management


1 download

TRANSCRIPT

Page 1: Scaling up your R&D group

Scaling Up Your

R&D Group

Avi Wortzel

Page 2: Scaling up your R&D group

Hello!I’m Avi

- Love technology, architecture,

development, and methodologies

- Also coaching, mentoring and training

developers and leaders

- Member of Como’s founding team

- VP R&D @ Como

[email protected]

@wortzel

Avi Wortzel

Page 3: Scaling up your R&D group

Como

➜ Do-it-yourself mobile app solution

➜ Cross-platform solution (iOS, Android, Web)

➜ Powering more than 1 million apps around the

world, with thousands of new apps created

every day

Page 4: Scaling up your R&D group
Page 5: Scaling up your R&D group

Flat Structure (Starting Out)

Product Designer WebWeb InfraInfraiOS /

Web

Android /

WebWeb QA

2011 2012 2013 2014 2015

Page 6: Scaling up your R&D group

Small Teams

Product

Designer

Web

Web Infra

InfraiOS /

Web

Android /

Web

WebQA

2011 2012 2013 2014 2015

Page 7: Scaling up your R&D group

Small (Fragmented) Teams

Product

Designer

Web

Web Infra

Infra

iOS /

Web

Android /

Web

Web

QA

2011 2012 2013 2014 2015

Page 8: Scaling up your R&D group

Large Teams

Leader

Dev

Dev

Dev

Dev

Dev

Leader

Dev

Dev

Dev

Dev

Dev

Leader

Dev

Dev

Dev

Dev

Dev

Leader

Dev

Dev

Dev

Dev

Dev

Leader

Dev

Dev

Dev

Dev

Dev

Leader

Product

Product

Product

Product

Product

Leader

Designer

Designer

Designer

Designer

Designer

Leader

QA

QA

QA

QA

QA

Web Infra iOS Design QAProductWeb AppAndroid

2011 2012 2013 2014 2015

Page 9: Scaling up your R&D group

What went

wrong?

Page 10: Scaling up your R&D group

Challenge #1: Time to Market

Product

Designer

iOS

Android

Web App

CP

Infra

Page 11: Scaling up your R&D group

Challenge #2: Dependencies

Product

Designer

iOS

Android

Infra

CP

Web App

Page 12: Scaling up your R&D group

Challenge #3: Product Ownership

?

Page 13: Scaling up your R&D group

Challenge #4: Product Accountability

Motivation

Feeling like part of the product

Participating in product brainstorm sessions

Product contribution of developers who live the mobile native world

Page 14: Scaling up your R&D group

Challenge #5: Recruitment

HTML5

JS

CSS3

Ruby

C#

iOS/Objective-C

Android/Java

Ruby

PHP

C#

DB

RESTful/SOA

HTML5

JS

CSS3

ASP.NET/MVCHTML5

JS

CSS3

Android

Java

iOS

Objective-C

Page 15: Scaling up your R&D group

How do

you scale up?

Page 16: Scaling up your R&D group

Goals

➜ Rapid development/high productivity

➜ High utilization

➜ Developer ownership (new

features/maintenance)

➜ Product contribution (everyone can influence)

➜ Easy implementation

➜ Focus on personal development

➜ Scalable

Page 17: Scaling up your R&D group

Component Team

➜ Responsible for only part of a

customer-centric feature

➜ Focus on single specialization

➜ Clear individual responsibilities

➜ High utilization

➜ Delivery based on the slowest team

➜ High dependencies between teams

Page 18: Scaling up your R&D group

Component TeamComponent

Team

Rapid

Development

High Utilization

Developer

Ownership

Product

Contribution

Easy

Implementation

Personal

Development

Scalable

Page 19: Scaling up your R&D group

➜ Temporary group created for one feature

➜ Resource pooling model

➜ End-to-end responsibility (new features)

➜ Hard to maintenance

Feature Group

Page 20: Scaling up your R&D group

Feature GroupComponent

TeamFeature Group

Rapid

Development

High Utilization

Developer

Ownership

Product

Contribution

Easy

Implementation

Personal

Development

Scalable

Page 21: Scaling up your R&D group

Feature Owner: Feature Group on Steroids

➜ Full-stack developers

➜ End-to-end responsibility

➜ High utilization

➜ Minimal integrations

Page 22: Scaling up your R&D group

Feature OwnerComponent

TeamFeature Group

Feature

Owner

Rapid

Development

High Utilization

Developer

Ownership

Product

Contribution

Easy

Implementation

Personal

Development

Scalable

Page 23: Scaling up your R&D group

Feature Team

➜ Long lived team

➜ All relevant skills in one place

➜ Cross-functional/component/discipline

➜ Focus on the product

➜ Shared team responsibilities

➜ Utilization challenge

Page 24: Scaling up your R&D group

Feature GroupComponent

TeamFeature Group

Feature

OwnerFeature Team

Rapid

Development

High Utilization

Developer

Ownership

Product

Contribution

Easy to

Implementation

Personal

Development

Scalable

Page 25: Scaling up your R&D group

What is the best

structure for

you?

Page 26: Scaling up your R&D group

➜ Basic unit of development (like a Scrum team)

➜ Experts on product area (a mini startup)

➜ Have a long-term mission

➜ Sit together

➜ Have all the skills

➜ Autonomous as possible

Squad

Page 27: Scaling up your R&D group

PO

Design

Infra

Android

iOS

Web

Squad #0

Designer

Designer

Designer

Design

PO

PO

Po

Product

Squad

Infra

Infra

Infra

Infra

QA

QA

QA

QA

iOS

iOS

iOS

iOS

Android

Android

Android

Android

QA

Page 28: Scaling up your R&D group

Tribe

➜ Collection of squads that work in related areas

(up to 100 people)

➜ Regular informal get-togethers to share what

working on, demos, etc.

Page 29: Scaling up your R&D group

Tribe

PO

Designer

Infra

Android

iOS

Web

Squad #0

QA

PO

Designer

Infra

Android

iOS

Web

Squad #1

QA

PO

Designer

Infra

Android

iOS

Web

Squad #2

QA

PO

Designer

Infra

Android

iOS

Web

Squad #1

QA

PO

Designer

Infra

Android

iOS

Web

Squad #2

QA

PO

Designer

Infra

Android

iOS

Web

Squad #3

QA

PO

Designer

Infra

Android

iOS

Web

Squad #0

QA

Tribe #0 Tribe #1

Page 30: Scaling up your R&D group

Guild

➜ Small family of people having similar skills

➜ Some examples are the Web Technology guild,

the iOS guild, and the Product guild

➜ Guild lead is line manager for the Guild

members, responsible for developing people, but

remains part of squad and does day-to-day work

➜ Switching squads flexibility

Page 31: Scaling up your R&D group

Guild

PO

Designer

Infra

Android

iOS

Web

Squad #0

QA

PO

Designer

Infra

Android

iOS

Web

Squad #1

QA

PO

Designer

Infra

Android

iOS

Web

Squad #2

QA

Tribe #0

Android Guild

Design Guild

Page 32: Scaling up your R&D group

Additional Roles

➜ Product owner (PO)

➜ Scrum master / Agile coach

➜ System architect

➜ System owner

Page 33: Scaling up your R&D group

Squad

Guild lead Squad member

Squad member

Squad member

Product owner

Guild lead

Guild lead

How

How

How

Wha

t

Page 34: Scaling up your R&D group

How did we

implement it?

Page 35: Scaling up your R&D group

Breaking the Product

➜ Categorized the product

➜ Built the entire systems

graph

➜ Reorganized to related

product areas

Page 36: Scaling up your R&D group

Breaking the Product

SDK

Commerce

Squad

Applications

Squad

ClientWebsite

Marketing site

Blog

Campaigns

Onboarding

App editor

Payment

Retention

Management

Growth

Client Framework Squad

Page 37: Scaling up your R&D group

Breaking the Product

Page 38: Scaling up your R&D group

Building the Squads

➜ Define name, long-term mission and KPI’s per

squad

➜ Categorized required skills in each squad and

assign people into the squads

➜ Splitting the team leader role

➜ Build the system owner list

Page 39: Scaling up your R&D group

PO /

Designer

Infra

iOS

Web

Squad members

e-Commerce Squad

QA

Mission: provide a solution for SMBs to sell

their products via their mobile app

Short-term goals:

- Integration with Shopify

- Additional payment providers: Google Wallet

and Apple Pay

KPIs: increase #transactions by x%

Android

Page 40: Scaling up your R&D group
Page 41: Scaling up your R&D group

Sitting Together

Developers

PO Designer

QA

Page 42: Scaling up your R&D group

Everyone Has an Influence

➜ Product:

- Brainstorming - with stakeholders

- Grooming meetings

➜ Technology stack:

- Autonomy within the squad

- Guild supports

Page 43: Scaling up your R&D group

Release Train

B

A

D

C

E

F

G F C

➜ (Closest) CD in mobile world

➜ Preplanned schedule

➜ Every few weeks

(Depends on the product)

Page 44: Scaling up your R&D group

“Guilday”

➜ 1 day every 2 weeks (10% of the time)

➜ Don’t work on the usual squad tasks

➜ Share knowledge, tools, code, and practices

➜ Training developers

➜ Innovation ideas

➜ Open source projects

➜ Keynote session

Page 45: Scaling up your R&D group

Lean the Structure

➜ Guild backlog

➜ Full-stack developer training

➜ Moving developers between squads

➜ Transparency culture

➜ Loosely coupled systems

Page 46: Scaling up your R&D group

Existing Tribe Structure

Marketing Funnel Manage & Growth Application Commerce Client Framework

Edo

Yosef

Olga

Yaky

Vered

Eyal

Nir E.

Nir N.

Tammy

TBH

Rami

Oron

Maor B.

Haim

TBH

Alexey

Ehud

Ran

Stas

Yossi

Tal

Mati

Roei

Ofir

Yoav

TBH

Maor H.

Yoni G.

Oriel

Reuven

TBH

Michael

Shlomi

Evgeny

TBH

Yury

Lital Lior Oren

Darya

Erez

Eylon Ruth

Gil

Shiri Raanan

Avital

Alex

Dotan

Noa Deby Hila Adi

Tamar

Automation

Irmi

Matan

Itai

TBH

Tamar

Page 47: Scaling up your R&D group

Leftovers

➜ Developer measurements in matrix org.

➜ Code coupling

➜ Cross-squad tasks

Page 48: Scaling up your R&D group

Squads - Final ScoreComponent

TeamFeature Group

Feature

OwnerFeature Team Squads

Rapid

Development

High Utilization

Developer

Ownership

Product

Contribution

Easy

Implementation

Personal

Development

Scalable

Page 49: Scaling up your R&D group

Thanks!Any questions?

[email protected]

@wortzel

Avi Wortzel

Special thanks to all the people who made and released these awesome resources for free:

Simple line icons by Mirko Monti, Streamline iconset by Webalys, Presentation template by SlidesCarnival, Photographs

by Death to the Stock Photo (license)