# Number of communication channels in Chief-Programmer model

In democratic model if there are n people in a team the formula to calculate the number of communication channels is `n*(n-1)/2`

But there is also another model called Chief-Programmer model and the formula to calculate the number of communication channels is a little different, I searched in Google and all I found was this: http://marlenejordan.tripod.com/Teams_Tools2.html but it doesn't have the formula either. My guess is if there are n people we take out the one person as chief programmer and then apply the same formula ? But I am not sure. Does anyone know this?

Pankaj Jalote in the book "An Integrated Approach to Software Engineering" describes three types of team structures:

• Ego-less team (aka democratic team).
• Chief-programmer team.
• Controlled decentralized team.

Ego-less team have no leader. All decisions in it are making through discussion and with consensus.

Every member of democratic team have communication interfaces with all other team members, i.e. every team member have n-1 communication interface, where n is team size.

So, there are n(n-1)/2 total amount of communication path in the team.

Chief-programmer team, obviously, have a leader (named chief programmer). He make all decisions.

All communication go through him. There is no direct communication between other team members. In this case chief programmer have n-1 communication interface and other team-members have only 1 communication interface (with chief programmer).

So, there are n-1 total amount of communication path in this structure.

The last Controlled decentralized team is combination of Ego-less team and Chief-programmer team.

This is description of this structure form "An Integrated Approach to Software Engineering" (1st edition):

It [Controlled decentralized team] consists of a project leader who has a group of senior programmers under him, while under each senior programmer is a group of junior programmers. The group of a senior programmer and his junior programmers behave like a ego-less team, but communication among different groups occurs only through the senior programmers of the groups. The senior programmers also communicate with the project leader. Such a team has fewer communication paths than a democratic team, but has more paths than a chief programmer team.

For symmetrical structure like on the picture below (all sub teams have equal number of junior programmers) number of communication interfaces are: