From chapter 11, 12, 13 of "Rapid Development" by Steve McConnell.
1. MotivationDevelopers are more introvertious than the general population. Achievement, possibility for growth, work itself, and technical supervision opportunity are among the top five factors motivating them. On the contrary, managers are more excited by the responsibility, and recognition.
For the long term, reward is important. However, sometimes the reward itself may undermine the quality of work, since the passion for the work itself is more important. Therefore, the rewards should be presented as a gesture of appreciation rather than an incentive. The more external the reward is, the less interested the work will be.
The Hawthorne effect is gold to project managers. Run every software project as an experiment, as a pilot project. Try something new, and make sure every team member knows it. If get some conclusive result, use it for the later projects, otherwise you get the better productivity at least. Note that: don't manipulate.
Performance review. The effect can be negative or positive. a 2 blades sword.
Morale
2. Teamwork
The characterisitics of a productive team:
- A shared, elevating vision or goal;
- A sense of team identity;
- A results-driven structure(roles must be cleared and accountable, an effective communication system, monitoring individual performance, decision made on facts);
- Competent team members (specific tech skills, desire to contribute, collaboration skills, mixed roles);
- A commitment to the team;
- Mutual trust (honesty, openness, consistency, and respect);
- Interdependence among team members;
- Effective communications;
- A sense of autonomy;
- A sense of empowerment;
- Small team size;
- A high level of enjoyment.
Why teams fail?
The contrary of any one of above.
To point out one thing: who first, then what. To keep a unqualified person on the bus hurts the team most. If someone is not qualified, the firing decision has to be made as early as possible before it hurts the project.
Long term team building: don't dismiss the team because of short peroid of idleness. The cost of rebuilding a good team is way much more than the pay of idleness. The risk is increasing as well.
A summary of teamwork:
1. for team leaders
- Avoid compromising team goals with political issues;
- Exhibit personal commitment to the team's goal;
- Not to give too many priorities;
- Be fair and impartial to the members;
- Confront the inadequency of any team member;
- Open to new ideas and information from the member.
2. for team member
- Demonstrate a realistic understanding of my role and accountability;
- Demonstrate objective and fact based judgement;
- Collaborate effectively with other members;
- Make the team goal at higher priority;
- Demonstrate a willingness to devote whatever effort to achieve team success;
- Be willing to share and feedback appropriately;
- Provide help;
- Demonstrate high standards of excellence;
- Support team decision;
- Demonstrate courage of conviction by directly confronting important issues;
- Demonstrate leadership in ways that contribute to the team success;
- Respond constructively to feedbacks.
3. Team structure
Organize the team according to the objectives:
- Problem resolution---trust;
- Creativity---autonomy;
- Tactical execution--clarity.
Team models:
- business team: expert lead + equal members, the most common model;
- chief-programmer team(surgical team): surgen+backup programmer+administrator+toolsmith,e tc; but rare programmers have the expertise to serve as surgen;
- skunkworks team: a group of talents, black-box to the outsider;
- Feature team;
- Search-and-rescue team;
- SWAT team: a group of experts, each are good at one tool;
- Professional athletic team;
- Theater team;
- Large team;
Managers and tech leaders