Understanding Agile

Agile, Scrum, and Sprint — are these a new type of sport?

Dinda Inas
6 min readMar 23, 2021

We may have heard the word ‘agile’ being used quite a lot recently. Terminologically, it means able to move quickly or easily. But it doesn’t really explain what we’ve heard so far, is it? So what is it actually about? Is it a framework? A methodology? Or is it something wider than a software development scope?

Agile

Many people may understand agile as a specific way of developing software due to it being misused a lot. But it’s actually not, agile is not about how you must stand up on your daily meeting, or how you must use sticky notes on decision making, agile is not about that, those things are not what makes you agile.

Agile is a set of values and principles on how to develop software. It is a collection of beliefs that the team can use when doing any decision-making on their project. So it’s not a specific way of developing software, but it’s a value and principles that you hold on to while developing software. Below is the Agile Manifesto.

Agile Manifesto

We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

Principles of Agile

In addition to the values of the Manifesto, there are 12 principles of Agile. These principles do not strictly tell you what to do, but it helps you on making a good decision.

  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.

Now that you know it is a set of values and principles, it is clear that the real function of Agile is to give people a foundation on how to make decisions on developing software.

For example, a team may be in a discussion of how to gather requirements for a new project. By following the agile principles, the team would decide to work together daily with the client rather than having a contract of requirements.

Having these beliefs helps the team in decision-making what’s best for the software development.

How to be an Agile Team

To be an agile team, it is not by copying other team’s practices. It’s about implementing the Agile values and principles on practices that suit best for your team.

In my team, we have a twice-a-week stand-up meeting. This way, we carry out a face-to-face conversation and use it as an effective way to communicate the progress during the sprint. We also split our tasks to story points to be able to deliver work more frequently.

Scrum Methodology

One of the implementations of the Agile principles is the Scrum methodology. Scrum is a simple framework with effective team collaboration on complex projects. It contains roles, events, and artifacts.

Roles

There are three significant roles in the Scrum methodology.

https://www.scrum.org/resources/blog/how-do-3-scrum-roles-promote-self-organization

1. Product Owner

The product owner’s job is to define and sequence work that needs to be done by the team. They manage the product backlog of the project.

2. Scrum Master

The scrum master manages the scrum processes. They help to remove impediments that can slow down the team’s progress on finishing the tasks.

3. Development Team

The development team is those who implement or code the project. They code the tasks that are given to them on each sprint.

Event

A Sprint is a time-boxed event or fixed-length iteration that normally takes 2–4 weeks. Each sprint has many stages.

https://www.visual-paradigm.com/scrum/what-are-scrum-time-boxed-events/

1. Sprint Planning

In sprint planning, the whole team decides which work from the product backlog they want to complete during this week’s sprint. They may succeed or fail in finishing these works. If they fail, the unfinished work can be assigned to the next sprint.

In this stage, the team comes together to start the sprint is somewhat similar to the ‘Scrum’ terminology in Rugby.

2. Daily Scrum

In daily scrum, all the teams gathered together with the scrum master to talk about each other progress. Each person tells what they did yesterday, what they plan to do today, and if there is any obstacle while working on their task. Daily scrum takes around 15 minutes and usually called ‘Daily Stand-Up’ because some people really do stand up in their daily scrum to achieve more focus.

3. Sprint Review

In the sprint review, the team show what has been completed during the sprint and gain feedbacks from the stakeholders.

4. Sprint Resproctative

To be better in the upcoming sprint, in sprint resproctative, the team reflects on how things have gone on the previous sprint and how to improve in the next sprint.

Artifacts

In scrum methodology, there are several artifacts or documents that are being used.

1. Product Backlog

The product backlog is a list of things that the product owner wants. It’s a list of what the team needs to achieve or the team’s goals.

2. Sprint backlog

The sprint backlog is a list of the product backlog items that are selected to be completed in the current sprint. It usually selected during the sprint planning.

3. Increment

The increment is the thing that is actually delivered at the end of the sprint. It should be deployable and basically fulfill the meaning of “Done”.

And that’s that. Agile, Scrum, and Sprint. Even though they somewhat sound like sports terminologies, they have different meanings in the software development world. One thing though, that may be sport-related about them, is how fast-paced and collaborative these principles and methodology are.😊

--

--

Dinda Inas
0 Followers

undergraduate computer science student