Agile Methodology: A Quick Guide, and How We Implement it.

Nabila Fakhirah
PsychoTeam
Published in
4 min readFeb 27, 2019

What’s an agile?

Picture 2.1. Agile methodology process.

It’s a methodology that’s an approach to product management, used in software designs. It’s now known as “the golden standard” when it comes to developing software, being the most preferred method among everything else. According to the Agile Manifesto, there are four basic values that started it all, them being:

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

Other than its core values, there are also twelve principles behind the Agile Manifesto, which are:

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

How do we implement Agile in the process of making our application?
We’re currently Scrum, one of the Agile ways to develop a software. How we implement it will be described down below.

Picture 2.2. A scrum cycle.

After receiving our requirements — what the product owner wants in the application and such — and discussing a few tidbits here and there to ensure that we make both ends meet, we proceeded to sprint planning. In our sprint planning, we decide what backlogs that we’d like to try and finish during the sprint duration. We break these backlogs down into smaller tasks.

In between sprint plannings, there are also scrum meetings. The first scrum meeting of a sprint is where you get appointed with the tasks that have been broken down on the sprint planning beforehand. For example, during the first scrum meeting, as a hacker, I got appointed with the task of studying android programming backend, and also designing the database. The next scrum meetings within a sprint is where we reported our progress — ideally the tasks assigned to you in the previous meeting have been completed — so we can get assigned with our next tasks. For example, on the second scrum meeting, I shared my experience during studying and also showed my scrum master, and my teammates the database I’ve designed, and got appointed with the task of making the register function for our application.

After a period of sprint ends, we’re met with sprint review. This is where we show our program — or at least, what we managed to accomplish so far — to our product owner. During the review, the product owner will decide whether they like the progress so far, and have the rights to accept or demand changes to the application. We’ve had two sprint reviews so far, the first one with only our product owner, and the second one with our lecturer as well. Due to some troubles on our API integration, some of our user stories need to be perfected before it can be accepted by our product owners.

Right after a sprint review, comes the sprint retrospective, where each team members share the hardships they go through during the sprint, and share every experiences. Here we’d also need to plan our future steps — what exactly can we improve in our next sprint and such. We’ve had two sprint retrospectives so far, and we’ve had troubles in finishing our work in time due to a heap of other deadlines and also some procrastination issues. We’ve come up with some solutions to fix this issue. One of the solutions would be having a daily log in our group chat on what we’ve done the previous day, what we’re planning to do today, and what help would we need.

Our daily check-in on discord.

To sum it all up, agile is an effective method in software development that satisfies the client’s needs and whims as the method itself is very flexible and accommodates changes. It’s also constant and each steps are carefully planned as to not overwhelm the developers themselves. It’s quick and efficient.

References:
1. Agile manifesto
2. Agile Methodology: The Complete Guide to Understanding Agile Testing

--

--