Scrum is the most widely used agile framework worldwide. Almost three quarters (72%) of the companies that took part in the 13th Annual State of the Agile survey, stated that Scrum is their framework of choice.
Scrum refers to a framework that makes for effective collaborations among teams that are working on complex products. Although it is most often used by software development teams, scrum can essentially be beneficial to any team that is working toward a common goal. In particular, scrum is a collection of meetings, roles, and tools that work together to help teams better structure and manage their workload.
Scrum is based on 3 pillars:
Project-related tasks must be visible to all team members (transparency). The tasks should be reviewed regularly (inspection) and adjusted when needed (adaptation).
Scrum also has a set of values:
Team members dedicate themselves to their tasks (commitment) per iteration. During the iteration, the tasks will not be changed (focus). To work optimally, the team must communicate well with each other (openness and respect).
Development Team (or simply ‘Team’) refers to any team member that is not a Product Owner or a Scrum Master. They are the team members developing the features. The Development Team should be self-organized and cross-functional. That means that the Development Team has a full say on how they do the development work, in which order they pull tasks from the Sprint Backlog, and how they make decisions.
The Product Owner isbusiness-oriented and functions as the Voice of the Customer. They have contact with the internal or external customer to find out what features are of most value to the end-user. The Product Owner owns the Product Backlog and the Product Vision. Because they understand both the business and communicate with customers, they are responsible for maximizing the value of the product or service for the end-user.
The Scrum Master isa facilitator and a coach to the rest of the team. They help the teams to do their work by removing any impediments or barriers that prevent project activities from being done. They teach the Scrum concepts to the team if necessary, and coach team members in communication. They ensure that Scrum events are successful.
To be effective in Scrum, some terms need to be defined clearly at the start of the project. Although some elements of Scrum are ridged (certain artifacts and events must be used) some elements are flexible. These flexible elements need to be decided upon before a project can start.
A project-driven in Scrum team consists of ‘Sprints’. A sprint is a timeboxed event. Sprint is the name given to an iteration in Scrum. During the Sprint, the number of tasks and scope of the tasks cannot be changed – this is to ensure the team can keep focused. However, the items on the Product Backlog can still be reviewed, revised, or removed.
A timebox isthe specific amount of time that has been agreed on beforehand. This time may not be extended under any circumstances. The goal is to ensure the timeboxed events are as short as possible, but still as long as necessary.For example, a Daily Scrum should not be longer than 15 minutes.Time-boxing this event creates a habit for the team to keep to the 15-minute limit not get side-tracked or distracted.
The Definition of Doneguarantees that there are no misunderstandings on when a Sprint or a task may be called ‘done’. Scrum team members must clearly state up-front what the requirements are for something to be Done so that both the customer and the team understand and agree.
Scrum artifacts are created to support the visibility of tasks (transparency) and streamline the work.There are three primary artifacts:
A product increment is the next piece of working code. It is the sum of all items from the Product Backlog that meet the Definition of Done within a specific time. A Product Increment must be “shippable”, in other words, the customer must be able to use the feature. Every Sprint, a potentially shippable set of features, is delivered.
The Product Backlog is an ordered list of all tasks that together deliver the features the customer needs or desires. This list should be clear and easy to understand. Tasks that produce the most value for the customer should be at the top of the Product Backlog. They are the features that should be done as soon as possible. The Product Backlog has no end since it can change and evolve throughout the project. Tasks can be added, removed, and revised throughout the project. That is the core of agile working! There is no need for a final version of the Product Backlog to start developing. As soon as the first items are added to the list, development can be started.
During the sprint planning meeting (defined below), the firstitems are selected from the product backlog. This selection is based on items’ priority and estimated teamwork and capacity. A detailed delivery plan and a sprint goal are also attached. These elements make up the sprint backlog.
Each event has its purpose, such as organizing the tasks that have to be done, reviewing the progress, solving bottlenecks, or giving and receiving feedback. Scrum events are also known as ceremonies.
Sprint Planning is also a timeboxed event. The goal of the meeting is to discuss the features and tasks that should be a part of the next Sprint. The Sprint Backlog must consist of the Product Backlog items that are chosen during the Sprint Planning. Part of the Sprint Planning is estimating how many of the Product Backlog items at the top of the Product Backlog fit into the Sprint.
A Daily Scrum is a short team meeting that happens every day, at the same time, in the same place. During this meeting, each team member will address three questions:
The Sprint Review is atimeboxed meeting where the Scrum Team members present the work of the last Sprint that fits the Definition of Done. The main goals of the meeting are to collect feedback from the customer and to raise change requests as soon as possible.
During a Sprint Retrospectives, theScrum Team looks back on the Sprint. They celebrate what went well and discuss what could be improved. These improvements could be related to processes, ways of development, communication, and presentations made to stakeholders. Any agreed-on changes should be implemented in the next Sprint.
Starting with Scrum is easy. Being successful with Scrum, however, requires all Development Team members to have a basic understanding of agile ideology and knowledge of Scrum concepts and events. The Product Owner and Scrum Master need specialized expertise and mastery of specific skills to properly fulfill their roles. For anyone else involved in Scrum projects, which includes end-users, it is very beneficial to have a grasp of the basics.