Scrum is a process in which a regularly applied set of collaborative and effective practices is used to achieve the best possible outcome in a project. These practices support each other and are selected from a study of highly productive teams.
In Scrum, partial and regular deliveries of the final product are made, prioritized according to the benefit they bring to the project recipient. For this reason, Scrum is especially suitable for projects in complex environments, where quick results are required, requirements are changing or poorly defined, and where innovation, competitiveness, flexibility, and productivity are essential.
Scrum is also used to address situations where customer needs are not met, deliveries are delayed, costs skyrocket, or quality is not acceptable. Additionally, it is used when rapid response to competition is needed, facing low team morale and high turnover, systematic identification and resolution of inefficiencies are needed, or when working with a specialized product development process.
The process
In Scrum, a project is carried out in short, fixed-time cycles known as iterations. These iterations typically last for 2 weeks, although in some teams they may extend to 3 or even 4 weeks, with the latter being the maximum limit for obtaining feedback on the actual product and for reflections. Each iteration aims to provide a complete result, that is, an increment of the final product that can be delivered to the customer with minimal effort when requested.
The process begins with the prioritized list of product goals/requirements, which serves as the project plan. In this list, the customer (Product Owner) prioritizes the goals, balancing the value they provide with their cost (estimated by the team considering the Definition of Done), and they are distributed across iterations and deliveries.
The activities carried out in Scrum are as follows (the times indicated are for 2-week iterations):
Iteration planning
On the first day of the iteration, the planning meeting is held, which consists of two parts:
- Requirements selection (2 hours): The customer presents the team with the prioritized list of product or project requirements. The team asks the customer questions to clarify doubts and selects the most prioritized requirements that they expect to complete in the iteration, in order to be delivered if requested by the customer.
- Iteration planning (2 hours): The team creates the list of tasks necessary to develop the selected requirements. Effort estimation is done jointly, and team members are assigned tasks, even organizing into pairs or larger groups to share knowledge and address complex goals collaboratively.
Iteration execution
Every day, the team holds a 15-minute synchronization meeting, usually in front of a physical board or whiteboard (Scrum Taskboard). During this meeting, the team examines the work in progress, task dependencies, progress towards iteration goals, and any obstacles that may arise, in order to make necessary adaptations to achieve the planned goals. Each team member answers three questions:
- What have I done since the last synchronization meeting to help the team reach its goal?
- What am I going to do from now on to help the team reach its goal?
- What obstacles do I have or anticipate having that could prevent us from reaching our goal?
During the iteration, the Facilitator (Scrum Master) ensures that the team stays focused on its goals, removes obstacles that the team cannot solve on its own, and protects the team from external interruptions that may affect its productivity or achievement of iteration goals.
Inspection and adaptation
On the last day of the iteration, the review meeting is held, which consists of two parts:
- Review (demonstration) (1.5 hours): The team presents to the customer the requirements completed in the iteration, showing an increment of the product ready to be delivered with minimal effort. Based on the results and changes in the project context, the customer may make necessary adaptations, even replanning the project from the first iteration.
- Retrospective (1.5 hours): The team analyzes its way of working and possible obstacles that could affect its progress, seeking to continuously improve its productivity. The Facilitator is responsible for eliminating or escalating the identified obstacles that are beyond the team’s scope.