What is Scrum? The common answer to this question sounds like this: Scrum is one of the most famous Agile methodologies used in software development. Is it true? Not exactly.
In this article, we will explain the main principles and elements of Scrum and how to set-up processes for a startup that recently launched its software product.
The authors of the Scrum Guide tell us that Scrum is “a framework within which people can address complex adaptive problems, while productively and creatively delivering products of the highest possible value”.
According to the definition, Scrum isn’t a methodology. It is a management framework that could be used in different projects besides the custom software development. It’s true that Scrum is one of the most popular and famous ways of applying Agile principles to project management. A lot of software development projects are managed as per the Scrum framework. Let’s take a closer look at this popular framework and describe its main elements.
The main elements of the Scrum
Using Scrum could be your way to carry out your project with the highest possible value. It gives you the opportunity to apply the main Agile principles and advantages. Scrum process is iterative (the product is produced during the small cycles called sprints) and incremental (the functionality of the product increases during each iteration by adding new features). It allows changes and encourages feedback. However, using Scrum requires some special knowledge, since it uses its own terminology and some specific procedural steps. Scrum framework has many elements but none of them is random and unnecessary.
Scrum leans on three fundamental parts: roles, artifacts, and meetings.
Let’s now check the main elements of Scrum.
Three major Scrum roles.
Product owner. The person is in charge of documenting and prioritizing product requirements. The product owner creates the product backlog and handles communications with team members regarding:
- explanation of business needs;
- negotiation of the workload assigned to the team on the sprint;
- inspecting the work at the end of each sprint and the project
Scrum master. The team member responsible for the Scrum processes` implementation, coordination of the team activities, and removing obstacles that can prevent accomplishing the sprint goals.
Team members. These are the people who fulfill do all the project tasks. Typically, the team consists of 7±2 members. They create a cross-functional and disciplined dedicated software development team, who come from different backgrounds and areas.
Three major Scrum artifacts
The product backlog. It is a list of the project requirements that includes short descriptions of all desired functionality. User Stories -short and simple descriptions of product features described from the user’s point – are usually the main elements of Scrum backlog. The classical structure of a User story could be presented by the following template:
As a <type of user/role>, I want <the goal/desire> so that <benefit/reason>.
Stories contain multiple types of work. Some of them could be big and complicated and in this case, they are called “Epics”. Once the User Stories for the backlog are completed, they need to be estimated (time need to realize in hours or Story points) and prioritized (according to different criteria) (ref to our posts). Also, the backlog could have some tasks that are not connected with product features for the users but are required. It could be technical tasks, essential bugs.
The sprint backlog. It is a list of requirements chosen by the team during the Sprint Planning meeting and should be fulfilled during the next sprint. The team needs a list of User Stories with the priorities and estimation equal to the team velocity. In sprint backlog, User Stories can be detailed and broken down into separate tasks.
The product increment. The product is the ultimate measure of progress. Each sprint should add functionality to the product while each product increment creates some business value for the organization.
Other artifacts. Sometimes Scrum teams can have some additional artifacts like sprint burn-down charts and product burn-down charts.
Four major Scrum meetings.
The planning meeting. This is a negotiation between the product owner and the team members. During the meeting, the product owner presents the prioritized product backlog, explains some tasks, and asks the team to choose the tasks for the next sprint. The result of this meeting is a sprint backlog that is agreed by the team and clear to all team members.
The daily Scrum meeting. Short daily meeting (10-15 min) with all team members and Scrum master (the product owner participation is optional). Each participant in meeting reports the completed the other daily tasks, what he/she is going to do today and what problems the person has. This meeting helps ensure that all team members are on the same page, the obstacles are known and what efforts are made to solve the problems.
The review meeting (the demo meeting). This meeting takes place at the end of each sprint. The team demonstrates to the product owner what was done during the last sprint. The product owner determines whether the entire sprint backlog is covered or not. If some User Story wasn’t done it could be put back to the Product backlog.
The retrospective meeting. The meeting is held at the end of the sprint and/or at the end of the project. The team and Scrum master discuss the project process, analyze what was good, what could be improved, and how to make the teamwork more efficient.
The main Scrum process
The Scrum model suggests the project progress be run via a series of iterations, called sprints. According to the Agile principles, product increment is produced at the end of each sprint. Sprints should be time-limited. The recommended time is 2 weeks, but in some cases, a sprint can be shorter (1 week), or longer (3 or 4 weeks).
The Scrum process from the start of the project to the end of the first sprint is demonstrated in the diagram below.
As you can see there are no elements (roles, artifacts, meetings) of the Scrum process that are random or unnecessary. The full Scrum process is not very difficult to explain but not easy to implement with good output. So, the necessity of using Scrum firstly depends on the project type and goal.
What kind of projects are most compliant with Scrum
Using this framework for your project could be a good choice. However, Scrum is one of the ways of Agile methodology implementation that is not suitable for all types of projects. As we discussed in our previous post choosing the right approach to managing projects is a very important task. According to best practices in the software development industry, the most appropriate projects for Scrum are ones with a strict deadline, frequent requirements` changes, and those connected with the development of the new products, like startup projects. For these project kinds, the Scrum framework can be really the best choice.
Are you ready to scale up your startup? Let us know.