Introduction to Scrum
October 5, 2020
Scrum is an agile framework for developing products. The framework is mostly used for software development. Scrum has been in use since the early 1990s. It is a flexible and holistic approach to project management. Scrum focuses on continuous improvement, learning, and adjusting to the changing market, user requirements, and technology.
Typically, a scrum team is a small team made of highly adaptive and flexible individuals. The agile framework is an iterative approach to project management. An agile framework helps a team deliver a product to the customer faster, in different iterations. Customer feedback is critical in every iteration. There are several agile frameworks, such as Kanban and Scrum. The article will cover:
Scrum has a few rules which are simple to understand. Yet, scrum is challenging to master because it requires a culture change, which is not easy for most organizations. Scrum involves a set of events, tools, and roles that work together to help teams structure and manage a project.
It is used in different fields, including marketing, manufacturing, and software development. In this article, we will focus on examples used in software development. Within software development, requirements, market, technology, and other external factors change quite often. Scrum embraces the changes as the product is built in a series of iterations called sprints.
Big projects are broken into smaller pieces that are delivered in several sprints, making the project easier to manage. Risk and cost are also reduced, as it is easier to identify risks in the early development stages. Every sprint is released to users, and feedback is collected. Speed to market is also increased. Scrum is all about continuous learning and adapting to changes. The team does not know everything about the project. Therefore, adaptation to changes is critical.
The image below is a graphical summary of the Scrum framework. If your organization would use Scrum, where would your input be? After going through this article, I bet you will be able to answer the question.
According to the Scrum Guide, the roles in Scrum are:
- Product Owner
- Scrum Master
- The Development Team
The team is cross-functional and self-organizing in the sense that it does not require a manager. The team works without outside interference. The team decides how best to accomplish the work and has all the necessary expertise to do it.
The Product Owner
The product owner plays in the part of a client or stakeholder. He/She is one person and not a group of people. He or she is responsible for managing the product backlog by clearly expressing items that need to be addressed. The product owner ensures that the product backlog items are clear for the development team.
The Development Team
It is a team with the necessary skills to create a product increment by itself. That is why it is said to be cross-functional and self-organizing. Members lay multiple roles such as design, business analysis, operations, programming, and testing. Thus, the team recognizes no title for any of its members. Team members may have some particular competencies and areas of specialization, but they are accountable as one. The team size can consist from three to nine members.
The Scrum Master
The scrum master is a “servant leader” responsible for protecting the team and the process. The scrum master helps everyone understands the scrum framework as defined in the scrum guide. Other responsibilities include:
- Ensuring a good working bond between the development team and the product owner
- Protecting the team from outside interactions and disruptions
- Facilitating scrum events
- Providing optimal techniques for optimal product backlog management
- Removing any obstacle that may affect the development team progress
There are five different formal meetings or events in the scrum. Each event is time-bound to a maximum duration. Strict scrum events reduces the need of meetings that are not defined in the scrum framework. The events are created to foster transparency and inspection within the scrum team.
The sprint is the backbone of scrum. A sprint takes 1 to 4 weeks. During this period, a potentially shippable product increment is created. A list of product backlog items, selected during sprint planning, are worked on during each sprint. A new sprint starts immediately after the end of the previous one. If a sprint took more than a month, the definition or market of what is being developed might change, increasing complexity and risk.
Each successful sprint constitutes an increment in the final product. Can a sprint be revoked? Yes, but a sprint can only be canceled by the product owner. In such a scenario, completed and “done” product backlog items are revaluated. Partially done items are re-estimated and rescheduled to the product backlog. Cancellation of a sprint is rare and should be avoided.
The scrum team discuss the items to be worked on during the sprint and creates a sprint goal. Top priority product backlog items to be worked on during the sprint are selected. The primary purpose of Sprint Planning is to address “What can be done during the next sprint?” and “How to do the work required to provide the increment?” Sprint planning takes at most eight hours for a four weeks Sprint.
It is a fifteen-minute Stand-up event for the development team held daily. Preferably, it should be held at the same venue and time. The team discusses what they have completed in the last 24 hours and plan for the next 24 hours’ work. A check on the progress towards the sprint goals is also done in the stand-up meeting.
Sprint Review is held towards the end of the Sprint. This is an opportunity for the team to showcase the completed work to the product owner and partners. This review process is meant to encourage collaboration and to get feedback. It takes at most four hours for a one-month sprint. The development team discuss what worked out during the sprint, the challenges encountered, and how they were addressed. They also discuss how they will improve the process in the future. Sprint review provides important input to the upcoming sprint planning. The deliverable of a Sprint Review is an updated product backlog items for the coming sprint.
The event happens before the next sprint planning. It takes at most three hours for a one-month Sprint. The scrum team discusses the following:
- What worked well?
- What could be improved?
- What will the team commit in the next sprint?
Scrum Team members make actionable commitments. The deliverables of this meeting are improvements to be implemented in the next sprint by the Scrum Team.
In Scrum, artifacts are there to ensure and maximize the transparency of information. Every team member must have the same interpretation of an artifact.
The product backlog consists of a list of features, functions, enhancements, and fixes needed. It is the only source of requirements for the Scrum Team. The product owner is responsible for its content, availability, and ordering. Since the requirement never stops changing, so does the product backlog. All the requirements are broken down, with the most prioritized at the top.
The current sprint backlog items are selected from high priority features in the product backlog. It is the output of the sprint planning event. The sprint backlog is modified throughout the sprint. Burndown charts are used to monitor sprint progress. A burndown chart shows the relationship between work left to do and time. See the diagram below.
The sum of all product backlog completed and “done” during a sprint is referred to as an increment. Each Scrum Team has a definition of “done.” “Done” means in a usable condition as per the Scrum Team definition.
Why Use Scrum?
There are many reasons why we should use Scrum:
- Faster release of usable products to the users and customers. After every increment, the customer can have an early release of the product. This is contrary to the traditional waterfall approach. In the Waterfall approach the product is shipped to the customer after the last stage of development.
- Scrum saves time and cost: With reduced meetings and small manageable teams, scrum reduces cost and time.
- Scrum encourages teamwork: There is a sense of responsibility in the self-organizing team. Collaboration and daily stand up meetings give every member a chance to have their ideas addressed.
- It is easy to learn and use: As discussed, there are only three roles in the framework, thus easy to learn and implement.
Scrum framework rules, artifacts, roles, and events are easy to understand. Each successful Sprint makes the team motivated and keeps the user happy as the progress is seen in short durations. Scrum is indeed an excellent agile project management framework for any organization. However, it takes time to master Scrum, but the long-term benefits are well worth getting through the learning curve. Online collaboration tools to help you master scrum faster are also available. Some of them include ScrumDo, Quickscrum, Scrumwise, Tuleap, Targetprocess, and Vivifyscrum.
Peer Review Contributions by: Linus Muema
About the authorBenson Kariuki
Benson Kariuki is a graduate computer science student. He is a passionate and solution-oriented computer scientist. His interests are Web Development with WordPress, Big Data, and Machine Learning.