Scrum is a popular agile software development framework, originally written by Ken Schwaber and Jeff Sutherland. It consists of a few simple processes, 3 roles and a variety of artefacts (outputs), which together form a coherent product development process. Scrum is described in The Scrum Guide, which was originally published in 2009.
The Scrum framework is designed for a single product development team. For multiple Scrum teams working on a larger scale, additional approaches and frameworks have been developed, for example Scaled Agile Framework (SAFe).
Scrum roles
The Scrum team is composed of 3 roles.
Product Owner
A Scrum team has a single individual performing the Product Owner role which represents the customer. It liaises with business stakeholders and defines the product to be delivered by the project, usually in the form of user stories. It prioritises the user stories (requirements) in the product backlog. The Product Owner is concerned with maximizing the value that the team delivers by bridging the gap between business stakeholders and the technical development team.
Development team
The development team consists of a self-organising team of developers. Developers usually means anyone working on the development and support of the system or product, and might include architects, designers, analysts, programmers, testers, and others. Developers perform the work required to meet the goal of delivering increments of value every sprint.
Team members are encouraged to interact directly with business stakeholders to gain maximum understanding and immediacy of feedback. However, all work for the team is authorised by the Product Owner, through prioritised user stories from a sprint backlog.
Scrum Master
The Scrum Master role is performed by a single individual and acts as a facilitator by removing any impediments the team faces in delivering the increments. The Scrum Master acts as a barrier between the team and any distracting influences and is therefore not a traditional team leader or project manager but is more of a ‘servant-leader’.
The Scrum Master coaches the team in scrum theory and concepts, facilitates key events and meetings, and encourages the team to grow and improve.
The Scrum Master helps the Product Owner maintain the product backlog and helps the team define the meaning of ‘done’ for the product. It also promotes self-organisation and cross-functionality within the team, helps people and adopt empirical and lean thinking.