Agile Methodology

Udara Abeythilake
5 min readJun 12, 2022

--

agile methodology

What is Agile?

The Agile methodology is a way to manage a project by breaking it up into several phases. It involves constant collaboration with stakeholders and continuous improvement at every stage. Once the work begins, teams cycle through a process of planning, executing, and evaluating.

Scrum is one of the implementations of agile methodology. In which incremental builds are delivered to the customer every two to three weeks.

Principles of agile methodology

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

Individuals and interactions over processes and tools

Each requirement in the project is prioritized by allocating to several sprints. Therefore, for one sprint there are only a limited number of requirements that are needed to undergo each lifecycle of software development.

Working software over comprehensive documentation

At the end of each sprint, a working software/ product can be given to the customer. We call it a shippable product.

Customer collaboration over contract negotiation

In this methodology, customer interaction is there with each life cycle phase. This makes sure that the customer and the development team have full transparency between the requirements. Also, customers can make sure the project is going on the right track

Responding to change by following a plan

At the end of each sprint, customer review the shippable product. After the review, the customer gives feedback mentioning what needs to change and what needs to be improved. So, the development team can include those improvements and changes at the beginning of the next sprint. So, the responding to the customer feedback is quick in this methodology

Roles

Product Owner

  • Defining the features and requirements.
  • Determining the release date and the content
  • Accept and reject the work result

Scrum Master

  • Keep the interrelationship between each role
  • Make sure the project flows without any blockers.
  • Ensure the project is released at the proper date

Development Team

  • All the other roles are under the development team
  • Make sure the project is designed, implemented, and tested properly

Documentation

Product backlog

product backlog

The product backlog is a list of features that need to be done in order to complete the product. Here the feature list is prioritized by the product owner as he wants. Each item in the product backlog is called a user story.

When writing a user story, the following things should be kept in mind

  • Role: Specific type of user roles
  • Action: Action needed to be done by the user role
  • Benefit: Final outcome by doing that specific action

Following is the format for how to write a user story

As a <role>, I want <action> so that <benefit>

user story

Sprint backlog

sprint backlog

The sprint backlog is the items that are selected by the development teams from the product backlog to work on in the upcoming sprint. Typically, the team will agree on these items during its sprint planning session. In fact, the sprint backlog represents the primary output of sprint planning.

According to the Scrum framework, the entire agile team — scrum master, product owner, and development team members — will share ownership of the sprint backlog. This is because all members of the team will bring unique knowledge and insights to the project at the beginning of each sprint.

Each item on the sprint backlog is called a task/ issue. For each task there is a status to track such as Todo, In Progress, QA Ready, QA InProgress, Ready for Staging, In Staging, Done, Canceled. Each member in the development team who works on the specific task needs to update their current status.

Burndown chart

burndown chart

A burndown chart is a tool used by Agile teams to gather information about both the work they have completed on a project and the work that is yet to be done within a given time period, or as Scrum teams call it, a Sprint. Agile teams use this simple, visual tool to determine how their project is progressing in the prescribed time and how much has been completed during each iteration.

From the burndown chart, the following properties are visible

  • Amount of work done in each iteration
  • Completed work
  • Remaining work
  • Finishing dates

By using the burndown chart potential problems in the workflow can be identified quickly. Those problems can be resolved so that the necessary work can be done to get the project back on track. A burndown chart also acts as a motivator to teams as they can see what they have already accomplished within a project.

Ceremonies or Meetings on Agile

  • Sprint planning
  • Daily Standups
  • Sprint Review
  • Sprint Retrospective

Sprint planning

sprint planning

Sprint planning is an event held to make sure the goal of the project is identified by everyone on the team. And also, to discuss how to achieve them. The entire team including the product owner, scrum master, and the developers join this meeting

Daily Standups

daily standups

The daily standup is a short meeting scheduled for 15–20 min of time. The entire team including the product owner, scrum master, and the developers join this meeting. In this meeting, each team member should give an answer based on the following questions

  • What did I do yesterday?
  • What am I doing today?
  • Do I have any blockers to continuing work?

Sprint Review

sprint review

Sprint review is the meeting where developers gather with the stakeholders to get feedback from the stakeholders on the things that they have done during the spring.

Sprint Retrospective

sprint retrospective

In this final scrum ceremony in the sequence, you look back on the work you’ve just done and identify ways to do things better next time. The Sprint Retrospective is a tool for risk mitigation in future sprints.

--

--