Tuesday, April 05, 2005

To make a team...

Next to getting customer involvement, putting together the right team is the most important component to a successful project. In my opinion, there are 2 traits that rise to the top when selecting team members. The ability to accomplish the tasks the job requires, and the ability to work as a member of the team.

In my travels, the failure of a team to 'gel' comes down to either of these points.

If anyone else has gone through business school, we now have to make a 2x2 grid.

The Stars: A person that's easy to work with that has the right expertise to fill the role on the team. You should obviously try to fill you team with these people. Stars are will to accept accountability for both good and bad are accept constructive criticism.

Some people have the aptitude and experience to get the job done, but working in a team environment they flounder because things must be done 'their way or the highway' I usually call these people the 'Lone Wolf'. They will be much more successful on single person projects than larger team oriented efforts. The Lone Wolf introduces risks to the project because they often fail to adhere to any development process you may have (Source Control, Unit Testing, etc, etc).

The Charlatan: The charlatan has neither the teamworking ability nor the expertise to get the job done. They will go to great lengths to try to hide their incompetence, often by alienating teammates and striving for attention when something gets accomplished. As a manager, it can be difficult to seperate your stars from the charlatans, since the charlatans are so good an managing up (That's why there are in the position they are in). However, the best test is how a person takes critcism and accept accountability.

The Bumbler: Usually an easy going person who while putting in an honest effort, often comes up short on results. The bumbler adds less risk, as opposed to the Charlatan or Lone Wolf, since they don't divide the team and usually adhere to the process used by the group.

My next rant is that a team needs roles and role players. My definition of a role is a position in a project with accountabilities. At the end of the day, if you are accountable for nothing that adds value to the customer, you have no business being part of the project team. Having the accountability within the team is very important to keeping a team motivated. If one person or group of people on the team have to burden all the responsibility, its terribly demotivating since everything gets dumped on them.

Finally, a team consists of role players. A football team would fare very poorly over a season if you selected the 11 best Running Backs available to make up your team. A team needs the offensive linemen who do the unglamorous grunt work that allows the RB to get to the end zone. In software development, its the same way. Having a team of the 5 best programmers available will not lead to success. You may need an architect who can see the big picture, you may need a project manager who knows agile development, you may need some analysts to codify the users requests in a clear fashion so the developers can focus on development. When planning a project, you need to put some real thought into these roles and how the role player is accountable for the output of each role.

0 Comments:

Post a Comment

<< Home