Agile and Scrum

Understand Agile and Scrum better

Gus Reksoprodjo
6 min readNov 28, 2021
Source: Irfan Simsar

In software development, you must have heard the term “agile” and “scrum”. Maybe you think that both terms mean the same thing; however, they don’t. Both play important parts in software development; making it easier and achievable.

What is Agile?

Agile is an iterative approach to project management and software development that helps teams achieve their deliverables quickly with great maintainability. Agile is widely used in many projects and software development due to its adaptive and its flexibility. Agile is preferred compared to the traditional “waterfall” approach because it calls for open communication, collaboration, adaptation, and trust amongst team members.

Agile Manifesto

Agile has a manifesto that consists of 4 values.

Individuals and interactions over processes and tools

Let’s be realistic, everybody has their own forte. Compared to using tools that can elevate us with a certain cost, it is better to have a person who is good at it. Teamwork is always the priority in agile.

Working software over comprehensive documentation

Customers won’t be impressed about how complete our documentation would be, they care whether the software that we have built is working based on their wants or not.

Customer collaboration over contract negotiation

It is important to always involve customers in every step that we take since it is their project. Interacting with them could help us tremendously in troubleshooting problems; especially the flow of the program, because they can explain it in ways that we understand in non-technical language.

Responding to change over following a plan

Changes are inevitable. Following a plan that has been built long before the execution of the software development of the program may lead to a program that behaves differently compared to how the customer wanted it.

Principles of Agile

Besides the 4 values of agile, there are 12 principles of agile.

  1. Our highest priority is to satisfy the customer through the 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 for 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.

What is Scrum?

Scrum is one of the frameworks that implement the agile approach that is used in software development. In the diagram below, we can see that Scrum is a part of Agile

Source: Cape Project Management, Inc.

Scrum Artifacts

Scrum artifacts are information that is used by the scrum team and also the customers to discuss and break down every step of the application development; including every tiny detail. There are 3 scrum artifacts.

Product Backlog

A list of new features, enhancements, bug fixes, tasks, or work requirements needed to build a product.

Sprint Backlog

A set of product backlog tasks that have been promoted to be developed during the next product increment.

Product Increment

The customer deliverables were produced by completing product backlog tasks during a sprint.

Scrum Roles

There are 3 important roles in the scrum.

Developers

The development team is the people that do the work. The development team can be comprised of all kinds of people including designers, writers, programmers, etc.

Product Owner

A product owner is a person who represents the customer, they tell the development that is important to deliver. A product owner should understand the customer, they also have to guide the team to choose which deliverables are going to be delivered to the customer. They also have to balance the need of other stakeholders in the organization.

Scrum Master

A scrum master holds everything together and makes sure that scrum is being implemented correctly in every aspect. They help the product owner define value, the development team delivers the value, and the scrum team to get better.

Scrum Events

The cycle for scrum is done iteratively in a certain period; usually, around 2 weeks. That phase where we are working on the product is called a “Sprint”. Each sprint consists of scrum events. Here are the events.

Initiation Phase

The team will discuss the product backlog items and the information about the product. The team will create the first stage of design or wireframes and set the environment.

Sprint Planning

Before entering the sprint, the product owner will explain the product backlog items. The developers will choose which product backlog will be taken and discuss with the team when will the picked backlogs be finished.

Daily Scrum

The meeting will be around 15 minutes. It discusses the progress that everyone is doing and also their blockers.

Sprint Review

On the last day of the sprint, the team will demonstrate the product increment that is finished during the sprint. The team will be given feedback regarding the product backlog items.

Sprint Retrospective

The team will evaluate their work performance in the recent sprint and examine what can be improved for future sprints.

Scrum in Clicks

This project started with the initiation phase. In this case, representatives of the team will discuss with the product owner regarding the product. We also set up the environment and created the mock-up design of the product.

Next, we do sprint planning before starting the sprint. We chose the product backlog items that we wanted to do. We also determined the task and load distribution for each member.

After we have started the sprint, we have a daily scrum to check on our teams twice a week. We talked about our progress and also our blockers.

When the sprint ends; in the span of 2 weeks, we have a sprint review. We demonstrate the product backlog items that we have finished in the sprint. We also have our progress reviewed and we will be given notes and feedbacks to improve our product.

Lastly, we have a sprint retrospective. We discussed the things that can be improved or stopped regarding our performances in the recent sprint.

Implementation of Agile in Clicks

My team has implemented all of the agile manifesto.

Individuals and Interactions Over Process and Tools

We talked and discussed with each other a lot about the things that we don’t know or were confused about when we were working on the product. It is bliss to have a team that you can count on when you have problems.

Working software over comprehensive documentation

I’m not going to lie, but in Clicks, we don’t have really comprehensive documentation. Our documentation only consists of features that are already good to be used. In every sprint, making the product run correctly and matching the customers’ needs is always our priority.

Customer collaboration over contract negotiation

Even though we have talked and discussed the product with the product owner, we still involve them every step of our way. We always ask our customers about how do they feel about it, what things can be improved, etc.

Responding to change over following a plan

We communicate constantly with our customers. In the sprint review session, sometimes, the customers put inputs and recommendations. We took those recommendations and we change the flow even though it was not the way we wanted.

Conclusions

Implementing Agile and Scrum in our project are very useful and very effective in helping our group in finishing the product. I can say that it helped us tremendously in achieving a product that is good and also meets the customers’ wants.

Reference

https://www.atlassian.com/agile

--

--

Gus Reksoprodjo
Gus Reksoprodjo

Written by Gus Reksoprodjo

A UI & UX designer that focuses on simplicity and usability

No responses yet