Fred George has a very interesting post in his blog “You have the wrong team”.
You have a wrong team because:
- You are missing the experience you need in some key areas, and
- The team members don’t necessarily work well together.
He explains how agile helps in this situation. Collocation and pairing helps in when somebody doesn’t have the expertise and it explains how knowledge transfer can be quite rapid in this environment.
If somebody still have difficulty working together, your being in the room provides insights to the solution. Is it a matter of tone (challenging, dismissive, personal rather than business)? Then coach on interaction style. Is it disagreement on technical matters? Ensure swift resolution before it becomes personal.
He talks about Net-Negative Producing Programmers (NNPP) and I could not agree to more than what he has mentioned.
A single individual typically can negatively impact other team members numbering in double digits! So indeed, one bad apple can spoil the whole bunch.
There are several ways to identify such individuals:
- Observe. Being in the room, you can see the behavior. Even more important, you can see the impact on overall team. The situation can be corrected by coaching, or ultimately, removal.
- Ask the team. The team knows who is acting incorrectly. Borrow a lesson from Survivor, and let the team vote someone off the island.
- Who gets picked last? If pairing is practiced, who is the person no one wants to pair with?
If you fail as a project manager to act quickly on identified NNPP, morale issues will quickly ensue. Your inaction, in particular, will be glaringly obvious to the team. Your leadership, dedication, and even competence will come under question.
Once more for emphasis: Failure to address an NNPP problem will rapidly destroy team productivity.
The next thing he discusses why does staffing need to be adjusted throughout a project? It is for several reasons beyond staff quitting and needing to be replaced:
- The needs of the project change throughout the project. DB tuning will be important at some stage, but not others. Knowledge of systems with which the project much integrates will be needed at some time. The general load of analysis, development, and testing will drift during the project.
- Team members will grow during the project, particularly on projects lasting more than six months. Exploiting this growth is part of good team management.
- An inbred team will cease innovating. Studies of innovation reveal a significant drop in innovation in a team that has been together for as little as six months. New blood is needed, even if only to challenge the patterns of current thinking.
As a project manager, you must constantly be alert to tweaking the team. Bring in a specialist when the need arises; exploit collocation and pair programming to harvest the knowledge and release the specialist. Perhaps that resource you really needed was not available at the start of the project. Bring them on board when they are available.
Application development is chaos; react or face corresponding chaos in your team.
Worth Reading it