- Work independent from each another
- Specialize in a few things
- Have individual goals
- Are management driven and controlled
- Have specific job descriptions.
At first, no one notices that the fabric is unraveling. Annoyances to the team start to appear that are attributed to agile practices. Annoyances such as:
- Nobody cares about your status at The Daily Standup
- The Iterations are not long enough to get anything done
- The Definition of Done is too hard to achieve.
So, if real teams are so critical then what are their attributes and why are those attributes valuable to helping agile succeed? Here are some attributes to think about:
- Team size: 6 is a great size, 9 is starting to get on the large size. If a team is too large then they don't all communicate and collaborate with each other frequently enough. In which case why not just create a smaller team?
- Self-organizing: The team decides how to best accomplish their work. Self-organizing allows team members to be highly collaborate and to feel ownership for their work.
- Cross functional: Members of the team have varying functional skills required to do the work and importantly, the team members are willing to do work outside of their specialty. Cross functional teams help reduce the need to queue (batch) work for specialists. Reducing queues helps to minimize work in process (WIP) - fundamental to succeeding with agile.
- No job titles: On a team there are no developers, testers, documentation people, etc. There are people that have development, test, documentation, etc. skills. It is expected that the team pulls together to figure out how to best accomplish the work (i.e.: self-organizes) with the set of skills that it has or that it can acquire.
- Keep the team together: Think about bringing work to teams. Seriously avoid forming teams around the work. A bit of change to the team members is acceptable, but I'm talking about keeping the team together unchanged for many months and perhaps a couple of years.
- Dedicated: All the team members are dedicated to the same goal. People are never allocated to multiple projects.
- Highly collaborative: The team members collaborate frequently to accomplish their work. It certainly helps collaboration if they are working on the same stuff.
- Co-located: The team members are all located in the same area, preferably in a team room. Radical co-location can double the output of the team.
- Shared vision and purpose: The team has a clearly defined vision and understands their purpose as a team. It is difficult to act as a team when members are working at cross purposes and do not all have the same vision for their being.
So far I have described the structure and attributes of teams. That alone is not sufficient for success. The team needs to make two commitments. These are team commitments, not individual commitments. The two commitments are:
- The team commits to quality. Quality means that they have the vision to delight the customer in what ever they create. No need to talk about defects here; I have never seen a customer delighted with defects.
- The team commits to working professionally. Working professionally has many meanings including positive attitude, using the right tools, and working together.
People on the team hold each other accountable to these commitments. Avoid individual commitments driven by people external to the team as it will weaken the team.
There is one commitment that the team does not make. The team does not commit to time (i.e.: quantity of output).
There is one commitment that the team does not make. The team does not commit to time (i.e.: quantity of output).
If they were to commit to time then quality will suffer. If the organization is really committed to quality then we have to stop trying to stuff 10 pounds of mud into a 5 pound sack — i.e. we need to start matching the capacity of our organization to deliver against the desired features. There are certainly reasons to balance between quality and time; beware of the slippery slope!

