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.
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-
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!
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:
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:
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.
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.
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.
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.
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.
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.
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 –
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.
The scrum framework defines three scrum roles, namely:
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:
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:
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.
Scrum teams have the following attributes:
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.
A Scrum Master has several important responsibilities, to name a few:
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.
A Product Owner has several responsibilities:
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:
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.
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:
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:
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:
The final result of the Sprint Review is the revised Product Backlog, which acts as the Product Backlog for the upcoming sprint.
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:
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 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:
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 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.
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.
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.
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:
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.
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 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.
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.
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.
Research & References of The Definitive Guide to Scrum Framework|A&C Accounting And Tax Services
Source
0 Comments