agile top banner

The Definitive Guide to Scrum Framework

Read it in 20 Mins

Last updated on
06th May, 2021
Published
09th May, 2019
Views
8,148
The Definitive Guide to Scrum Framework

If you are new to the world of software development, then there is a likelihood that the terms “Scrum” and “Agile” will appear the same to you. But, there is a major distinction between the two.

Agile comprises of self-organisation, cross-functionality of the teams, collaboration and refers to the methods and practices based on the values and principles expressed in the ‘Agile Manifesto’.

Scrum is a framework that implements Agile development.

Simply put, Scrum is an iterative and incremental structure for project management mainly used in agile software development. The scrum methodology indicates functional software, the versatility to change accompanying with emerging communication, collaboration, and business realities.

If you are planning to put Scrum applications into practice in your team or organization, and are new to the concepts, then you have reached the right place. Read on to know the basics of Scrum, how it works along with in-depth detail on its frameworks, roles, and artifacts.

Understanding Scrum

Scrum is a framework with the help of which people can address complex problems and at the same time deliver products with the highest possible creativity and productivity.

Scrum is an agile way to manage projects, mostly emphasizing on software development. Many a time, it is perceived as a methodology, but it is a framework for managing processes, with its main focus on teamwork, accountability, and iterative progress to achieve a well-defined goal.

Scrum helps teams to work together in a better way. An example of the same would be a properly functioning Rugby team, where the team members are encouraged to-

  • Learn through their past experiences
  • Become self-organized while working on a problem
  • Reflect on their victory as well as loss in order to improve continuously.

Evolution of Scrum

Evolution of Scrum

There was a time once when the word ‘Scrum’ was used only as a rugby football term. Scrum is a technique to restart playing in Rugby, where players pack themselves closely together with their heads down in order to gain possession of the ball. This became the inspiration for the Scrum method in businesses. Let’s have a look at its history and how it came into being.

The Scrum concept dates back to 1986. That year, two Japanese business experts Hirotaka Takeuchi and Ikujiro Nonaka introduced the term ‘Scrum’ in the subject of product development. They published the article ‘New New Product Development Game’ in the Harvard Business Review, where they described an approach for commercializing product development which would increase speed and flexibility.

By taking real-life examples of companies like Honda, Canon, and Fuji-Xerox, who have achieved surpassing results using extensive, team-based techniques in product development, they emphasised more on self-organised teams and the role of management in the development process. This led to the birth of the concept of ‘Scrum’.

In 1995, Jeff Sutherland and Ken Schwaber presented a paper, ‘The Scrum Development Process’, at Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA) conference, 1995 in Austin, Texas.

In 2001, Sutherland and Schwaber, along with fifteen other colleagues, got together in Snowbird, Utah, where they drafted the Agile Manifesto. It acted as a revolution for the software developers around the globe, as now they had a new approach for creating new software.

Since then, the community of Scrum practitioners has grown and is continuing to grow exponentially, generating thousands of high-performing teams in organisations all around the globe. It is now used widely outside of software development as well, changing the world of work for better!

Why use Scrum

Using Scrum tools and processes in software development can be very beneficial for the organisation as the framework prefers to work and develop in short sprints. The major advantages of using Scrum are:

  1. Higher customer satisfaction: Sprints are short-spanned in Scrum. Hence, results are ready to be delivered and tested within a time span of 1-3 weeks. Scrum provides new features and corrections on a very frequent basis and collects feedback from its clients. This speeds up the process of fixing the bug, hence making the development process even faster. This keeps the customers satisfied.
  2. Increases the morale of the team: The teams are self-organised and self-managed. This allows the team members to be more innovative, creative and gives them acknowledgment for their work. They work in a cross-functional manner, helping them to learn new skills.
  3. Better exposure and improved progress visibility: All the members of the project team, including the stakeholders can know the updates of the project at any given time. Transparency helps the project team in identifying issues as well as making predictions about the progress of the project.
  4. Decreased time to market the product: Scrum has proved to deliver valued products to the customers 30 to 40 percent faster than the traditional methods.
  5. Increase in Return on Investment: The decrease in time to market the product is one of the major reasons for Scrum projects to receive a higher return on investment(ROI). The revenue starts coming in sooner,  which results in a higher total return over time.
  6. Better project control: The project performance is controlled by the Scrum team and corrections can be made by them. The priorities are adjusted by the Scrum teams at each sprint interval. This allows the team to address issues as they arise and get the requirements done as per necessity.
  7. More flexible and responsive: The requirements in the product backlog are unpredictable and volatile, unlike traditional models where requirements are fixed before the development process starts. This makes the business more responsive to the demands of the market.

How Scrum Training has benefited companies in the past

How Scrum Training has benefited companies

Organizations primarily focus on customer satisfaction in order to achieve success. Teams are self-organized in an Agile environment. They share ideas and collaborate their ideas to find solutions to produce high-quality products. But Agile is not a technique for success. It requires a framework and that is where Scrum plays its role.

Scrum has gained immense popularity amongst software development organisations. To name a few:

1. 3M

Also known as Minnesota Mining and Manufacturing Company, 3M is an American manufacturer that manufactures multiple numbers of products, ranging from electronic circuits to medical products.

According to 3M, they previously relied on the traditional Waterfall methodology for its software development process. When they wished to increase their speed of development of new applications and lower their cost of software product development, they were not satisfied with the Waterfall process. They decided to opt for Agile with Scrum methodology and went for it. With the self-organised teams, they were able to push priorities as deemed. Hence, Agile and Scrum proved worth the effort for them.

2. ANZ

The third-largest bank in Australia, Australia and New Zealand Banking Group (ANZ) has thousands of employees who work together to provide commercial and retail banking to its customers.

They adopted Agile with sprint framework in 2017 and since then, they have enjoyed the benefits of Agile. It now releases new functions and features on a monthly basis.

3. Spotify

Spotify provides music streaming service and has successfully implemented an Agile environment to attain positive results from the same.

Spotify has its employees divided into teams and each team is responsible for building and maintaining a specific function of the app. They don’t fear that one bad commitment will break the entire platform. This has resulted in Spotify becoming the leading music streaming service.

4. Google 

Google is a part of Alphabet Inc., which is the world’s second-biggest tech company. The main reason behind their success is the timely delivery of updates of its applications. Agile can be credited for this mindset.

With multiple applications like Gmail, Google Maps, etc. they all are needed to be first tested extensively before being released for the users.

One major example that can be taken from Google is that Google builds, works on, and improves its Android OS. They then release a beta version of the functioning Android OS for its users. It allows users to participate and give feedback. If the reports indicate bugs or usability issues, they fix it and an update is rolled back.

5. IBM

Being one of the biggest technology companies, IBM is known for creating computer hardware around the world. Scrum has also helped improve IBM’s business operations in such a manner that now it offers its own management software that integrates an agile development environment, known as IBM Rotational Team Concert.

Also known as the linear sequential life cycle, it was the first process model ever introduced. It was used in environments which were structured and weren’t adaptable to changes easily.

In the Waterfall Model, each stage or task is needed to be completed before the next task can start. This is done to avoid any overlapping of project stages and to maintain the flow in a single direction.

When it comes to the comparison between Waterfall and Scrum methods, a major drawback that Waterfall faces is that it doesn’t allow any changes or alterations. In case an issue occurs, it becomes very difficult to revisit the earlier stages. The project flow must follow the life-cycle as planned before making any changes. Since the market trend in today’s scenario changes on a regular basis, the Waterfall model becomes very difficult to sustain and implement.

How does Scrum work?

The Scrum Framework has three distinct categories: roles, events, and artifacts. Read along to know about these three categories and the importance of the Scrum Framework.

How does Scrum work

Scrum Framework: How it differs from Agile

Since Scrum is centered around steady improvements and is also the core principle of Agile, people often confuse between the two. There are even instances where people (especially those newly introduced to Scrum) use the terms “Agile” and “Scrum” interchangeably.

Hence before we begin to explain further, it is important to understand the differences between Agile and Scrum.

Scrum is a framework for getting things done while Agile is a mindset. One can use frameworks like Scrum to think the Agile way and build the agile principles in their day-to-day work and communication.

Scrum is regarded as an iterative, incremental framework. Let us understand why.

An iterative framework like Scrum is one that makes progress towards a defined goal mainly through successive refinements. In Scrum, the iteration happens in the following steps -

  1. The development team takes the first important step in any iteration.
  2. They write the code based on the collected requirements.
  3. Next, the team identifies and refines the weak areas in the code until the product is satisfactory.
  4. In every iteration, refinements are made, the code undergoes further changes, and the software is improved.
  5. The work in every iteration is improved in the upcoming iterations.

But, why is Scrum called an incremental process?

In Scrum, the software is developed and delivered in pieces, in small increments. Every new increment is nothing but a subset of the final software. Each increment is fully coded and tested. In other words, “completed” work is delivered throughout the project.

This explains why Scrum is regarded as an incremental process.

Read along and learn about Scrum roles, artifacts and events, and how they work together in order to deliver a product in the market.

Scrum Roles

The scrum framework defines three scrum roles, namely:

  • Scrum Team
  • Scrum Master
  • Scrum Product Owner

Scrum Roles

All of these roles have a defined set of responsibilities. They need to interact closely, work together and act according to their responsibilities to finish a project successfully.

Each of these roles is explained below:

Scrum Team

It is a group of individuals who work together to deliver the product as requested. They hold the responsibility to decide and delegate how a problem can be solved without the help of any team leader. The team as a whole decides how to address an issue and take care of it. The most effective scrum teams are close-knit, co-located, and small-scale. All team members have different skill sets and they help each other at any point needed to ensure a successful sprint completion.  

In order to work more efficiently, a Scrum Team should:

  • Follow a common goal
  • Adhere to the same rules and regulations
  • Respect everyone around

It is the responsibility of the scrum team as a whole to deliver the product in the committed time frame and with the desired quality. A good result or a non-success of the product is never credited to a single team member but always to the Scrum Team as a whole.

Characteristics of a Scrum Team:

Scrum teams have the following attributes:

  • The team as a whole is responsible for the delivery of the project
  • The Scrum Team is self-dependent and empowered
  • There aren’t any sub-teams under the Scrum Team
  • All team members are collocated
  • The skills within the Scrum Team are balanced
  • The team is cross-functional and holds mutual accountability

Scrum Master:

A Scrum Master is a part of the Scrum Team who holds the responsibility to ensure that the Scrum Team abides by the Scrum theory, rules and practices. He is not the same as a Team Leader. A Team Leader leads the team as well as assigns tasks to the team members, whereas a Scrum Master ensures that the team is working according to the rules and that they have understood the Scrum method entirely. They act as an advisor for the team and are on a continuous lookout for the team’s improvements.

Responsibilities of a Scrum Master:

A Scrum Master has several important responsibilities, to name a few:

  • Act as a coach for the Scrum Team
  • Make sure that the Scrum Team is protected from any external requests or disruptions
  • Facilitate the Scrum Events
  • Take measures to maximize the productivity of the team
  • Build trust and transparency
  • Ensure that there is proper communication between the Scrum Team and the Product Owner.

Product Owner:

The Product Owner plays a very crucial role in a Scrum team. He acts as an interface between the team and the stakeholders and is responsible to ensure that the work is being in the correct order to deliver a product of the highest possible value. He works very closely with the Scrum Team and coordinates their activities throughout the project.

Responsibilities of a Product Owner:

A Product Owner has several responsibilities:

  • Communicates with the stakeholders  (customers, marketing, etc.) and discusses the required functionality. These are then filtered and prioritized before being handed over to the team.
  • He is the only person who is allowed to manage the Scrum Product Backlog and keep it in the order of the priority.
  • Responsible for making it to the project goal, hence creating and maintaining the release plan.
  • Make sure that all members of the team understand what is required of the project.
  • The team reports the results to the Product Owner during the sprint review.
  • He makes the schedule, scope and trade-off decisions.
  • Responsible for the ROI of the product.

Scrum Events (Ceremonies)

Scrum Events

To create regularity and to minimize the need for undefined meetings in Scrum, there are a few prescribed events in Scrum. All of these events are time-boxed and are conducted on a regular basis. The Scrum Events are stated below:

  • Sprint
  • Sprint Planning
  • Daily Scrum Meetings
  • Sprint Review
  • Sprint Retrospective

Sprint:

 A Sprint is a time-boxed period in which specific work is completed, that is, the team works together to develop a product incrementally. Sprints are usually of a duration of one month or less. A new Sprint starts as soon as the previous Sprint gets over. The main motive behind a Sprint is to provide a pattern to work on for the team.

Sprint Planning: 

A Sprint Planning is a meeting where the Product Owner along with the Development Team discusses the prioritization of the product backlog items and plans the delivery of the final product. It occurs at the beginning of a sprint. The work that is to be performed in a sprint is discussed and planned in this meeting. It is the responsibility of the Scrum master to make sure that the meeting takes place and that the team understands the purpose.  

The necessary inputs for Sprint Planning are:

  • Product Backlog
  • Constraints
  • Sprint Goal
  • Team capabilities

Daily Scrum Meeting:

 A daily scrum meeting is commonly termed as a daily stand-up meeting, where all team members meet to discuss their progress since the last stand-up meet. It is a time-boxed meeting of 15 minutes.

The main objective of this meeting is to discuss:

  • Work in progress
  • Create a plan for the next 24 hours.
  • Sprint backlogs, if any
  • Any new information

Sprint Review: 

After the end of each Sprint, the development team along with the stakeholders hold a session to discuss the updates of the backlog items and receive feedback for the same. This session is known as the Sprint Review.

The possible outcomes of the Sprint Review are:

  • Demonstrate the results of the sprints
  • Revised Product Backlog
  • Cancel any further development, if needed
  • Respond to questions
  • Receive feedback
  • Resolve the impediments

The final result of the Sprint Review is the revised Product Backlog, which acts as the Product Backlog for the upcoming sprint.

Sprint Retrospective: 

The Sprint Retrospective is a technique which is used for continuous improvement. It is conducted after the Sprint Review, preceding the upcoming Sprint Planning. In this meet, the Scrum Team examines the previous sprint and creates a plan for enhancement which can be put into action in the upcoming sprint. The Development Team, Product Owner and Scrum Master participate in this meet.

The important inputs are:

  • Data about team performance
  • Improvement backlog
  • The focus of the team

Scrum Artifacts

The Scrum Artifacts present the development team and the stakeholders with the key information that they need to be aware of. The main objective of the Scrum Artifacts is to provide transparency and opportunities for inspection and adaptation. It reflects a team’s progress towards the sprint goal.

The Scrum framework defines three artifacts:

  • Product Backlog
  • Sprint Backlog
  • Product Increment

Scrum Artifacts

Product Backlog: 

Product Backlog outlines all the requirements that are needed for a project, product or system. It can be considered as a to-do list of all the changes that are to be made to a project. The Product Owner is responsible for the Product Backlog, where he can add, change and re-prioritize the tasks as needed. It is a living artifact as the requirements never stop changing. Any changes in the business requirements, market conditions or technology may result in changes in the Product Backlog.

A Product Backlog may contain functional, non-functional, infrastructural, and architectural elements. They also work on the important risks that are needed to be removed or mitigated.

The Product Backlog is refined and revised periodically so that it can be helpful for the next level of planning. This is known as Product Backlog Refinement. The Development Team along with the Product Owner estimate the items in it, which includes order, description, estimate, and value.

The major activities involved during the backlog refinement are:

  • Asking questions to the product owner for precise information
  • Creating new user stories
  • Deleting stories that are no longer required
  • Estimating or re-estimating the user stories
  • Refining stories for preparation of future sprints
  • Re-prioritising the stories
  • Reviewing the highest priority stories

Sprint Backlog: 

A Sprint Backlog is a list of items that are taken from the Product Backlog which are to be completed within a Sprint. It also contains a plan to deliver the product increment and to realize the sprint goal. The development team plans and gives a forecast about the changes or increment in the functionality that will happen during the sprint, along with the work that is required to deliver the implemented functionality.

The Development Team is responsible for creating and maintaining the Sprint Backlog. As soon as new work comes in, the development team adds it to the Sprint Backlog. The team can change, add, remove or modify the tasks any time as needed. The scrum master can give advice and make suggestions about any missing task(s).

The Sprint Backlog needs to be updated by the team at least once every day. A sprint starts only when all the team members agree on the fact that the Sprint Backlog is achievable.

The Sprint Backlog can be monitored and the work which is remaining can be calculated. By doing this, the likelihood of successfully achieving the Sprint Goal can be concluded as well, which will help the development team to manage its progress.

Product Increment: 

Product Increment is the most important Scrum Artifact. It is the sum of all the Product Backlog items that have been completed in the sprint along with the values of the increments produced in the previous sprints. An increment is the product of a project which is potentially shippable. It should be acceptable by the Product Owner regardless of whenever he decides to release it.

Challenges faced in applying Scrum and how to overcome them

Challenges faced in applying Scrum and how to overcome

Mastering the rules and practices of Scrum is not that simple. It will require a lot of time and effort to do so.

Scrum doesn’t promise to fix all problems, but it helps bring them out in the open. Scrum can be mastered by facing different challenges and overcoming them. Scrum will certainly not fail you in doing so as it is designed to work for you, as long as you know how to make it work.

Let’s address the common challenges that teams and organisations face during the implementation of Scrum and look at the possible solutions.

1. Resistance to change

Organisations are generally resistant to changes. Change can be difficult and uncomfortable, hence people generally avoid it. Scrum may prove to be challenging to deploy for established organisations. The major challenge that they face is the change from yearly or semi-annual releases to weekly iterations. For an organisation to start using Scrum, it will require a shift in the fundamental mindset which will change the old habits and bring along new, more effective ones.

Get out of comfort zone: It is very important to understand what an individual’s true feelings are towards adopting Scrum and why they resist changes. Learn about them and find measures to help them overcome it.
An incremental approach can be observed as well. Start small, that is, involve one team and showcase their results. Let their experience inspire others.

2. Distributed team

A major issue that a distributed (Scrum) team faces is communication. Conflicting working hours and a difference in time zones may diminish the overall effectiveness of the team, making collaboration difficult in many cases. Lack of communication may cause delays or unnecessary errors, which can lead to poor sustainability, ultimately affecting productivity.

Everyone should be on the same page: It is very important to be considerate of the fact that team members of different nationalities will have different traditions. Apart from this, coordination and trust are very important as well. One can also take the following practical measures:

  • A boot camp can be conducted where the whole team can come together. These sessions can give an understanding of a customer’s requirements and goals.
  • Designated members can be relocated to different places, where they can work with the resident team on a temporary basis.
  • Team members working in different time zones should be provided with different facilities like video conferencing, instant messaging software, and desktop-sharing abilities.
  • Teams can be paired across different locations. It functions in a way that when one member is clocking off for the day, his corresponding team member may be starting his day across the globe. He can take over the work and continue working.

3. Handling bugs and high-priority tasks: 

One can receive unexpected and urgent requests from stakeholders and customers. Bugs might also arise in the process. Some of these can be added to the Backlog, though it is recommended not to add all of them. They might be needed to be taken care of as soon as possible.

Assign a person for the same and allow more time for bug fixing: Assign a person from the team who will focus all of his attention on tasks like fixing bugs, responding to urgent requests, etc. Also, with the development of progress, increase the time allocated for bug fixing.

Scrum Vs Kanban

Agile is a set of principles and ideas while Scrum and Kanban are frameworks that help teams and organizations to put these agile principles and values into practice to get things done.

Kanban and Scrum follow the same principles, while their practices differ. The main aim behind both of these frameworks is to help you build better products.

Kanban in a nutshell:

Kanban is a tool which is used to organize work so that efficiency can be improved. Like Scrum, Kanban breaks down its work into small chunks and makes use of a Kanban Board. The Kanban Board is used to keep track of the work as it advances through the workflow. It not only displays the workflow but also optimizes the flow of tasks within different teams. The work to be done is time-bounded in Scrum, whereas Kanban limits the amount of work to be done in a condition, that is, it limits the ongoing tasks and the to-do list. Kanban visualizes the work and limits the work in progress so that the efficiency can be improved.

There are several differences in the philosophies and practical applications of Kanban and Scrum, as well as many individual differences. Let’s have a look at them.

ScrumFactorKanban
The Scrum Team consists of the Scrum Master, Product Owner, and the Development Team.Team RolesThere are no defined roles in a Kanban Team. The roles need not be cross-functional.
Each sprint is estimated or planned based on the Backlog Sheet.Work BoardWorkflow/ Work Item/ Kanban Board is used to track the work.
Scrum emphasises on regular, fixed sprints.ScheduleThere is no iteration or time-boxing in Kanban. It has a continuous flow.
No changes are made during the Sprints.Change philosophyChanges can happen at any time during the process.
Releases are made at the end of each sprint.ReleaseThere is a continuous delivery in Kanban.
Best applicable for teams which have stable priorities that will not change much over time.ApplicationBest applicable for projects which have a lot of varying priorities.
Productivity is measured using velocity through sprints.Productivity MeasurementMeasures productivity by measuring the amount of time that a team takes to complete a piece of the project from the starting till the end.

List of Scrum certifications

Scrum Master certification is one of the oldest and also the most popular certification in Agile. Certifications help and are needed because they are a confirmation on the implementation and also a verification of the knowledge gained.

They validate your knowledge in Agile and Scrum.

The most popular certification programs are:

  1. Certified ScrumMaster® (CSM: Scrum Alliance)
  2. Certified Scrum Product Owner® (CSPO: Scrum Alliance)
  3. Certified Scrum Professional® (CSP: Scrum Alliance)
  4. SAFe® Agilist (SA)
  5. SAFe® Program Consultant (SPC4)
  6. Professional Scrum Master™ (PSM: Scrum.org)
  7. Certified Scrum Developer® (CSD: Scrum Alliance)
  8. LeSS (Large Scale Scrum)
  9. Scrum Master Certified (SMC™)
  10. Certified Agile Leader (CAL: Scrum Alliance)
  11. SAFe® 4.0 Advanced Scrum Master
  12. SAFe® 4.0 for Teams
  13. Professional Scrum Product Owner™ (PSPO: Scrum.org )
  14. SAFe® 4.0 Product Manager/Product Owner

Most of the basic certifications do not require any experience as a Scrum Master and can be taken up directly after completing training. However, the Advanced certifications require completion of basic certification and work experience ranging from a minimum of 1 to 2 years.

In conclusion

The Scrum Framework is simple and easy to understand, and so are the rules, artifacts, roles, and events. Scrum doesn’t keep a count of the amount of time that you have spent working but measures the tasks that have been accomplished. It makes one more efficient with their time and work.

It is ideal for complex and difficult projects as the tasks are broken down into small user stories. The transparency throughout the development cycle along with the distribution of roles and planned events are added advantages. Progress can be observed in a small amount of time which might even lead to quick releases.

But, if the team is accustomed to the traditional Waterfall model, then they might feel difficulty in adopting Scrum. But the long-term benefits outweigh the problems faced in the initial learning curve, making it a cogent framework to adopt for your organization.

Profile

KnowledgeHut

Author
KnowledgeHut is an outcome-focused global ed-tech company. We help organizations and professionals unlock excellence through skills development. We offer training solutions under the people and process, data science, full-stack development, cybersecurity, future technologies and digital transformation verticals.