Typical, productive Agile teams seem to conform to a certain shape. This observation is borne from my experience in almost a decade of Agile projects, and is reinforced by colleagues at ThoughtWorks from their experiences. I am calling such ideal Agile team structures pods. I offer yet-another-term for several reasons:
- The term team doesn't convey enough,
- I haven't read of an alternative term,
- Several other good words are already in use,
- I like the collocation connotation of pod,
- I like the self-contained connotation of pod (i.e., all the needed skills are collocated)
- It provides an organization unit for broader people-oriented discussions
- There is a quirky sci-fi angle I can't resist
I will be exploring many aspects of pods in a series of posts. Let me quickly summarize where this is going:
- There is a particular mix of developer skills in a pod (a mix of Masters, Journeymen, and Apprentices;
- There is a particular mix of team skills (analysts, developers, testers, management);
- The team is self contained and collocated;
- The team is empowered, making decisions in its areas of competence;
- The team is self-managing (including self-apprasing);
- Team metrics provide insight into the effectiveness and composition of the team; and
- The team is semi-permanent, spanning project life cycles.
Much of this is common sense. Much of this is obvious to practioners of Agile. But much like the practices of XP, the total is greater than the sum of the parts. I still strive to create the perfect pod for projects on which I work, but I haven't yet achieved it.
Do you have specific characteristics for your ideal Agile team?