Whole Team

Last modified by chrisby on 2023/11/28 21:22

Team Composition

Agile is for small to medium sized teams, meaning 3-12 people. Larger teams should be divided into smaller teams. How these smaller teams are managed is not part of agile, it is management's responsibility.

Roles Example

  • one 12-headed team = 1 project manager + 1 master + 7 developers + 3 testers
  • 3 testers = 1 business analyst (BA) + 2 quality assurance (QA)
  • These roles may vary or overlap depending on the size and needs of the team.

Responsibilities

  • The Project Manager is responsible for stakeholder and resource management, budget, reporting, high-level coordination, etc. The project manager may be a member of more than one agile team. All other team members belong to this team only.
  • The Master is an experienced developer who also has the responsibility and authority to ensure that Agile practices are followed.
  • Developers implement stories by writing production code and corresponding tests, such as unit/component/integration tests, but not acceptance tests.
  • Testers write acceptance tests.
    • Business Analyst writes the 'happy path' acceptance tests for stories.
    • Quality Assurance writes the 'unhappy path' acceptance tests for stories.

High Productivity

  • Team over individuals: Success is measured by team progress, not individual achievement. Each team member should put the needs of the team before individual needs.
    • Ask for and provide help: Team members should cover for each other and offer help when needed to keep the team's overall productivity high. For example, it is a waste of resources to spend hours researching a problem when an experienced colleague could fix it in minutes.
  • Short Distance: The shorter the distance between team members, the greater the productivity.
    • The ideal is co-location, which means being physically present in the same room, close together, with easy, fast and informal communication.
    • The next best thing is home office with real-time interactive collaboration, including video conferencing, screen sharing or even shared coding. But there is a loss in missing non-verbal communication, missing conversations that happened by chance or were overheard by chance.
    • Communication via email or chat is least productive.
    • Cost of Externals: Hiring lower-paid programmers from abroad is not necessarily cheaper due to higher communication costs caused by physical distance, language or cultural barriers, different time zones, etc.
  • On-Site Customer: There should be one team member who is very familiar with the customer's needs, called the on-site customer. In case of questions or conflicts, the on-site customer can be quickly consulted due to the short distance compared to consulting the real customers. The business analyst is usually best suited for this role.
  • Well-Oiled Teams: Each person has their own attitudes and communication styles. It takes time for team members to get to know each other, to communicate effectively and to achieve optimum productivity, to become 'well-oiled'. Managers should know that it is therefore better to keep teams together and assign new projects to a static team, rather than randomly mixing people together for each new project.