What Do I Mean By “Horizontal” Versus “Vertical” Engineering Teams?

And more importantly… why does it matter?

Dave Taubler

--

Photo by Pawel Czerwinski on Unsplash

In many of the articles I’ve written — particularly those discussing microservice architectures — I’ve drawn a direct line between technical architectures and organizational structures. This idea, of course, has parallels with Conway’s famous Law. But in my discussions, I’ve tried to emphasize one specific point:

If your engineering organization is going to move to a microservices architecture, then you need to similarly change your organizational structure. Otherwise, you’ll have a hard time taking advantage of your new architecture, and you might as well just eschew microservices altogether.

Within these discussions, I often use the terms “horizontal” and “vertical” when I discuss engineering teams. In turn, I sometimes get questions (or in some cases, push-back) about my use of those terms. So I’ve written this article to explain those terms. I discuss why the concept they represent — if not the literal terminology itself — is important.

When drawing out an architectural diagram, we often depict our technology stack as a series of layers, each representing a technical function. These layers are usually shown as being stacked vertically, like so:

A sample, generic diagram of a tech stack. Functional areas are each depicted by a layer, and are stacked atop each other.

Thus, when we isolate a horizontal slice, we are focused on a single technical function.

When we draw a horizontal box and isolate a single layer, we are isolating a single functional area.

By contrast, when we isolate a vertical slice in this diagram, we are including multiple technical functions.

When we draw a vertical box, we are cross-cutting multiple layers and this are including multiple functional areas.

The same principle can apply when we diagram our organization, as we depict our organizational functions as a layered stack:

--

--

Dave Taubler

Software architect, engineering leader, musician, husband, dad