Where to start - How to Design Our Organization and Architecture with Conway's Law in Mind
14 important questions on Where to start - How to Design Our Organization and Architecture with Conway's Law in Mind
How do we design our organization and architecture with Conway's law in mind?
- Organizational archetypes
- Testing, operations and security is everyone's job, everday
- Enable every team member to be a generalist
- Fund services and products, not projects.
- Design team boundaries according to Conway's law.
- Create loosely-coupled architecture
Name the three organizational archetypes according to Roberto Fernandez.
- Functional- oriented organizations optimize for expertise, division of labor, or reducing cost.
- Market-oriented organization optimize for responding quickly to customer's needs.
- Matrix-oriented organizations attempt to combine functional and market orientation
Name a few problems caused by overly functional orientation(optimizing for cost)?
- Long queues and long lead times
- poor handsoff
- large amount of rework
- quality issues
- bottlenecks
- delays
This is all because of people are working in one area and doesn't know how their work is related to another.
- Higher grades + faster learning
- Never study anything twice
- 100% sure, 100% understanding
How do we achieve market orientation (optimizing for speed)?
- Embed the functional engineers and skills into each service team,
- or provide their capabilities to teams through self-service platforms that provide production-like environments, initiate, automated tests or perform deployments
Can an functional oriented organization achieve DevOps outcomes?
Examples Etsy, Google and Github.
What's a full stack developer?
What is the goal with a product-based funding model?
Instead of how projects are typically typically measured in budget, time and scope.
How should a team look like with Conway's law in mind.
In which book are bounded contexts described?
What are bounded contexts?
What are the advantages of bounded contexts?
- To understand and update the code of a service without knowing anything about the internals of it peers services
- Enables easier testing
- better flexibility and scalability
What is the effect on limiting the size of a team?
- It ensures that the team has a clear, shared understanding of the system they are working on.
- It limits the growth rate of the product or service being worked on
- It decentralizes power and enables autonomy.
- Leading a 2PT team is a way for employees to gain some leadership experience in an environment where failure does not have catastrophic consequences.
Name the three shapes of staff members and the differences
Where stands the E for in e shaped?
The question on the page originate from the summary of the following study material:
- A unique study and practice tool
- Never study anything twice again
- Get the grades you hope for
- 100% sure, 100% understanding