daniel rabinovich - velocity 2014 santa clara

32
Cultural Implications of Technical Decisions Daniel Rabinovich CTO MercadoLibre (NASDAQ: MELI) @drabinovich

Upload: daniel-rabinovich

Post on 05-Dec-2014

3.050 views

Category:

Technology


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Daniel rabinovich - Velocity 2014 Santa Clara

Cultural Implications of Technical Decisions

Daniel RabinovichCTOMercadoLibre (NASDAQ: MELI)

@drabinovich

Page 2: Daniel rabinovich - Velocity 2014 Santa Clara

Agenda

Who we are

The situation

The Change Process

Some Results

Page 3: Daniel rabinovich - Velocity 2014 Santa Clara

Who we areMercadoLibre (NASDAQ: MELI) is the #1 e-commerce platform in Latin America, #8 in the world

Page 4: Daniel rabinovich - Velocity 2014 Santa Clara

Agenda

Who we are

The situation

The Change Process

Some Results

Page 5: Daniel rabinovich - Velocity 2014 Santa Clara

Situation in 2010We were suffering the “Snowball Effect caused by Monolithic Architectures”

More processes

Larger monolith

Graphic adapted from Peter Fuda & The Alignment Company

Larger monolith

More processes

Page 6: Daniel rabinovich - Velocity 2014 Santa Clara

Monoliths cause a Passive/Defensive CultureCompliance becomes more important than achievements.

Source: Human Synergistics

ApprovalMore concerned about co-workers than users

ConventionalRestrictions imposed by rules and processes

DependentLack of information, empowerment and flexibility

EvasiveTendency to blame others (usually authors of processes)

Page 7: Daniel rabinovich - Velocity 2014 Santa Clara

From a Passive to a Constructive StyleWhere achievement is more important than compliance

Source: Human Synergistics

AchievementSet challenging goals, take risks to meet them

Self-RealizationSatisfaction is solving the problem, not complying with a process

HumanisticAlways challenging others to push the envelope

Page 8: Daniel rabinovich - Velocity 2014 Santa Clara

Achievement <- Empowerment <- FlexibilityWe gave up some control in order to achieve empowerment

Monolithic(Passive Culture)

Decoupled(Constructive Culture)

Page 9: Daniel rabinovich - Velocity 2014 Santa Clara

Agenda

Who we are

The situation

The Change Process

Some results

Page 10: Daniel rabinovich - Velocity 2014 Santa Clara

Split our company into independent “cells”Small teams require few processes. Power was shifted from “architects” to “cell owners”.

Each “cell” works as if it were a separate company:

own processes, own data, own technology

Page 11: Daniel rabinovich - Velocity 2014 Santa Clara

A manager’s job is about eliminating processes

Page 12: Daniel rabinovich - Velocity 2014 Santa Clara

Tools: Cells operate their own infrastructureCells are responsible for stability and scalability of their products.

(Self Provisioning)

(Monitoring)

(Automatic Alarms)

Page 13: Daniel rabinovich - Velocity 2014 Santa Clara

With great power comes great responsibility

Page 14: Daniel rabinovich - Velocity 2014 Santa Clara

How to compensate the lack of control?

Page 15: Daniel rabinovich - Velocity 2014 Santa Clara

Generate Peer PressureAs soon as an API is created, internal clients demand quality and service

New API

Original Client

New Clients demand Quality and Usability

Page 16: Daniel rabinovich - Velocity 2014 Santa Clara

Peers demand API Usability

Page 17: Daniel rabinovich - Velocity 2014 Santa Clara

Pretty Print on a Regular BrowserUsing actual REST URLs, API must be learnable for Developers and Product Managers

For machines(minimum bandwith)

For humans(minimum learning effort)

Page 18: Daniel rabinovich - Velocity 2014 Santa Clara

URL Consistency – Only One APICreating many APIs is a way of asking external users to solve internal technical problems

Balancing Logic (Collectively Maintained)

Base ResourcesCells handle

only CRUD Ops

Complex queries are handled bydifferent cells

Push Notifications

Consistent URLsenable Learnability

Page 19: Daniel rabinovich - Velocity 2014 Santa Clara

An API is, first and foremost, an interface for humans

Page 20: Daniel rabinovich - Velocity 2014 Santa Clara

What about organizational changes?

Page 21: Daniel rabinovich - Velocity 2014 Santa Clara

Eliminated the QA GroupNow developers test their code. Another way of generating empowerment.

Project1

Project 2

Project 3

Developers QA Engineers

Cell1

Cell 2

Cell 3

Page 22: Daniel rabinovich - Velocity 2014 Santa Clara

Eliminated the Product Management GroupPD Heads also became PMs. Projects may be initiated either within BUs or PD.

ProductManagem

ent

ProductDevelopment

Detailed Spec

Sponsor

High Level Goal

Before After

Page 23: Daniel rabinovich - Velocity 2014 Santa Clara

How to compensate the lack of specialization?

Page 24: Daniel rabinovich - Velocity 2014 Santa Clara

Staff Groups provide expertise to cellsDegree of involvement depends on the nature of each cell.

User Experience

Business Assurance

PM Teams inside BUs

“Staff” groups provide services

Page 25: Daniel rabinovich - Velocity 2014 Santa Clara

Empowerment attracts the right kind of talent

Page 26: Daniel rabinovich - Velocity 2014 Santa Clara

Agenda

Who we are

The situation

The Change Process

Some results

Page 27: Daniel rabinovich - Velocity 2014 Santa Clara

Some Results

Image: iPROFS Technology Blog

Before After

1 release every 2 weeks 1 release every 3 secs

1 location 7 locations

270 physical servers 11,000 OpenStack Instances

3 Developers / QA 22 Developers / “B”A

Closed Platform Thousands of External Developers

Page 28: Daniel rabinovich - Velocity 2014 Santa Clara

Agenda

Who we are

The situation

The Change Process

Some results

Wrapping up...

Page 29: Daniel rabinovich - Velocity 2014 Santa Clara

Wrapping up...

Monoliths cause a Passive/Defensive Culture

Split our company into many independent “cells”

Cells operate and monitor their own infrastructure

Generate Peer Pressure to compensate the lack of control

Strict rules for API Usability, many tools to achieve it

Eliminated QA group, developers test their code

Eliminated the Product Management Group, reinforcing ownership

Page 30: Daniel rabinovich - Velocity 2014 Santa Clara

Culture eats strategy for breakfast. Take it seriously.

Page 31: Daniel rabinovich - Velocity 2014 Santa Clara

Thank you!

Page 32: Daniel rabinovich - Velocity 2014 Santa Clara

Cultural Implications of Technical Decisions

Daniel RabinovichCTOMercadoLibre (NASDAQ: MELI)

@drabinovich