Daniel rabinovich - Velocity 2014 Santa Clara

5,308 views

Published on

Published in: Technology, Business

Daniel rabinovich - Velocity 2014 Santa Clara

  1. 1. Cultural Implications of Technical Decisions Daniel Rabinovich CTO MercadoLibre (NASDAQ: MELI) @drabinovich
  2. 2. Agenda  Who we are  The situation  The Change Process  Some Results
  3. 3. Who we are MercadoLibre (NASDAQ: MELI) is the #1 e-commerce platform in Latin America, #8 in the world
  4. 4. Agenda  Who we are  The situation  The Change Process  Some Results
  5. 5. Situation in 2010 We 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
  6. 6. Monoliths cause a Passive/Defensive Culture Compliance becomes more important than achievements. Source: Human Synergistics Approval More concerned about co-workers than users Conventional Restrictions imposed by rules and processes Dependent Lack of information, empowerment and flexibility Evasive Tendency to blame others (usually authors of processes)
  7. 7. From a Passive to a Constructive Style Where achievement is more important than compliance Source: Human Synergistics Achievement Set challenging goals, take risks to meet them Self-Realization Satisfaction is solving the problem, not complying with a process Humanistic Always challenging others to push the envelope
  8. 8. Achievement <- Empowerment <- Flexibility We gave up some control in order to achieve empowerment Monolithic (Passive Culture) Decoupled (Constructive Culture)
  9. 9. Agenda  Who we are  The situation  The Change Process  Some results
  10. 10. 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
  11. 11. A manager’s job is about eliminating processes
  12. 12. Tools: Cells operate their own infrastructure Cells are responsible for stability and scalability of their products. (Self Provisioning) (Monitoring) (Automatic Alarms)
  13. 13. With great power comes great responsibility
  14. 14. How to compensate the lack of control?
  15. 15. Generate Peer Pressure As soon as an API is created, internal clients demand quality and service New API Original Client New Clients demand Quality and Usability
  16. 16. Peers demand API Usability
  17. 17. Pretty Print on a Regular Browser Using actual REST URLs, API must be learnable for Developers and Product Managers For machines (minimum bandwith) For humans (minimum learning effort)
  18. 18. URL Consistency – Only One API Creating many APIs is a way of asking external users to solve internal technical problems Balancing Logic (Collectively Maintained) Base Resources Cells handle only CRUD Ops Complex queries are handled by different cells Push Notifications Consistent URLs enable Learnability
  19. 19. An API is, first and foremost, an interface for humans
  20. 20. What about organizational changes?
  21. 21. Eliminated the QA Group Now developers test their code. Another way of generating empowerment. Project1 Project 2 Project 3 Developers QA Engineers Cell1 Cell 2 Cell 3
  22. 22. Eliminated the Product Management Group PD Heads also became PMs. Projects may be initiated either within BUs or PD. Product Management Product Development Detailed Spec Sponsor High Level Goal Before After
  23. 23. How to compensate the lack of specialization?
  24. 24. Staff Groups provide expertise to cells Degree of involvement depends on the nature of each cell. User Experience Business Assurance PM Teams inside BUs “Staff” groups provide services
  25. 25. Empowerment attracts the right kind of talent
  26. 26. Agenda  Who we are  The situation  The Change Process  Some results
  27. 27. 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
  28. 28. Agenda  Who we are  The situation  The Change Process  Some results  Wrapping up...
  29. 29. 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
  30. 30. Culture eats strategy for breakfast. Take it seriously.
  31. 31. Thank you!
  32. 32. Cultural Implications of Technical Decisions Daniel Rabinovich CTO MercadoLibre (NASDAQ: MELI) @drabinovich

×