Agile Methodology
The Agile methodology is a project management approach that involves breaking the project
into phases and emphasizes continuous collaboration and improvement. Teams follow a cycle
of planning, executing, and evaluating.
Whereas the traditional "waterfall" approach has one discipline contribute to the project, then
"throw it over the wall" to the next contributor, agile calls for collaborative cross-functional
teams. Open communication, collaboration, adaptation, and trust amongst team members are
at the heart of agile. Although the project lead or product owner typically prioritizes the work to
be delivered, the team takes the lead on deciding how the work will get done, self-organizing
around granular tasks and assignments.
Agile isn't defined by a set of ceremonies or specific development techniques. Rather, agile is a
group of methodologies that demonstrate a commitment to tight feedback cycles and
continuous improvement.
Through Agile, we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
What is agile project management?
Agile project management is an iterative approach to managing software development projects
that focuses on continuous releases and incorporating customer feedback with every iteration.
Software teams that embrace agile project management methodologies increase their
development speed, expand collaboration, and foster the ability to better respond to market
trends.
Some of the different types of agile methodologies are:
Kanban: Kanban methodology is about day-to-day workflows and processes. It is a
simple, visual means of managing projects that enables teams to see the progress so
far and what’s coming up next. Kanban projects are primarily managed through a
Kanban board, which segments tasks into three columns: “To Do,” “Doing,” and “Done.”
Scrum:
(https://www.atlassian.com/agile/scrum/roles#:~:text=Scrum%20has%20three%20role
s%3A%20product,The%20short%20answer%20is%20no.)
Scrum is one of the most popular Agile methodologies, as it can bring teams together
with a sharp focus and an efficient, collaborative approach to task execution.
It is similar to Kanban in many ways. Scrum typically uses a Scrum board, similar to a
Kanban board, and groups tasks into columns based on progress. Unlike Kanban, Scrum
focuses on breaking a project down into sprints and only planning and managing one
sprint at a time.
Under this methodology, you would assign a Scrum leader and product owner, who have
a direct influence over the rest of the team. This assigned leadership can help teams to
spearhead projects and complete them over a short space of time through a series of
sprints.
Sprints are the Scrum way of breaking projects down into iterations that can last
anywhere between one and four weeks each. Bringing team members together from
different departments, these sprints help you channel a collective focus to your
projects.
Scrum also features a robust set of principles and activities that dictate how you work.
These include:
Sprint planning: Planning sessions to identify the purpose behind your sprints -
that is, what to deliver in which sprints..
Roles: Key roles in the Scrum project management process
○ Product Owner: Scrum product owners understand the customer and
business requirements. They create the product backlog. To the scrum
team, a product owner represents the business team. It is the
responsibility of the product owner to ensure the correct product is
developed, and is of high value. Product owner manages:
■ Product backlog
■ Release management
■ Stakeholder management
○ Scrum Master: Scrum master is also known as servant leader. It is his
responsibility to glue everything together, and ensure that scrum
procedures take place in proper manner. The scrum master serves the
product owner in sprint planning and sprint reviews, ensuring that value is
clearly being described and direction set. He/she serves the development
team in the daily scrum by ensuring that work is happening and that
blockers are being removed. The scrum master also serves the
organization at large, helping them understand what scrum is and create
an environment that supports scrum.
Scrum defines 5 values of courage, focus, commitment, respect, and
openness not because they are nice to have, but because they create an
environment of physiological safety and trust. This environment is
necessary for agility to thrive. Following the values is the responsibility of
everyone in the scrum team, but the scrum master takes an active role in
encouraging and reminding everyone of the importance of those values.
○ Development Team (Includes designers, developers, testers, writers): this
is the team who will actually do the work and comprises of not just
engineers but designers, writers and all involved in the actual development
of the product/application. It is a self-organizing team.
Product backlog/Scrum backlog: A product backlog is a prioritized list of work
for the development team that is derived from the roadmap and its requirements.
The most important items are shown at the top of the product backlog so the
team knows what to deliver first. Product owner doesn’t tell what to do at what
pace. Rather, the development team pulls the work from the product backlog as
they have the necessary time and space for it. So it is a very proactive way of
working.
Scrum ceremonies: To ensure regular communication and transparency, meetings are
an integral part of scrum. These meetings have been formalized and are called
ceremonies. These meetings or ceremonies help to plan work, understand the progress,
gather feedback, and more. Given below are the ceremonies followed in scrum:
● Sprint planning: This is held at the beginning of each sprint, and is attended by
product owner, scrum master and development team. Teams identify what can
be delivered in the sprint and how it is to be achieved. At the end of the planning
meeting, every scrum member needs to be clear on what can be delivered in the
sprint and how the increment can be delivered.
● Daily stand-up or Daily scrum: This is a short 15 min or less minuting among
scrum master, product owner and development team where each development
team member states what was done (the previous day), what is to be done
(today) and state blockers, if any. This usually is carried out at the beginning of
the day before work starts. No special meeting room is to be booked, and is
usually carried out standing, if the meeting is in-person (not virtual). This is not
the time to discuss how to remove blockers or impediments. Scrum master will
take note of the blockers and will decide the course of action, if any, post the
meeting.
● Sprint Review: The sprint review, also called an iteration review, is where the
scrum team meets to reveal what was accomplished during the sprint. This is
held at the end of a sprint, and usually is accompanied by a demonstration of the
work done. A development team shows which backlog items are “Done” to
stakeholders and teammates, who can then give feedback. Attendees are scrum
master, product owner and development team.
● Sprint Retrospective: This meeting reviews what was accomplished successfully
during the sprint, and what can be improved upon. This is also held at the end of
a sprint, but it is different from the Sprint Review ceremony. Here too, all three
main stakeholders are present.
Apart from the above two agile methodologies, there are the following ones:
Scaled Agile (SAFe):
https://www.atlassian.com/agile/agile-at-scale/what-is-safe
Extreme Programming:
https://www.agilealliance.org/glossary/xp/#:~:text=Extreme%20Programming
%20(XP)%20is%20an,engineering%20practices%20for%20software%20develo
pment.
Feature Driven Development (FDD):
https://www.nimblework.com/agile/feature-driven-development-fdd/
Dynamic Systems Development Method (DSDM):
https://www.nimblework.com/agile/dynamic-system-development-method-ds
dm/
Crystal:
https://www.geeksforgeeks.org/crystal-methods-in-agile-development-frame
work/
Lean:
https://www.easyagile.com/blog/lean-agile/#:~:text=Lean%20agile%20is%20
a%20development,things%20you%20don't%20need.