There is a long standing pattern with sport teams of all types:
- The Team Members
- The Team Captain
- The Team Coach
- The Team Manager
This pattern is well established, and it is well accepted that one bad apple in the above can change a champion team into a loser. Development should learn from this pattern. The following appear to be appropriate mappings by functions and roles served:
- Team Captain –> Dev Lead. The best member with leadership ability. The person that the team members have confidence in and respects. Someone good in the sport (development)
- Team Coach –> Architect. A coach plans out and teaches the plays. He makes the call on what should happen on the field.
- Team Manager –> The Development Manager. He is responsible for getting resources (including new people), dealing with the sponsors etc.
My general observation is that most development teams are crippling themselves by trying to save money by overloading positions. The consequences are the same as for a sports team: poor execution. A Team Captain on the field in the middle of a game is not able to sit back and observe what is happening and craft the best strategy, his vision is the immediate now. All of the above need to communicate well with those above and below them for an effective team.
Perhaps it is time that we start pressing for a sports analogy for staffing and funding.