Team Building: Team Structures and Subteams

Learn about team building in large projects and different team organization concepts such as horizontal teams, vertical/feature teams, and virtual/real technical services teams.

Overview

A large team is hardly manageable as a whole. Therefore, to establish a flexible team, the team is usually divided into subteams of no more than ten members.

The typical structure used by large teams (and in large companies) is still based on Taylor’s theory of building teams according to their knowledge. Therefore, we will often find an analysis team, a design team, a test team, and so on. The developers are typically further subgrouped into smaller subteams, each responsible for a specific function like presentation, database, network services, etc. This Tayloristic split is also known as horizontal team division. Taylorism works quite well for repeatable jobs. It doesn’t work well if a lot of creative and holistic thinking is required.

We can also consider defining vertical teams focused on business functionality. These teams are also known as domain or feature teams, as Peter Coad terms them in the Feature Driven Development process. On the other hand, if we divide the team vertically, we might find that not every team has all the necessary skills, or even worse, every team might start to address the same problems.

Example of horizontal and vertical teams

In this example, we can see horizontal and vertical teams are split using architecture and features.

Get hands-on with 1400+ tech skills courses.