Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization’s communication structure.
Self-organizing, cross-functional (Pod) teams organised around business capabilities with the ability to release their own software to production are the way forward. These videos provide an introduction to these concepts and the thinking behind them.
Raffi Krikorian from Uber gives a very good talk about Conways’ Law and how to turn it to your advantage in organising teams.
MicroServices & Conways’s Law
This talk is longer and goes into more depth – but has some good additional information and more specific advice for structuring teams to simplify communication paths and release software quicker, better, faster.
Hacking Conway’s Law – Raffi Krikorian Keynote
From OSCON 2015 in Portland: 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!
About Raffi Krikorian:
Raffi Krikorian is engineering lead at Uber’s Advanced Technologies Center in Pittsburgh, Pennsylvania. He spends most of his time thinking about off-the-wall ways to change computing, transportation, and the world. Until August 2014, Raffi was Twitter’s VP of engineering in charge of the platform – the core infrastructure of Twitter. During his tenure, platform engineering was primarily responsible for the scalability, efficiency, reliability, and performance of Twitter, as well as the developer productivity of all software engineers at Twitter. He lead the Twitter transition from a Ruby on Rails website to a JVM-powered services-oriented architecture. It currently serves about 250 million monthly active users, who send about 500 million tweets daily. He also created and used to chair Twitter’s Architecture Group, the team of senior software engineers in charge of Twitter’s overall technology portfolio, who also ensured that software got written to the same consistent standards across its entire global development team.