Everything2
Near Matches
Ignore Exact
Full Text
Everything2

Software Project Teams

created by TheLutenist

(thing) by TheLutenist (1.7 y) (print)   ?   (I like it!) Sun Feb 26 2006 at 22:42:37

All large projects are developed by teams because of the enormous complexity and amount of work to complete. This applies not only to building physical structures such as bridges or buildings, but also to software systems. Certain organizational structures or patterns have developed over time to meet different project needs.

At the core of a project is a collection of people organized hierarchically. At the head of the hierarchy is the Project Manager who has full responsibility for all aspects of the project. The remainder of the people are organized into generally two or more teams who either develop the software or provide support functions to the project.

Types of Teams

The variation in organizational pattern that may occur is based on the reporting responsibility of the members of the project team(s). There are two frequent forms of organization. These are a Dedicated Team or a Matrix. The Dedicated Team remains together and moves from one project to another. They report to the project manager who has not only project responsibility but also general supervisory responsibility for team members. The latter entails performance reviews, training, and other supervisor-employee administrative activities.

Advantages of the Dedicated Team include project manager's control of the employees' work schedules so that particular personnel will be available for specific projects and full awareness of the experience level of each of the staff. The main disadvantage is the extra time spent on general supervisory administration which detracts from the activity of managing projects.

The other organization is known as a Matrix. In this form of organization the development personnel report to a functional manager who is responsible for the general supervisor-employee administration. The project manager has only responsibility for the project and directs people requested or assigned to the project while they are engaged on the project.

Advantages of the Matrix organization include skill specialization for team members, greater flexibility in obtaining personnel for the team, and as mentioned, freedom for the project manager to focus entirely on the project. Disadvantages include schedule conflicts for highly desirable personnel with other projects, greater difficulty obtaining cogent management data, and the lack of employee loyalty.

Internal Team Structure

The discussion so far has been to describe the management organizational structure. Once a team is assembled in either a Dedicated Team or a Matrix organization, there can be variation in how the team is organized within itself. The two general forms of internal team organization are Democratic Team and Chief Engineer Team.

The Democratic form describes a collection of equals. The team bonds together via mutual respect for each other. They essential form a group identity, or ethos, and the software code developed is the responsibility of the entire team not just the individual who created a module. These ego-less teams can only spring up spontaneously and can not be imposed from without. They are known to enormously productive.1 This type of team is best when the members are senior and experienced.

The other internal organization for a team is known as the Chief Engineer Team. It is also known as the Chief Programmer Team. This type of team is better when one person has greater experience than other team members. The best analogy to describe the team is to compare them to a surgical team with a chief surgeon directing the operation. Advantages include specialization of tasks among the junior members and the focus of responsibility for the results concentrated in the Chief Engineer position. Disadvantage is that the Chief Engineer must be both proficient at managing and directing others as well as extremely experienced in the technical aspects of the work for which they are responsible. Unfortunately such "super-people" are very difficult to find. The primary reason is finding expertise in both management and technical skill sets that are unrelated to each other.

The ideal size for a project team is 4 to 6 people. The number of relationships between people is the factorial of the number of people on the team. So a team of 4 people will have 24 different communication relationships between single individuals. A team of 6 will jump up to 720 different communication relationships!

Summary

There are variations in the organization of personnel to accomplish a software development project. This discussion has reviewed two organizing structures at the management level, namely Dedicated Teams or Matrix. A team should be composed of 4 to 6 members to be ideal because of the complexity of the communication channels. A team itself may be organized in different ways as well. Two such ways described here are the Democratic Team and the Chief Engineer Team.



Footnotes:

  1. Schrach, page 386.

References:

  • Schrach, Stephen R. Classical and Object-Oriented Software Engineering 3rd Ed., Chicago, IL: Irwin, 1996.


printable version
chaos

Unified Modeling Language Visual Studio Team System Parallel Programming Languages: Low Level Abstraction Wing Tsun
Assembly Language Journal Last EXILE jp The Clash of Civilizations between the West and Islam
UML C/C++ Programming Rotary Wing Aircraft The West Wing
The Renaissance in Rome genetic programming Prolog
Y'know, if you log in, you can write something here, or contact authors directly on the site. Create a New User if you don't already have an account.
  Epicenter
Login
Password

password reminder
register

Everything2 Help

Cool Staff Picks
Just another sprinkling of indeterminacy
NetHack
Civil Rights Act of 1964
Nessun dorma
Irenaeus
Everything Quests: Games and Distractions
Everything Editor Logs
The Entertainer...
Things Are Different Now
I Sing the Body Electric
The Passion of SpongeBob
King Arthur
Cold cereal
Sensory metaphors: Colors as nonvisual sensations
New Writeups
Heitah
Why I love Everything2(person)
trixingee
Dungeon Mastering for the first time(idea)
Netrat0
It's Called Subtext, Honey(person)
eyeofthebeholder
The Dragon(idea)
Heitah
consist, comprise, constitute, or compose(idea)
Meezzio
Gotlandssnus(thing)
argv
Astral Plane(idea)
Madara
One Winged Angel(fiction)
Tom Rook
Talk is cheap(poetry)
shaogo
Adelle Davis(person)
Aerobe
race car g sfjsgsd(poetry)
Binah
Dream Log: July 5, 2008(dream)
StrawberryFrog
Forgotten things in space(idea)
antigravpussy
velvet revolution fairy tale(idea)
Heitah
Nerve agent VX(thing)
E2 is a by-product of the existence of The Everything Development Company