Delivering High Quality Products Faster with Agile Methodology

Mika S. Rahwono
6 min readMar 9, 2023

--

Agile is a flexible and iterative approach to project management and software development that focuses on collaboration, rapid iteration, and delivering value to the customer. The main key in integrating agile methodology is to breakdown one big project to many smaller piece that can be developed quickly and efficiently. Agile methodology implements 4 key principles such as individuals and interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, responding to change over following a plan. Those 4 principles are the base foundation in implementing agile methodology in software development and I’ll describe each point more in depth in the next section.

Source: https://www.geneca.com/what-is-agile-software-development/

The first one is individuals and interactions over processes and tools. In implementing agile methodology developers, project managers, and scrum master should always talk to each other and work together rather than relying too much on strict rules and birocracy. Maintaining a good communication between functions will create a clearer progress track and making task management easier.

The second is working software over comprehensive documentation. This point explains that it’s better to have working software that you can use, rather than lots of documents that nobody reads. Make sure developers spend their time in developing a working software as quickly and efficiently as possible.

To make sure that the software that you are working on is what your customers and markets need you must work closely with them to understand their pain points and relevantly deliver the value to them. That’s what the third point are about customer collaboration over contract negotiation.

Last but not least is responding to change over following a plan. it’s important to be ready for change and to be able to adapt quickly when things don’t go as planned. Encourage your team to be flexible and adaptable in response to changing requirements and priorities. This doesn’t mean that planning isn’t important, but it means that plans should be treated as living thing that can change as needed.

Scrum and Sprints

source: https://sprintagile.com.au/the-scrum-framework-you-are-doing-it-wrong/

If you ever worked on a project-based works in the past, you might have worked on the project for months or even years, with little feedback to no feedback until the end and dumps all of the feedback and revision all in the end. But with Agile methodology, things are different.

One of the framework used in Agile methodology for managing and completing complex projects is called Scrum. In scrum, we breaks the project down into smaller, more manageable task-piece called sprints. Sprint usually lasts between one to four weeks, and during that time, the team focuses on a specific set of tasks with the goal of producing a working product or deliverable by the end of the sprint.

Product Backlog

Usually before addressing the projects to the team, the product owner and scrum master create a product backlog that consists of prioritized list of features or requirements called Product Backlog Item (PBI) for a product that the Development Team will work on during a project. Product backlog is a flexible document that changes frequently as new information arises or priorities shift. And to discuss more about the upcoming sprint usually there’ll be Backlog Refinement. The goal is to ensure that the product backlog always reflects the current state of the project and the needs of the stakeholders.

Sprint Planning

After creating a product backlog. The team meets up for a planning session called Sprint Planning. They talk about what they want to achieve during the sprint and make a plan to accomplish it. Then, they start working on the tasks that were included in the plan. The team meets every day for a quick stand-up meeting to update each other on their progress and to address any problems that might have come up called daily scrum.

Sprint Review and Sprint Restrospective

Sprint review is a meeting that takes place at the end of each sprint to review and evaluate the work that has been done during that sprint. The Development Team showcases the completed work to the stakeholders, such as the Product Owner, customers, and other relevant parties during the sprint review to obtain feedback from stakeholders regarding the projects.

Sprint restrospective is a meeting that takes place usually after the sprint review, where the Development Team reflects on their work during the sprint and discuss about what can be improved and what needs to be done in the next sprint to improve their performance.

Definition of Done

In Agile methodology, the Definition of Done (DoD) is an agreement among the team about what needs to be done for a PBI to be considered complete and ready to release. The goal of the DoD is to ensure that the team knows exactly what needs to be done for each item. This agreement helps the team to deliver high-quality work that meets the requirements of the stakeholders.

Implementation of Agile Methodology and Scrum

As explained in the paragraphs above, there’re a lot of beneficial things that you can get when you implement Scrum and agile methodology in your projects. In this section I will demonstrate how I implement Scrum in one of my college project.

Me and my colleagues started a project called Foresight, which is a project about implementing GPT-3 API in search of cafes prefered by the users using prompts. In this project, I was delegated to be the Scrum Master for the team. So I discuss with my Project Owner about the overall plan for the project and prepared the necessary documents such as Product Requirements Document, Product Backlog Items, SDS, and Wireframe.

After I prepared all the documents me and my Product Owner conduct a meeting called Sprint Planning and created a Trello Board for managing the backlog that’ll be reviewed. This is the example of the Trello Board

Trello Board for Sprint Planning

If you don’t want to use a Trello Board, you can use Github Issues. This is an example of github issues in action.

Github issues in action

As the Scrum Master i’ll make a consistent communication with the developers to make sure that the assigned backlog will be finished on time and with a good code quality. Every week, Scrum Master, Product Owner, and the developers conduct a meeting for a weekly sprint review to discuss the problems that arose while developing. And in this meeting, scrum master will move the Trello cards if the assigned tasks is completed or to be tested.

Analysis of Scrum Implementation in Projects

  1. Enhanced Team Collaboration: In one of my college projects, the implementation of Scrum has a high impact on making sure the project is on track and making sure that the delivered outputs are on point. So, this enhances team collaboration by addressing each others issues that needed to be fixed.
  2. Improved Productivity: By breaking the project into manageable tasks and prioritizing them in a backlog, Scrum enables my team to focus on the most important features and deliver them perfectly. The sprints and the rank of importance promote a sense of urgency and accountability, leading to increased productivity and timely delivery of increments.
  3. Transparent Project Visibility: Scrum emphasizes transparency through visual tools like burndown charts, task boards, and backlog grooming sessions. These tools provide real-time visibility into the project’s progress, enabling Project Owners and Scrum Masters to stay informed and make informed decisions.

In summary, Agile methodology provides a flexible and collaborative way to manage projects to better suits today’s need of fast-paced business environment. It uses sprints, cross-functional teams, and scrum to help organizations deliver better solutions and achieve their goals quickly and efficiently. Even though implementing Agile methodology can be challenging, its benefits are far more beneficial for the business, making it a valuable tool for organizations that want to remain competitive and responsive to changes in the market.

References

--

--

Mika S. Rahwono

The difficulty lies not in coding or math, but in the willingness to share one's knowledge with others without expecting anything in return.