The roles in Agile methodology specially Scrum are quite different from the traditional roles other software development methodologies. Clearly defined roles and expectations help individuals perform their tasks efficiently.
There are three key roles that are defined in Scrum:
Scrum Master is a Scrum Champion, ensures everyone follows the practices prescribed by Scrum.
- He is a facilitator and Servant Leader who encourages and demands self-organization from the development team.
- He enables close cooperation across all roles and functions, addresses resource issue and disobedience of scrum practices.
- He protects the team from external and internal distractions.
- He removes impediments so the team can focus on the work at hand and follow scrum practices.
- He is not typically a manager or lead, but he is an influential leader and coach who does not do direct command and control.
Product Owner in Agile is like a spokesperson for customer and needs to represent them,
- This person owns the Product backlog and writes user stories and acceptance criteria.
- Product Backlog is prioritized by him and he decides the release date and the content.
- He accepts or rejects user stories.
- He has the power to cancel the Sprint, if he thinks the Sprint goal is redundant.
- He is the one who is responsible for the Return on Investment of the product.
Development team – Roles and Responsibilities
Is a cross functional, small and self-organizing team which owns the collective responsibility of developing, testing and releasing the Product increment. There may not be any team lead since decisions are taken collectively by the team. The role of a tester in an agile team is discussed in detail, later.