Scrum’s huge popularity is mainly due to its capability to help teams move and learn faster. Most software companies have switched from traditional waterfall management to an agile mindset, and the reason is that now teams can effectively cooperate together, continuously improve, estimate time on tasks, and deliver a product on time.
When working with traditional waterfall management the client doesn’t see the product until months of development have passed and often the result isn’t as expected due to the lack of communication and feedback during the process. Scrum’s biggest contribution is making the process iterative and incremental to ensure the product is going in the correct direction.
Let’s get immersed in this method to fully understand what it promotes, how it integrates with teams, and its results.
Scrum Methodology: Applying Rugby Values to Software Development
The methodology is based on the rugby term scrum: fixed position for restarting play where both teams face each other in the attempt to gain possession of the ball after a handling error.
To put it into perspective, the play would include your people vs. your competitors while the ball would represent your competitive advantage on a market. In this scenario, Scrum would be your playfield, the framework that allows your team to succeed.
In addition to the reference in terms of roles, the scrum methodology adapts several values of the sport, mainly the strength of a team united to put all its efforts towards a common goal
The Key Concepts of Scrum for effective software development
¨Scrum is a lightweight framework that helps people, teams, and organizations generate value through adaptive solutions for complex problems.¨ (The 2020 Scrum Guide)
It's a way of working to manage software development more effectively and productively. For it to be carried out successfully, it must be implemented completely, fulfilling its roles, events, and strategies. Development teams benefit from planning, managing times and expectations, and teamwork.
When working with scrum there are some concepts that are always present, such as:
- Incremental (the process is carried out in short pieces to make it more manageable)
- Transparent (the whole team is aware of what is going on)
- Inspectable (possibility to check out the state of things)
- Adaptable (the team can change the process along the way)
How Scrum can help your team excel in projects?
To begin with, it helps you understand and put the goal of the project into perspective. After the project is defined and we have understood the requirements, we start separating the idea into smaller parts for better management.
Technological Partners
When we are working with your project we become more than an agency that develops your product, we are open the whole process. We share our knowledge and experience and enjoy transmitting ideas and giving suggestions.
Our groups unite, you are on our team and we are on yours. There is complete transparency on the project and what is being done. There are no doubts or unanswered questions. We are fighting together for the same goal, the project goal - catching the ball in Scrum.
Incremental and adaptive process
We create a backlog with tasks and start planning the first increments. We begin to evaluate if we are on the right path and analyze the results. The scope can always be redefined for the next Sprint.
This adaptation process can take place throughout the entire process and since it is done continuously, it avoids investing time in an unwanted outcome and allows to reach a result more aligned with the interests of the client.
Minimize waste
Scrum teams minimize waste due to the continuous evaluation of the viability or importance of working on something. This way the whole team knows what each member is working on and how is that going. It allows you to easily adapt to changes, modifications and requirements without wasting time and effort.
In the end, the project goal is achieved by deeply understanding the project's needs at all times, the continuous feedback with the client, and the quick adaptation to changes.
Some insight into The Scrum theory
Scrum does not seek to create detailed instructions to follow but rather presents its guidance and allows teams to adapt with the freedom to their workflow.
It's based on two concepts: empiricism and lean thinking.
- Empiricism: decisions are based upon the knowledge created from experiences.
- Lean thinking: helps minimize waste and puts the focus on the essential and overriding.
It is based on an iterative and incremental approach in order to ensure that the methodology is correctly being done by the team.
The Five Values of Scrum: Fostering Collaboration and Commitment in Teams
The Scrum Team works together, supports each other, and commits toward the same goal. They promote and have internalized the five values to successfully use scrum: Commitment, Focus, Openness, Respect, and Courage.
The path must be traveled based on these values and promoting them. This way it will be reflected in the work, actions, and behavior of the team. When these values are adopted great trust, commitment, and transparency at work are generated.
Breaking Down the Scrum Team: Roles and Responsibilities
Now that we know what is scrum about, let's breakdown the team and how it's integrated:
- Scrum Master
- Product Owner
- Developers
Within a Scrum Team, there are no sub-teams or hierarchies. It is a cohesive unit of professionals focused on one objective at a time - the Product Goal.
Scrum Master
They are accountable for establishing Scrum as defined in the Scrum Guide. Scrum Masters ensure that the methodology is correctly being done by the team.
Must:
- Ensure that all Scrum events take place with a productive approach and within the stipulated time
- Help the Team on creating high-value outcomes
- Remove impediments to the team’s progress
Product Owner
They help maximize the value of the product from the work of the Scrum Team. Product Owners are a link between the team and the client. They really engage in the business side by suggesting ideas and participating in the definition of the product.
Must:
- Effectively communicate the Product Goal
- Create Product Backlog items
- Make sure the Product Backlog is transparent, visible, and understood.
Developers
Developers are the people in the Scrum Team that are committed to creating any aspect of a usable Increment for each Sprint. They are the team members with the right skills to do the work.
You may think the “development team” means engineers. But that’s not always the case. According to the Scrum Guide, the development team can be comprised of all kinds of people including designers, writers, programmers, etc. (Scrum roles and the truth about job titles in scrum, Atlassian - Agile Coach)
Must:
- Successfully complete the increments of the Sprint
- Focus on quality to meet the definition of Done
- Hold accountable of themselves as professionals
Scrum Events: Essential Components of the Scrum Framework
Scrum combines a number of events to be carried out properly. There are four formal events that are meant to inspect and keep track of the containing event - the Sprint.
Events are essential to Scrum and are used regularly with the intention of minimizing the need for meetings not defined by this methodology.
The Sprint
Sprints are the core of Scrum. They are fixed events at least every calendar month. In Somnio Software we normally do them in two weeks' time to be more present and limit the risk of cost and effort to a smaller time frame.
Within that period of time, the team carries out the increments defined in the Sprint. When the two weeks have concluded a new Sprint starts immediately. The Sprints are where ideas are transformed into value.
Sprint Planning
Sprint planning is the initiating event of the Sprint by planning the work to be performed for the Sprint by the entire Scrum Team.
These meetings address the value of the Sprint, what can be done in it, and how the work will be done. The team discusses the items on the Product Backlog and defines the direction toward the Product Goal.
Daily Scrum
Daily Meetings consist of a 5-15 minute event every day where the team can inspect the progress in the short term. The time normally depends on the size of the team, but the idea is that the whole team participates to share what they have done the day before, what they are going to do that day, and if something is blocking their work. To adopt it as a routine and avoid complexity, it’s held time at the same place and time every day.
#FunFact about Daily Scrums is that several teams do a plank so that the meeting doesn't extend its time.
Daily Scrums improve communications, identify impediments, promote quick decision-making, and consequently eliminate the need for other meetings.
Sprint Review
The purpose of this event is to review what was accomplished in the Sprint. It enables to put a detailed look into the result of the work and the progress toward the Product Goal. With this information, the team collaboratively defines how to continue.
In Somnio Software we generally do the Sprint Review with the client where we go through the job done during the sprint. It's important to highlight that this event is a working session and the team shouldn’t approach it as a demo or a presentation.
Sprint Retrospective
The Sprint Retrospective's purpose is to take the time to evaluate the performance of the team, the work process, the tools used, and the quality of the outcome. The team collaborates together to identify the most important changes in order to increase quality and effectiveness. This way with each sprint retrospective the team becomes aware of new improvements and therefore the process is upgraded.
Final Thoughts: Embracing Scrum for Successful Team Collaboration and Improvement
Scrum is a framework that helps teams work together. It encourages teams to learn from experiences, organize, and continuously seek improvement.
While Scrum is most frequently used by software development teams, its principles and lessons can be implemented in all types of teams. For instance, in Somnio Software we use Scrum for all the areas in the company: development, marketing, design, human resources, and administration teams.
This is probably one of the reasons why Scrum is so popular. Scrum defines a guide with a set of meetings, tools, and roles that help teams structure and manage their work more productively.
Will adopting Scrum be a challenge? Of course. Will the benefits be multiple? Most likely. Remember that for Scrum to make a significant in your team it must be correctly implemented with all of its events and roles.
Are you using Scrum? Have you heard of this framework? Let us know in the comments!