daniel rabinovich - velocity 2014 santa clara
Post on 05-Dec-2014
3.050 Views
Preview:
DESCRIPTION
TRANSCRIPT
Cultural Implications of Technical Decisions
Daniel RabinovichCTOMercadoLibre (NASDAQ: MELI)
@drabinovich
Agenda
Who we are
The situation
The Change Process
Some Results
Who we areMercadoLibre (NASDAQ: MELI) is the #1 e-commerce platform in Latin America, #8 in the world
Agenda
Who we are
The situation
The Change Process
Some Results
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
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)
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
Achievement <- Empowerment <- FlexibilityWe gave up some control in order to achieve empowerment
Monolithic(Passive Culture)
Decoupled(Constructive Culture)
Agenda
Who we are
The situation
The Change Process
Some results
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
A manager’s job is about eliminating processes
Tools: Cells operate their own infrastructureCells are responsible for stability and scalability of their products.
(Self Provisioning)
(Monitoring)
(Automatic Alarms)
With great power comes great responsibility
How to compensate the lack of control?
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
Peers demand API Usability
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)
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
An API is, first and foremost, an interface for humans
What about organizational changes?
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
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
How to compensate the lack of specialization?
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
Empowerment attracts the right kind of talent
Agenda
Who we are
The situation
The Change Process
Some results
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
Agenda
Who we are
The situation
The Change Process
Some results
Wrapping up...
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
Culture eats strategy for breakfast. Take it seriously.
Thank you!
Cultural Implications of Technical Decisions
Daniel RabinovichCTOMercadoLibre (NASDAQ: MELI)
@drabinovich
top related