Where and when to use the Scrum methodology
Scrum is widely used by software development teams. In fact, it is the most popular agile methodology. According to this report on agile development in enterprises, about 70% of development teams use Scrum or a hybrid.
Scrum started in the software industry and has since spread to universities, the military, the automotive industry, and more.
Even though the advantages of the Scrum methodology are well known (agility, quick feedback, better communication, flexibility, etc.), sometimes we can face the uncertainty of whether to use this framework or follow a traditional path for development.
The following 7 aspects can be considered to determine when it is convenient to use Scrum in your project.
- When requirements are not clearly defined
- When the probability of changes during development is high
- When there is a need to test the solution
- When the Product owner is available
- When the team has the ability to self-manage
- When the contract is given in hours
- When the customer culture is open to innovation and rapid change
Scrum fits into many different types of projects with different purposes, but especially if it fits one or more of the characteristics mentioned above, it is a strong indication that you should use the Scrum methodology to manage the project.
What are the principles of Scrum?
Scrum is defined by a set of principles (or values) that should be understood as simple guidelines for working together as a team. They are:
- Courage – especially when it comes to solving difficult problems
- Focus
- Commitment to team goals
- Respect for team members
- Receptiveness to work and any challenges that may arise
By embracing the Scrum values, a team takes shared responsibility for the success or potential failure of the project. And unless each member of the Scrum team embraces these values, the team will not have the foundation it needs to be successful.
The main roles within the Scrum methodology
There are three essential roles for scrum success: the product owner , the scrum master, and the development team. And since scrum teams are cross-functional, the development team includes testers, designers, UX specialists, and operations engineers in addition to developers. Let’s talk about each role.
Scrum Master
Even if you have never worked with Scrum, it is very likely that you have heard the term Scrum Master. The Scrum Master is the team leader and must help team members with planning and executing tasks.
The scrum master is the person on the team who is responsible for managing the process, and only the process. He or she is not involved in decision-making, but acts as a guide to guide the team through the scrum process.
The Scrum Master protects the team from external distractions, such as customer feedback or other projects, allowing team members to focus on the sprint and the selected goal.
While the Scrum Master focuses on helping the team produce the best results, the Product Owner works to direct the team towards the right goal.
Project Owner
The project owner or product owner is typically one of the key stakeholders in the project. Part of his or her responsibilities is to have a vision of what he or she wants to build, and to communicate that vision to the team. This is key to successfully starting any agile software development project. The project owner does this in part through the product backlog, which is a list of features that are considered priorities for the product.
The Project Owner is responsible for prioritizing the backlog during the development of the project, to ensure that the result, at the end of each iteration ( Sprint ), is closer to what he expects at the end of the project.
The Project Owner is usually a lead user of the system or someone from marketing, product management, or anyone with a solid understanding of the users, market, competition, and future trends for the domain or type of system being developed.
This will, of course, vary depending on whether the team is developing commercial software, internal software, hardware, or some other type of product. Ideally, the person in the product owner role will have a vision of the final product that needs to be built. This way, the team can then work with a clear vision of what needs to be built.
Scrum Team
The third and final role in Scrum management is the Scrum team itself. While the individuals on the team may have traditional titles such as software engineer, programmer, designer, tester, or architect, the Scrum methodology establishes that each person should contribute in whatever way possible to completing the work of each sprint.
When becoming a member of a Scrum team, those who previously fulfilled specific roles tend to maintain some of these aspects, but new responsibilities may be added to them.
A typical Scrum team is made up of three to nine people. And rather than scaling and forming a giant team, Scrum prefers to have “teams within teams.” This way, it is easier to manage the team to complete the Sprint successfully.
What is a Sprint
A sprint is a short period of time when a team works to complete a specific amount of work. Sprints are the core of the Scrum methodology and agile methodologies.
Choosing the right items to work on during a sprint is a collaborative effort between the product owner , the Scrum Master, and the development team. The product owner defines the goal that the sprint should achieve.
Like all scrum events, the Sprint also has a maximum duration. Typically, a Sprint lasts a month or less. The duration of each sprint is decided during one of the project kickoff meetings.
Meetings during Scrum
The scrum methodology establishes five types of meetings held at regular intervals:
- Sprint Planning
- Daily Standup
- Sprint Review
- Sprint Retrospective
- Product portfolio refinement
Sprint Planning
A meeting that is part of not only the Scrum methodology, but also of most other agile methodologies. It is held by the Development team, Scrum Master and Product Owner. It always takes place at the beginning of a new sprint, with the objective of establishing a work list, with the correct priority for each task, and also to align and motivate the team for success during the sprint.
The Project Owner will discuss the backlog with the development team, presenting the amount of effort that will be involved. The team will then decide how much of the work in the backlog can be completed in this iteration. By following Sprint Planning best practices, the duration of this sprint planning can be kept within 4-6 hours.
Daily Stand-up (Daily Meeting)
A stand-up meeting essential in both Scrum and Kanban methodologies. It is an agile ceremony held for the development team facilitated by the Scrum Master. The product owner and stakeholders can attend this meeting to answer questions raised by the development team. This meeting takes place every day, preferably at the same location, and is usually held in the morning. The goal of the Stand-up is to keep everyone updated on the overall progress of the project.
Each team member is asked to answer 3 questions:
- What did you do yesterday?
- What will you do today?
- Is there any impediment to carrying out your tasks?
The daily stand-up should be considered an informal meeting and should last no longer than 15 minutes.
Sprint Review
As described in the Scrum Guide , the Sprint Review is held at the end of each Sprint to evaluate updates made to the software and adapt the Product Backlog if necessary.
This is also an informal meeting, you aim to get feedback and establish collaboration. And as a project can have one or several sprints, the number of reviews will also vary.
During the sprint review, the team and stakeholders evaluate what was accomplished in the Sprint. Based on this assessment and any changes to the Product Backlog during the Sprint, participants contribute ideas for future implementations to optimize the value of the final product.
This meeting should not last much longer than four hours during a Sprint month. For shorter Sprints, the meeting is usually shorter. The Scrum Master must ensure that the event takes place and that participants understand its purpose.
Retrospective (Lessons Learned)
The Sprint Retrospective is an opportunity for the Scrum Team to self-assess and create an improvement plan to be implemented during the next Sprint.
The sprint retrospective is usually the last thing to be done in a sprint. Many teams hold this meeting immediately after the sprint review. The entire team, including both the Scrum Master and the Product Owner , should attend.
This session is basically a “lessons learned” meeting to identify potential pitfalls, past mistakes, and look for new ways to avoid those mistakes.
In other words, this meeting serves to find out what activities and “things” the team is doing well, what activities should be continued and what can be done to improve.
This is a maximum of one three-hour meeting during a month of Sprints.
Conclusion
The Scrum methodology is an agile process most commonly used for product development, especially software development. Scrum is a project management framework that can be applied to any project with aggressive deadlines, complex requirements, and a certain degree of uniqueness. In the Scrum methodology, projects progress through a series of iterations called sprints. Each sprint is typically two to four weeks long and is led by the Scrum Master.
Before, during and after each sprint, meetings are held with everyone involved in the project including the Project Owner , Scrum Master and the development team to establish new activities, priorities and goals.
Write in the comments how you used the Scrum methodology in any of your projects.
Deixe um comentário