As an agile organisation do you depend on altruism of the team members for the success of the team? In many service (out sourcing or otherwise) organisations anecdotal evidence seems to suggest this is the case. Of course there is nothing wrong with altruism, many charitable organisations depend on the generosity of the human spirit for their successes. But, the context in which an individual becomes an employee is different to the context of the charity worker.
If cost constraints (as it very often does) drive the team formation, then the dependency on altruism will lead to failure. Cost as an issue is not an exception, but a common occurrence that skews the team formation to fit the size of the clients purse. The team is skewed because different team members are at different levels of experience, in some cases this may their first project. So their expectation of their employer and their team colleagues will markedly differ. Add to this the time to market pressures and the learning curve for the technologies involved; it is possible to understand why the team fails.
Once such a team is formed, the situation is made worse by the following erroneous beliefs:
- Team goals will at all costs supersede and personal goals or ambitions. This is not saying that there is no ‘I’ in ‘Team’, it’s as though the ‘I’ is to be excised from the individual.
- Cooperation will bring about the emergence of altruistic behaviour, just as night follows day.
- Competition amongst the team members will make a lasting and better employee.
Out of this combination of competition and cooperation will emerge (phoenix like) a superior team.
The truth lies some where in the middle. The savvy developer who was ahead to start with will be further ahead of the other team members. The laggards will have picked a few facts, but the baptism of fire will have burned some and singed others. Will this make them long term loyal employees? Will this inculcate in them team behaviour over personal goal driven behaviour? Will they be better at cooperation and competition that leads to altruistic behaviour? It is very doubtful.
Teams will succeed for the following reasons:
- Their experience level is the same, hence cooperation is more tuned to developing a shared understanding of the problem space, and therefore also a shared team goal.
- Competition becomes a game where you increase your learning speed, but in a cooperative environment. Thus it is much more likely that altruistic behaviour is more likely to come to the fore.
- The team will progressively get better as a team, but also the team members will become better team members and employees.
- Common goal is more than just the release of an MVP. An effective team is about relationships between unlike individuals.
- In the military the soldiers personal instinct is to survive the mission, and he shares this same goal with all members of the mission, while aiming to make a success of the mission itself. Software development is not a matter of life or death, at least not for the developer, but perhaps for the user! There is no shared common personal goal for an software team (agile or otherwise). The team goal is outside of all of them and has to be internalised. It is part of the many things that make a collection of individuals into a team.
- If the country of the service organisations does not provide a social contract as a safety net, it is highly likely that personal goals will most often be more important.
It is important to keep the social differences, and the economic consequences that go with it in mind when trying to create successful teams. We are being told that technology and the Internet has made world flat, but fortunately for us human nature is anything but flat.