Your design should reduce friction and dependencies wherever possible<\/li>\n<\/ul>\n\n\n\nMonolithic\/One Big Team<\/h2>\n\n\n\n
In the early days of a company, or when a company has less than eight or so people in product and engineering, having everyone on one team is appropriate. The structure is flat, everyone knows what everyone else is doing, and the team can move quickly. However, once you get beyond this size, the Monolithic model begins to grind to a halt. Decision making gets slower, and dependencies begin to emerge. It is important to transition away from this model as soon as your team starts to bog down.<\/p>\n\n\n\n
Product-Focused<\/h2>\n\n\n\n
A set of teams is assigned to a specific product, as the name would indicate. Each team should be as autonomous as possible, but all of the teams work together to deliver a given product. <\/p>\n\n\n\n
Customer-Focused<\/h2>\n\n\n\n
If your company is sales-focused, as opposed to product focused, and your product is unique to each customer profile, it’s not uncommon to have teams assigned to a given customer profile. For example, you might have a team that works on Financial Sector customers vs a team that works on Manufacturing Sector customers. There may be enough specific knowledge required for a given vertical that this approach makes sense. <\/p>\n\n\n\n
Technology-Focused<\/h2>\n\n\n\n
A set of teams is assigned to a part of the stack, such as the Front End Team, Back End Team, Analytics Team, Machine Learning Team, and so on. This model is typically used if the company is heavily engineering-focused and the skills for a specific part of the stack are most important. <\/p>\n\n\n\n
Shared Teams<\/h2>\n\n\n\n
Regardless of your functional model, it’s very common to have shared teams that work across all other teams. For example, you might have a Platform Team that’s responsible for building shared services that all of the other teams use. DevOps is also another shared function in smaller organizations. <\/p>\n\n\n\n
Your organization is likely to be a blend of these different models and will evolve and change as the company grows. Part of the engineering leader’s job is to constantly evaluate the organization structure and adjust to drive better outcomes. <\/p>\n\n\n\n
Testing new ideas with small teams and experiments, just as you do with small product changes, allows the organization to continuously learn and adapt. <\/p>\n\n\n\n
There is no perfect organization design, as is likely obvious by now. Instead of spending a bunch of time up front trying to get to the optimal design, clearly define the outcomes that matter and focus on getting better over time.<\/p>\n\n\n\n
I’d love to hear from you. What has worked well for you, what have you learned doesn’t work? What do you wish I’d covered on this topic?<\/p>\n","protected":false},"excerpt":{"rendered":"
“Any organization that designs systems will produce a design whose structure is a copy of the organization’s communication structure.” Melvin Conway One of the questions I’ve been asked most often, either as a part of diligence or talking with CEOs, is how the product and engineering organization should be designed. Many times the question arises […]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[234,371],"tags":[],"class_list":["post-36806436376","post","type-post","status-publish","format-standard","hentry","category-general","category-software"],"acf":[],"_links":{"self":[{"href":"https:\/\/scottbarstow.com\/wp-json\/wp\/v2\/posts\/36806436376"}],"collection":[{"href":"https:\/\/scottbarstow.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/scottbarstow.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/scottbarstow.com\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/scottbarstow.com\/wp-json\/wp\/v2\/comments?post=36806436376"}],"version-history":[{"count":1,"href":"https:\/\/scottbarstow.com\/wp-json\/wp\/v2\/posts\/36806436376\/revisions"}],"predecessor-version":[{"id":36806436377,"href":"https:\/\/scottbarstow.com\/wp-json\/wp\/v2\/posts\/36806436376\/revisions\/36806436377"}],"wp:attachment":[{"href":"https:\/\/scottbarstow.com\/wp-json\/wp\/v2\/media?parent=36806436376"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/scottbarstow.com\/wp-json\/wp\/v2\/categories?post=36806436376"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/scottbarstow.com\/wp-json\/wp\/v2\/tags?post=36806436376"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}