Roles Within Project Teams
For a team to work effectively, they need clearly defined roles, and individuals need to be empowered to fulfil these roles.
Project Manager (PM)
- Budget holder
- Owns overall project plan with timescales, deliverables & outcomes.
- Understands high level project progress and issues
- Provides environment to enable team to deliver
- Shields team from details of the business and politics.
- Deals with resourcing requirements
- Represents the project to senior management
- Works with Development Managers and Dev Leads to pull together the required proposition and take it into delivery if appropriate.
Empowerment Required: Demand that their outcomes are achieved by the dev team.
- People manager with technical background
- Runs sessions (eg standup, retrospective, planning)
- Supports and enforces development process by dealing with
- people management
- progress measurment
- external relationships
- company politics
- communication channels
- Works closely with dev team - especially Team Leader
- Attends relevant external meetings on behalf of team
- Ensures that the team operates smoothly, and have the tools & resource to deliver the project outcomes.
- Deals with issues that need resolving within and outside the team.
- Understands the technical details more than PM, but not to the depth of the senior developers.
- Represents team
- Authority figure within team
- Runs project day-to-day
- PM primarily interacts with team via Team Leader.
- Provides the single point of requirements for the development team.
- Is able to answer all questions relating to requirements in a timely manner.
- Is available to the team at all times.
- Authority to answer questions on requirements.
- Authority to make judgement calls on-the-spot.
- Empowered to commit all their time to the project and team.
- One Source for project requirements.
Lead Tester (QA)
- Works closely with Truth and Developers to understand requirements and provide acceptance tests, both manual and automated.
- Runs tests and sign off each story, iteration and release.
- Raises bugs.
- The acceptance tests they create are the single source of the requirements.
- If Truth is unavailable within acceptable timeframe, has authority to make the decision.
- Power to sign-off or reject stories, iteration and releases.
- Combines business knowledge and market research to generate initial high-level ideas, outcomes and goals.
- Sells the idea to the business and gets budget allocated to programme.
- Understands the long-term plan
- Generates the outcomes that are passed to the project team to fulfil.
- Understands how the outcomes fulfil the business requirements
Empowerment Required: To demand that their outcomes are achieved.
Technical Lead (Coach)
- The most senior developer on the team
- Takes responsibility for technical decisions on the project in conjunction with Architecture and other departments.
- Responsible for the technical output of the team, and ensuring that it complies with both internal and industry standards and best practices.
- Responsible for ensuring that the technical practices that support the process are implemented within the team eg Test Driven Development, Pairing, Continuous Integration.
- Works as a developers, providing coaching in Agile practices and coding.
- Works closely with Team Leader.
Empowerment Required: Empowered to make the technical decisions.
Empowered to use best practices and apply both internal and industry standards.
- Understands and embraces the Agile process, its benefits and core practices
- Is able to produce good quality, well designed code in response to stories
- Participates well within the team, adopts all required practices and attends all sessions.
- Works closely with Tester (QA) on Story
- Recognises the authority and expertise of Technical Lead (Coach) and uses them appropriately.