Agile Methodology: an software development model

Nadhif Suyudi
bisaGo2020
Published in
5 min readOct 8, 2020

Agile Methodology. One of the most popular approach in software industry. If you are studying or working on software development, then you must at least heard someone near you say the word of ‘Agile’. But what is Agile Methodology? Why is it so popular?

Photo by Campaign Creators on Unsplash

About Agile Methodology

Agile methodology is a practice that promotes continuous iteration of development and testing throughout the software development lifecycle of the project. It is one of the simplest yet effective software development method. Instead of making a big launch, we delivers work in small, but flexible. Requirements, plans, results, everything are always evaluated for responding a change.

This Agile process contrasts with the traditional waterfall approach to software development, where developers typically compile the needs and requirements of the users and then build the software all at once.

Agile Manifesto

The agile software development emphasizes on four core values:

  1. Individual and team interactions over processes and tools
  2. Working software over comprehensive documentation
  3. Customer collaboration over contract negotiation
  4. Responding to change over following a plan

There are also 12 principles of the agile software development:

  1. Satisfying customers through early and continuous delivery of valuable work.
  2. Breaking big work down into smaller tasks that can be completed quickly.
  3. Recognizing that the best work emerges from self-organized teams.
  4. Providing motivated individuals with the environment and support they need and trusting them to get the job done.
  5. Creating processes that promote sustainable efforts.
  6. Maintaining a constant pace for completed work.
  7. Welcoming changing requirements, even late in a project.
  8. Assembling the project team and business owners on a daily basis throughout the project.
  9. Having the team reflect at regular intervals on how to become more effective, then tuning and adjusting behavior accordingly.
  10. Measuring progress by the amount of completed work.
  11. Continually seeking excellence.
  12. Harnessing change for a competitive advantage.
Source: leadagile.in/2017/11/26/12-agile-principles/

About Scrum

Scrum is an agile development method which concentrates specifically on how to manage tasks within a team-based development environment. It consist of three roles:

  1. Product Owner: creates product backlog, prioritizes the backlog and responsible for the delivery of the functionality at each iteration
  2. Scrum Master: responsible for setting up the team, sprint meeting and removes obstacles to progress
  3. Scrum Team: manages and organizes the work to complete the sprint or cycle

There are also scrum events that need to be done on every iteration, which takes around 2–4 weeks to complete:

  • Sprint Planning: occurs at the beginning of a sprint where the team determines the product backlog items they will work on during that sprint.
  • Daily Scrum: a 15-minute time-boxed event for the Development Team to synchronize activities and create a plan
  • Sprint Review: holds at the end of the Sprint to inspect the Increment and adapt the Product Backlog if needed.
  • Sprint Retrospective: providing an opportunity for the Scrum Team to inspect itself and create a plan for improvements to be enacted during the next Sprint.
Source: https://www.guru99.com/agile-scrum-extreme-testing.html#1

My Implementation

All of the above information is my understanding about Agile Methodology and Scrum. This is my first time implementing and working with Scrum approach.

On our first sprint, we received our Product Backlog from the Product Owner(PO). The PO already decided which Backlog must be prioritize. After that, we, the Development Team, and Scrum Master decides what we must achieve on our first sprint, break down the backlog into smaller tasks, and assign each member with a task.

We also hold a daily scrum on every Tuesday and Friday. During that meeting, each member will tell about what they have done, their plan for the next, and tell if they have any problems.

On Sprint Review, we present our product and explain what have we done to improve the product. My Lecturer(since this is a course), PO and Scrum Master attend this meeting and will review our product if there is something that they think has not been achieved. After we done with Sprint Review, we immediately did a Sprint Retrospective to evaluate this sprint.

As you can see, all of the activities we did as a team is trying to follow the agile manifesto and principles.

Like for the 4 core values, we always communicating with each other so there is no miscommunication on our team, making sure our product is working, satisfy our customer by contacting him/her if there is something they don’t like, responding to change on our project if the PO wants something new on the product.

For the 12 principles, there are some principles that I think we haven’t do it right. Like on number 11, I don’t always seeking an excellence. If it’s done, then it’s done. Or on number 7, as a person, I don’t like or even welcoming changes on the requirement if it’s late. Especially if it is near the Sprint Review.

But as I said before, we are trying to follow the principles as much as we could. Even if I don’t welcoming changes, I want to satisfy the customer. The other members also motivated each other if someone is feeling down. The team also make sure we don’t have any lost contact and improve the team performance. Big task on the backlog? Time to break it down into smaller task and divide it to each member.

With that, hope you guys found this article helpful. Well then, cheers!

--

--

Nadhif Suyudi
bisaGo2020

A Computer Science student who learns about Software and Game Development. Also like Photography and Writing.