We know that Scrum is one of the most well-known agile methodologies. But after all, what are agile methodologies?The term agile refers to something that moves easily and quickly, however, the context of a development project is about eliminating unnecessary steps. In other words, using agile methodologies in software development, we intend to have minimal problems as possible during the delivery of a product to the customer. According to the Scrum Guide, it is a simple framework that helps people, teams and organizations to generate value through adaptive solutions to complex problems.
What is a framework?
A framework is a structure developed to solve specific problems, being previously built to function as a formula. It is possible to illustrate with front-end development frameworks, in which we have the model of viable functions for the project in progress, reducing time and facilitating the process.
The three essential pillars of Scrum
Scrum has three fundamental pillars that govern this methodology in a logical form:
-> Transparency: The entire Scrum cycle must be transparent, including processes, requirements and project status. It is essential to ensure the actual status of each step. Transparency enables inspection, and its absence results in deceit and waste.
-> Inspection: The entire process must be checked so that variations of the product’s goal definition are detected. Inspection promotes adaptability, and the lack of adaptation renders it useless. Scrum events are designed to stimulate change.
-> Adaptation: The Scrum methodology, being empirical and cyclical, requires adaptability in the face of variations identified in the inspection. The self-managed team has the responsibility to promote this adaptation as soon as new learnings are obtained through the inspection.
Roles and responsibilities
A Scrum team is made up of three roles, with no hierarchies, and is usually made up of a maximum of 10 people.
The three roles present in a Scrum team are:
-> Scrum Master: The Scrum Master is the project facilitator, whose main function is to guide, teach and ensure that the Scrum methods are followed, both by the team and by the organization. Furthermore, it is responsible for resolving the impediments encountered by the team, providing a favorable environment for the progress of the project.
-> Product Owner: The Product Owner is in charge of defining the goal and enhancing the value of the product developed by the group. In this way, the product owner is responsible for creating and effectively managing the Product Backlog. In other words, the priority and conciseness of the requirements contained in the creation is the responsibility of the Product Owner.
-> Developers: Developers are assigned to design the Sprint Backlog document, generate the sprints increments during the process and organize the daily meetings.
The Five Scrum Events
Scrum has five events that occur during a sprint. According to the three pillars of the method, events are designed to promote essential transparency for all team members, as well as provide an opportunity to inspect and adapt your artifacts. The five Scrum events are:
-> Sprints: are fixed events of a month or less, thus ensuring greater consistency, which allow predictability for inspection and adaptation of progress towards the product goal.
-> Sprint Planning: It is the event that starts the sprint, in addition defining the work to be done in the next step carried out by the entire Scrum team.
Sprint planning discusses three important topics:
- Why is this sprint valuable?
- What can be done in this sprint?
- How will the chosen work be accomplished?
-> Daily Scrum: It is a 15-minute event with the purpose of inspecting current progress and adapting the Sprint Backlog as needed. Developers are responsible for managing these meetings and can use any techniques or structure.
-> Sprint Review: This is the event where developers present the results of their work to key stakeholders. Based on what is discussed, the Product Backlog can be adjusted to attend new opportunities.
-> Sprint Retrospective: The purpose of this event is to plan ways to increase quality and effectiveness, inspecting how the last sprint went in various aspects, such as interactions and processes, for example. The most important improvements are addressed as soon as possible.
The Scrum Artifacts
As mentioned earlier, artifacts are designed to maximize the transparency of main information representing work or value.
Product Backlog
The product Backlog is a record that embraces the Product Goal and the essential attributes that the system must assist. These requirements are arranged in order of priority, and only the Product Owner is allowed to make changes. This document is dynamic and does not require definition from the beginning of the project.
Sprint Backlog
The Sprint Backlog contains your goal and sprint planning, with the requirements brought from the Product Backlog in the order defined by the responsible individual. This document is the property of the developers, who can receive assistance from the Product Owner and Scrum Master, and it is possible to change it as needed.
Increment or Delivery
An increment is a usable delivery of one or more requirements to stakeholders for validation. In turn, for a requirement to be considered an increment, it must have a status of “Done Definition”, evaluated in the sprint review.
Burn down chart
The Burn down chart is not originally part of the Scrum Guide, but it is a tool often used by teams to assist in project development. This chart has information related to the number of tasks and remaining workload, represented on the Y and X axis, respectively.
Final considerations
The agile methodologies emerged to meet the demand in software development that other traditional planning formats, such as the waterfall method, did not solve. Based on empiricism, knowledge resulting from experience, and on the optimization of resources, Scrum has gained its place and is the most known and used agile methodology worldwide. Consequently, this method can be applied in several projects, not limited to the software development environment.