Scrum: an Agile Software Development Method

Mahdia Aliyya
4 min readApr 5, 2021

As software developers, we often find problems when it comes to working in a team and finishing a project. We may be faced changes in requirements, features unmet, and working ineffectively. In this article, I will give you a walkthrough of one of the most popular Agile product development frameworks, Scrum.

A little bit about Agile

Agile is a methodology based on iterative development that encourages adaptation to the team. It follows this mindset called Agile Manifesto:

  • Ability to create and respond to change over following a plan
  • Individual and team interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation

Scrum Overview

Scrum is one of the implementations of Agile method. It is a framework to help teams work together and be more effective and adaptive in working on complicated projects. This framework encourages teams to learn through experiences, self-organize while working on a problem, and improve themselves by reflecting on their wins and losses. The graphic below represents the Scrum framework as described by Ken Schwaber and Jeff Sutherland.

source: Scrum.org

Commitment, Focus, Openness, Respect, and Courage.

Those five points above are the core values of Scrum. Scrum Team commit to achieving their goal and focus on the sprint to make the best possible progress towards these goals. They are open to challenges, respect each team member and have the courage to work on tough problems.

Roles and Responsibilities in a Scrum Team

In a Scrum Team, there are no hierarchies. A Scrum Team consists of One Product Owner, One Scrum Master, and Developers. They all work together with their own skillset to focus on one objective at a time, the Product Goal

Product Owner

Product Owner is responsible to:

  • Maximizing the value of the product
  • Developing and communicating the Product Goal
  • Managing the effectiveness of Product Backlog
  • Stakeholder management

Scrum Master

Scrum Master is the one who keeps and maintains the Scrum process. They are responsible to make the process run smoothly by removing and productive. Scrum Master responsibilities include :

  • Helping Scrum Team focus on creating high-value increments that meets the Definition of Done
  • Removing obstacles that held the team productivity
  • Facilitate and organize meetings

Developers

The development team needs to be able to self-organize so they can make decisions to get work done. Their responsibilities include:

  • Delivering the work through the sprint.
  • To ensure transparency during the sprint they meet daily at the daily scrum

Scrum Events

Sprint

In Scrum, a product is built in a series of iterations called sprints that break down big, complex projects into bite-sized pieces. A Sprint is a short, fixed-length time period when a scrum team works to finish a set amount of work. Sprint Planning, Daily Scrums, Sprint Review, and Sprint Retrospective are all happening within Sprints. During a Sprint:

  • No changes are made to the Sprint Goal
  • Product Backlog is refined as needed
  • The scope may be clarified and renegotiated with the Product Owner

Sprint Planning

Sprint Planning is done at the beginning of a sprint. It is an event where the team defines what can be delivered in a sprint or the Sprint Goal, and how to achieve it. In Sprint Planning:

  • (Why) Product Owner describes the objective/goal of the sprint, what are the backlog items, its priorities, and why the sprint is valuable.
  • (What) Developers select items from the Product Backlog to include in the current Sprint
  • (How) For each selected Product Backlog item, the Developers plan the work necessary to create an Increment that meets the Definition of Done.

Daily Scrum

Daily scrum is designed to quickly inform everyone of what’s going on across the team. It is held at the same time every day. In a daily scrum, each team member should answer these question:

  • What did I complete yesterday?
  • What will I work on today?
  • What are the problems I am facing?

Although those three questions are not necessary, the main intention of Daily Scrum is to focus on progress toward the Sprint Goal and produces an actionable plan for the next day of work.

Sprint Review

Sprint review is a time to showcase the work of the team to the product owner and other stakeholders. To have a sprint review, work should be fully demonstrable and meet the team’s quality bar to be considered complete and ready to showcase in the review.

Sprint Retrospective

At the end of a sprint, Sprint Retrospectives help the team understand what worked well–and what didn’t.

Scrum Artifacts

Product Backlog

Commitment: Product Goal

A Product Backlog is a prioritized list of everything that might be needed in the product. The development team pulls work from the product backlog every sprint. The Product Backlog defines what will fulfill the Product Goal.

Sprint Backlog

Commitment: Sprint Goal

The Sprint Backlog is a plan by and for the Developers. It is composed of the Sprint Goal, the set of Product Backlog items selected for the Sprint, as well as an actionable plan for delivering the Increment.

Increment

Commitment: Definition of Done

An Increment is a concrete stepping stone toward the Product Goal. Each Increment is additive to all prior Increments and thoroughly verified, ensuring that all Increments work together. Development Teams deliver an Increment of product functionality every Sprint.

References

--

--