Skip to main content

Posts

Showing posts from March, 2014

Organizing teams for success: Horizontal or Vertical?

How do you organize teams for success?  Who do you put together with whom, and who will do their performance reviews?  I don't have answers, but I wanted to lay out the concepts more clearly as food for though...

A recent Java Posse podcast got me thinking about this.  Is it better to organize teams horizontally (backend, middle tier and front end) or vertically (one team creates a product or feature through all three tiers).

Horizontal A horizontal team is organized where the team is focused on a layer that cuts across more than one application, like this.

Vertical A vertical team is organized around getting their product or project done, and cuts across all layers of an application.
My experience in the past few years led me to believe that vertical is always better, but now I think it isn't quite that simple.  Consider this table:

Pro Con Vertical Products get done faster because teams don't wait on each otherUser experience is consistent through a productCore services cos…