Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Hacking Conway's Law

3,984 views

Published on

Re-architecting a system is wrought with problems:

* We almost always underestimate the difficulty of said task
* We almost never completely understand our customers’ needs
* The system almost always changes out from underneath us

However, what we can sometimes forget is the most important aspect of any project: the team! Your team, who miraculously survives these projects, has to continue to change with your business and your technology! But, don’t fret, we can architect our way towards this way of thinking! Let’s figure out how to be resilient and adaptive with the help of each and every team member. Ignore re-architecting your team at your own risk!

Published in: Engineering

Hacking Conway's Law

  1. 1. ADVANCED TECHNOLOGIES CENTER Raffi Krikorian @raffi HACKING CONWAY’S LAW
  2. 2. Speed
  3. 3. This code looks like crap! Engineering
  4. 4. We can’t ship things fast enough!
 ‘Velocity’ is down! Management
  5. 5. Advanced Technologies Center Mapping Safety Autonomy
  6. 6. We're programmers. Programmers are, in their hearts, architects, and the first thing they want 
 to do when they get to a site is to bulldoze 
 the place flat and build something grand. 
 We're not excited by incremental renovation: 
 tinkering, improving, planting flower beds. FOG CREEK SOFTWARE / STACK EXCHANGE NETWORK Joel Spolsky
  7. 7. T-Bird T-Flock + Haplo Flock(s) Gizmoduck Monorail STORAGE & RETRIEVAL LOGICPRESENTATIONROUTING STORAGE & RETRIEVAL LOGICPRESENTATIONROUTING Monorail MySQL
  8. 8. STORAGE & RETRIEVAL LOGICPRESENTATIONROUTING Redis Memcache Flock T-Bird MySQLTweet User Timeline Social Graph DMs API Web Monorail TFE
  9. 9. Single codebase All computational logic are in-memory Easy to scale horizontally Handled by a central operations team STORAGE & RETRIEVAL LOGICPRESENTATIONROUTING Monorail MySQL Many smaller, clearly scoped services Single responsibility principle Independently managed Clear ownership for each service STORAGE & RETRIEVAL LOGICPRESENTATIONROUTING Redis Memcache Flock T-Bird MySQLTweet User Timeline Social Graph DMs API Web Monorail TFE
  10. 10. 0 500,000 2011 2012 2013 2014 2015 0 18,000,000 2011 2012 2013 2014 2015 500,000 18,000,000
  11. 11. Many smaller, clearly scoped services Single responsibility principle Independently managed Clear ownership for each service STORAGE & RETRIEVAL LOGICPRESENTATIONROUTING Redis Memcache Flock T-Bird MySQLTweet User Timeline Social Graph DMs API Web Monorail TFE
  12. 12. Any organization that designs a system (defined more broadly here than just information systems) will inevitably produce a design whose structure is a copy of the organization's communication structure. Melvin Conway
  13. 13. If you have four developers writing a compiler you will get a four-pass compiler. Eric Raymond
  14. 14. Setting up the team says more about architecture than the architecture itself. Me
  15. 15. Single codebase All computational logic are in-memory Easy to scale horizontally Handled by a central operations team STORAGE & RETRIEVAL LOGICPRESENTATIONROUTING Monorail MySQL Many smaller, clearly scoped services Single responsibility principle Independently managed Clear ownership for each service STORAGE & RETRIEVAL LOGICPRESENTATIONROUTING Redis Memcache Flock T-Bird MySQLTweet User Timeline Social Graph DMs API Web Monorail TFE Team
  16. 16. Many smaller, clearly scoped services Single responsibility principle Independently managed Clear ownership for each service STORAGE & RETRIEVAL LOGICPRESENTATIONROUTING Redis Memcache Flock T-Bird MySQLTweet User Timeline Social Graph DMs API Web Monorail TFE teams team
  17. 17. Ways must be found to reward design managers for keeping their organizations lean and flexible. There is need for a philosophy of system design management which is not based on the assumption that adding manpower simply adds to productivity. Melvin Conway
  18. 18. To solve technical problems, you often have to go outside the technical domain. Me
  19. 19. 0. It’s not all about the code! 1. Small teams can do big things. 2. Full stack teams keeps your architecture flexible. 3. Don’t fight Conway’s Law, work with it. Me

×