Stay Agile with Scrum

Ivan Taftazani
Electronic Logbook
Published in
5 min readJun 6, 2021
Agile, from business2community.com

If you came accross this article, chances are you’re familiar with software development process in some way. If that’s the case, terms such as Scrum and Agile shouldn’t sound too foreign to you. How can it not? Agile has been one of the most popular methology in practicing software development because of its flexibility, efficiency, and transparency. Be that as it may, there’s a chance that you’re still completely unfamiliar with these terminologies…but hey, that’s why we’re here, right?

What is Agile?

Agile software development is an umbrella term for a set of frameworks and practices based on the values and principles expressed in the Manifesto for Agile Software Development and the 12 Principles behind it. — agilealliance.org

In short, agile is a set of frameworks that hinges on the agile manifesto and principles. So let’s talk about the backbone of agile, the manufesto itself. The manifesto consists of four important values.

The Agile Manifesto, from agilealliace.org

The twelve principles derived from that manifesto is as follows:

  1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
  2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
  3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
  4. Business people and developers must work together daily throughout the project.
  5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
  6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
  7. Working software is the primary measure of progress.
  8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
  9. Continuous attention to technical excellence and good design enhances agility.
  10. Simplicity–the art of maximizing the amount of work not done–is essential.
  11. The best architectures, requirements, and designs emerge from self-organizing teams.
  12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

That pretty much underlines what agile is. I know, it’s a BIG underline, which is why we have chosen one methodology — scrum — as an example of a practice in agile development.

What is Scrum?

Scrum, from visual-paradigm.com

Scrum is a framework within which people can address complex adaptive problems, while productively and creatively delivering products of the highest possible value. — scrum.org

Scrum co-creators Ken Schwaber and Jeff Sutherland have written The Scrum Guide to explain Scrum clearly and succinctly. This Guide contains the definition of Scrum. This definition consists of Scrum’s accountabilities, events, artifacts, and the rules that bind them together.

To better understand scrum let’s first talk about the elements of scrum.

The Scrum Team

The fundamental unit of Scrum is a small team of people, a Scrum Team, which consisnts of:

  1. Scrum Master. The Scrum Master is accountable for establishing Scrum as defined in the Scrum Guide. They do this by helping everyone understand Scrum theory and practice, both within the Scrum Team and the organization.
  2. Product Owner. A Scrum Product Owner is accountable for maximizing the value of the product resulting from the work of the Scrum Team. How this is done may vary widely across organizations, Scrum Teams, and individuals.
  3. Developers. Developers are the people in the Scrum Team that are committed to creating any aspect of a usable Increment each Sprint.

Within a Scrum Team, there are no sub-teams or hierarchies. It is a cohesive unit of professionals focused on one objective at a time, the Product Goal.

The Scrum Artifacts

Scrum’s artifacts represent work or value to provide transparency and opportunities for inspection and adaptation. The Scrum Artifacts are:

  1. Product Backlog Items. The Product Backlog is an emergent, ordered list of what is needed to improve the product. It is the single source of work undertaken by the Scrum Team.
  2. Sprint Backlog. The Sprint Backlog is composed of the Sprint Goal (why), the set of Product Backlog items selected for the Sprint (what), as well as an actionable plan for delivering the Increment (how).
  3. Increment. 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.

The Scrum Events

The scrum process is done in a cycle called sprints. They are fixed length events of one month or less to create consistency. A new Sprint starts immediately after the conclusion of the previous Sprint. In each sprint, there are certain fundamental events that must be done:

  1. Sprint Planning. Sprint Planning initiates the Sprint by laying out the work to be performed for the Sprint. This resulting plan is created by the collaborative work of the entire Scrum Team.
  2. Daily Scrum. The Daily Scrum is a 15-minute event for the Developers of the Scrum Team. The purpose of the Daily Scrum is to inspect progress toward the Sprint Goal and adapt the Sprint Backlog as necessary, adjusting the upcoming planned work.
  3. Sprint Review. The purpose of the Sprint Review is to inspect the outcome of the Sprint and determine future adaptations. The Scrum Team presents the results of their work to key stakeholders and progress toward the Product Goal is discussed.
  4. Sprint Retrospective. The purpose of the Sprint Retrospective is to plan ways to increase quality and effectiveness. While the sprint review is focused on the product, the sprint retrospective focuses more on the process of producing said products.

After understanding all of the Scrum Elements, let’s define in a nutshell what scrum is. Scrum requires a Scrum Master to foster an environment where:

  1. A Product Owner orders the work for a complex problem into a Product Backlog.
  2. The Scrum Team turns a selection of the work into an Increment of value during a Sprint.
  3. The Scrum Team and its stakeholders inspect the results and adjust for the next Sprint.
  4. Repeat

That is all I’ve got for you. Hopefully the information gathered would be useful in practicing the corresponding methodologies.

References:

  1. agilealliance.org
  2. scrum.org

--

--

Ivan Taftazani
Electronic Logbook

Computer Science Student from University of Indonesia