{"id":8645,"date":"2019-10-28T07:44:45","date_gmt":"2019-10-28T10:44:45","guid":{"rendered":"https:\/\/caroli.org\/en\/?p=8645"},"modified":"2019-10-29T12:38:59","modified_gmt":"2019-10-29T15:38:59","slug":"removing-the-architectural-bottleneck","status":"publish","type":"post","link":"https:\/\/caroli.org\/en\/removing-the-architectural-bottleneck\/","title":{"rendered":"Removing the architectural bottleneck"},"content":{"rendered":"<div>\u201cIn the company I work there is an architecture team that needs to support 8 squads where each one has its priorities. That is, the architecture is being a bottleneck\u2026 Do you have any tips to help us? Thanks in advance. \u201dBy Aline Dias<\/div>\n<div><\/div>\n<p>&nbsp;<\/p>\n<div><\/div>\n<div>This was a question received in a group about <a href=\"https:\/\/caroli.org\/en\/book\/lean-inception-how-to-align-people-and-build-the-right-product\/\">Lean Inception<\/a> &amp; MVP.<\/div>\n<div><\/div>\n<p>&nbsp;<\/p>\n<div>Here are some of the excellent answers given in the group:<\/div>\n<p>&nbsp;<\/p>\n<div><\/div>\n<ul>\n<li>Multifunctional team (with a team architect)<\/li>\n<li>Use <a href=\"https:\/\/www.knowledge21.com.br\/blog\/o-que-e-statik-dicas-aplicar-kanban\/\" target=\"_blank\" rel=\"noopener\">STATIK<\/a> to make bottlenecks visible<\/li>\n<li>Create an integration team (<a href=\"https:\/\/medium.com\/@media_75624\/the-nexus-framework-by-scrum-org-for-scaling-agile-c4a82b94bbb8\" target=\"_blank\" rel=\"noopener\">NEXUS<\/a> style)<\/li>\n<li>Calculate the architects&#8217; current capacity and hire more to meet desired capacity<\/li>\n<\/ul>\n<div><\/div>\n<div><\/div>\n<div>Adding to this conversation\u2026 I would venture to say that:<\/div>\n<div><\/div>\n<blockquote>\n<div>The bottleneck is not in the architect role, but in the architecture itself.<\/div>\n<\/blockquote>\n<div><\/div>\n<p>&nbsp;<\/p>\n<div>It is (or it was, depending on your context) <strong>very common to have a centralised architecture and database<\/strong>. That is the main reason the architects become a bottleneck. It\u2019s required a lot of alignment between them to make sure things remain working properly.<\/div>\n<div><\/div>\n<p>&nbsp;<\/p>\n<div><strong>But things are changing<\/strong>. The architectures now have: <a href=\"https:\/\/martinfowler.com\/articles\/microservices.html\" target=\"_blank\" rel=\"noopener\">Micro Services<\/a>, <a href=\"https:\/\/martinfowler.com\/bliki\/BoundedContext.html\" target=\"_blank\" rel=\"noopener\">Bounded Context<\/a> (fromDomain Driven Design ), and <a href=\"https:\/\/softwareengineeringdaily.com\/2019\/07\/29\/data-mesh-with-zhamak-deghani\/\" target=\"_blank\" rel=\"noopener\">Data Mesh<\/a> (a style of data organisation driven by domain-specific teams, typically organised around the business capabilities).<\/div>\n<div><\/div>\n<p>&nbsp;<\/p>\n<div>And <strong>it changes the gam<\/strong>e. Squads are now <strong>organised by business capabilities<\/strong>, responsible for their micro-services, data and architecture. <strong>This greatly reduces the bottleneck of architect<\/strong>s.<\/div>\n<div><\/div>\n<p>&nbsp;<\/p>\n<div>Architecture becomes a high-level master plan; day-to-day dependencies and decisions are made in squads, without going through the architecture bottleneck.<\/div>\n<div><\/div>\n<p>&nbsp;<\/p>\n<div>For legacy digital products with semi or monolithic architectures, a hybrid scenario will be needed. On it, <strong>the legacy should coexist with the new<\/strong>. And the new must start with an architecture in the new style, definitely more lean.<\/div>\n<div><\/div>\n<p>&nbsp;<\/p>\n<div>The bullet points above do help with this transition period, roving good guidelines o how to organize the squads.<\/div>\n<div><\/div>\n<p>&nbsp;<\/p>\n<blockquote>\n<div><\/div>\n<div>Not only the Inception has to be lean, the engineering as well!<\/div>\n<div><\/div>\n<\/blockquote>\n<div><\/div>\n<p>&nbsp;<\/p>\n<div>For new products, those that start with Lean Inceptions, with release plan and incremental product evolution based on the MVP concept: <strong>Do not create monoliths!<\/strong> Once there is no monolith, there will not be a architectural bottleneck anymore.<\/div>\n<div><\/div>\n<p>&nbsp;<\/p>\n<div><\/div>\n<div><a href=\"https:\/\/www.linkedin.com\/pulse\/removing-architectural-bottleneck-paulo-caroli\" target=\"_blank\" rel=\"noopener\">Comments on LinkedIn.<\/a><\/div>\n<div><\/div>\n<div><\/div>\n<div><\/div>\n<div><\/div>\n<div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u201cIn the company I work there is an architecture team that needs to support 8 squads where each one has its priorities. That is, the architecture is being a bottleneck\u2026 Do you have any tips to help us? Thanks in advance. \u201dBy Aline Dias &nbsp; This was a question received in a group about Lean [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":8402,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[1919,1925],"tags":[],"inception_activities":[],"colaboradores":[],"class_list":["post-8645","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-agile-culture","category-lean-inception-en"],"_links":{"self":[{"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/posts\/8645","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/comments?post=8645"}],"version-history":[{"count":0,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/posts\/8645\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/media\/8402"}],"wp:attachment":[{"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/media?parent=8645"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/categories?post=8645"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/tags?post=8645"},{"taxonomy":"inception_activities","embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/inception_activities?post=8645"},{"taxonomy":"colaboradores","embeddable":true,"href":"https:\/\/caroli.org\/en\/wp-json\/wp\/v2\/colaboradores?post=8645"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}