When the waterfall software development method became outdated and the appearance of Agile manifesto by 17 independent-minded software practitioners in 2001 came into sight, there was a new framework that can adapt the values of Agile manifesto as well as reduce the drawbacks of waterfall software development. This framework is called SCRUM.
So what is SCRUM and how does it work?
In this article, we will bring to you a basic knowledge about SCRUM that may help you to understand this framework and apply it to your work.
1. What is SCRUM?
SCRUM is a framework that people can address complex and adaptive problems, while productively and creatively delivering products of the highest possible value.
SCRUM is a lightweight framework and simple to understand but difficult to master.
The SCRUM framework consists of a SCRUM team with their associated roles, events, artifacts and the rules. The rules bind all the roles, events and artifacts together, govern the relationships and interactions between them.
2. Three pillars and Five values of SCRUM
SCRUM is founded on empirical process control theory. It optimizes predictability and controls risks by using an iterative and incremental approach.
Three pillars of SCRUM:
- Transparency: In the process, essential aspects must be visible to people who are responsible for the outcome. Transparency make sure these aspects must be defined in a general standard so that observers can share a common understanding of what being seen
- Inspection: SCRUM team must frequently inspect the artifacts and progress toward to Sprint goal to detect undesirable variances
- Adaptation: If an inspector determines that one or more aspects of the process diverge from acceptable limits which lead to an unacceptable product, the process or the materials being processed must be adjusted as soon as possible.
Five values of SCRUM
- Commitment: Each individual in the SCRUM team commit to achieving the goals of the SCRUM team
- Courage: The members have the courage to do the right thing and work on tough problems
- Focus: Everyone must focus on the work of the Sprint and the goals of the SCRUM team
- Openness: All members of the team including the stakeholders agree to be open about all the work and the challenges.
- Respect: Team members respect each other to be capable and independent people
3. Roles in a SCRUM team
First thing first, we should understand that the SCRUM team is designed to optimize creativity, productivity, and flexibility. There are 2 characteristics of SCRUM, they are self-organizing and cross-functional:
- Self-organizing: the team chooses how to complete the work by themselves without being directed by people outside of the team
- Cross-functional: the team have all competencies to accomplish the work without depending on others not part of the team
There are 3 different roles in the team: Product Owner (PO), SCRUM Master (SM) and the development team
Product Owner (PO)
Product Owner is a sole person, not a committee. Main responsibilities of the PO are:
- Maximizing the value of the product resulting from the work of the Development team
- Managing the product backlog: Clarifying and giving the order of all product backlog items; ensuring that the product backlog is visible, transparent and clear to all and Development team understands the items in the Product backlog
Note: The whole team must respect the decisions of the Product Owner and all decisions are visible on content and the order of the Product backlog.
SCRUM Master (SM)
“What is SCRUM master?” — this may be the most frequently asked question when it comes to SCRUM. So in short, SCRUM Master is a servant-leader in the SCRUM team. SCRUM Master is responsible for promoting and supporting SCRUM: serve to the PO, serve to the Development team and serve to the Organization. Besides that, the SCRUM Master helps everyone understand SCRUM theory, practices, rules and values.
The development team consists of professionals who do the work of delivering a potentially releasable incremental product at the end of each Sprint. There are some characteristics of a Development team:
- No-titled in SCRUM
- No sub-team in SCRUM
- Accountability belongs to the team as a whole not as an individual
4. SCRUM events
What is Sprint?
Sprint is the heart of SCRUM, it is a time-box of one month or less during which a usable and potentially releasable product is created. There are 4 events happening in each sprint listed below
In this event, a plan of the work performed in the Sprint is created by the whole team. It is time-boxed to a maximum of 8 hours for a one-month Sprint. Responsibilities of SM in this event are making sure the event takes place; keeping it within time-box and ensuring the attendants understand the purpose.
In Sprint planning, there are 3 things that must be defined:
- What can be done in this Sprint?
- How will the chosen work get done?
- Goals of Sprint
Daily SCRUM is a 15-minutes time-boxed meeting for the Development Team. It is held every day at the same time and in the same place. The purpose of this is to optimize collaboration and performance by inspecting the work of yesterday and forecasting upcoming work. It helps every member of the team sync their tasks with each other and the progress of the sprint.
The Sprint Review is held at the end of each sprint to inspect the Increment of the Product and adapt the Product backlog. The SCRUM team and stakeholders collaborate about what was done in this sprint. The Sprint review can not last more than 4 hours for a one-month Sprint. The result of it is a revised Product Backlog that defines the probable Product Backlog Items for the next Sprint.
The sprint retrospective is held after the Sprint Review and before the next Sprint planning and last maximum 3 hours. It is an opportunity for the team to inspect and create a plan for improvement next Sprint.
In this event, the team will inspect how the last sprint went; identify the major items that went well and potential improvements then create the plan for implementing the improvements.
5. SCRUM artifacts
SCRUM’s artifacts represent the work or the value to provide transparency and opportunities for inspection and adaptation. They are designed to maximize transparency of important information so that everybody has the same understanding of the artifacts.
It is an ordered list of everything needed in the product. Each item in the Product backlog is a user story or task which describes the work that needs to be done to deliver the product.
The product backlog is dynamic and never complete. It evolves when the product and the environment evolves.
The Product Owner takes the responsibility for it, include: the content, the availability and the order
It is a list of selected product backlog items that define all work that the Development Team identifies as necessary to meet the Sprint Goal.
Only the Development team can change the Sprint Backlog during a Sprint. The Development team tracks the total work remaining in Sprint in Daily SCRUM to project the likelihood of achieving the Sprint Goal.
The increment is the sum of all Product Backlog Items completed during a Sprint and value of Increment of all previous Sprints. It is a step forward to the vision or the goal of Product
I hope this article has successfully answered the question “What is SCRUM” and has helped you understand the basic elements of it to apply in your real product or project.
At the moment, Designveloper is applying this method in its development process and receives many achievements thanks to this. If you are looking for a software outsourcing company, this team might be the right one! Tell us your ideas and we’ll make it come true!