“organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations”
- M. Conway
On an average when designing systems architectures we work on projects. It is completely acceptable for a given project to pass through layers of technology teams, UI teams, database teams, etc.; all lead by a project manager. In such a scenario every change, every decision needs to pass through approvals at each level. This not only takes time but also has a negative effect on innovation given that individual decision making is cut at the bud.
With Micro Services though the approach is a little different. Due to the way they work the teams are focused around products instead of projects. This entails having small cross functional teams that work entirely on one particular service thus making this team responsible from conception to delivery of the product. As Amazon says, we should be able to feed a team working on Micro Services with two pizzas.
Here, the ideal situation is that one team is responsible for the entire life cycle of a given Micro Service. Due to their small size it really is not practical for them to be passed around from one team to another. In many cases one team can be responsible for multiple Micro Services but multiple teams cannot really be responsible for one service.
A breakdown of silos in functionality automatically results in easy communication across the team, higher collaboration, cutting down the budget approval trains and making it possible to take spot decisions thus making these teams more result oriented.
At Captain Dash working in small, cross-functional teams gives us the freedom to be agile, to innovate and to increase productivity by cutting out unnecessary layers. The advantages gained by such an organizational structure not only allow us to further pass them along to our clients but also permit us to create customized solutions that are in the best interest of the client.
Written By: Meghna Verma Meghna Verma is the Content Manager at Captain Dash. You can reach her on Twitter @M3GV3RMa .