0% found this document useful (0 votes)
153 views8 pages

Agile Methodology

The document provides an overview of the Agile methodology for software development. It explains that Agile abandons the traditional "waterfall" approach of long development cycles in favor of faster, incremental releases. The key aspects of Agile include focusing on collaboration, frequent communication between teams, incorporating regular customer feedback, and an ability to adapt quickly to changes.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
153 views8 pages

Agile Methodology

The document provides an overview of the Agile methodology for software development. It explains that Agile abandons the traditional "waterfall" approach of long development cycles in favor of faster, incremental releases. The key aspects of Agile include focusing on collaboration, frequent communication between teams, incorporating regular customer feedback, and an ability to adapt quickly to changes.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 8

Agile Methodology

How It Works

It works by first admitting that the old “waterfall” method of software development leaves
a lot to be desired. The process of “plan, design, build, test, deliver,” works okay for
making cars or buildings but not as well for creating software systems. In a business
environment where hardware, demand, and competition are all swiftly-changing
variables, agile works by walking the fine line between too much process and not
enough.

Agile Methodology Overview

It abandons the risk of spending months or years on a process that ultimately fails
because of some small mistake in an early phase. It relies instead on trusting
employees and teams to work directly with customers to understand the goals and
provide solutions in a fast and incremental way.

 Faster, smaller. Traditional software development relied on phases like outlining


the requirements, planning, design, building, testing, and delivery. Agile
methodology, by contrast, looks to deploy the first increment in a couple weeks
and the entire piece of software in a couple months.
 Communication. Agile teams within the business work together daily at every
stage of the project through face-to-face meetings. This collaboration and
communication ensure the process stays on track even as conditions change.
 Feedback. Rather than waiting until the delivery phase to gauge success, teams
leveraging Agile methodology track the success and speed of the development
process regularly. Velocity is measured after the delivery of each increment.
 Trust. Agile teams and employees are self-organizing. Rather than following a
manifesto of rules from management intended to produce the desired result, they
understand the goals and create their own path to reach them.
 Adjust. Participants tune and adjust the process continually, following the KIS
or Keep It Simple principle.
 Agile methodology is a project management framework that
breaks projects down into several dynamic phases, commonly
known as sprints.
 The Agile framework is an iterative methodology. After every sprint,
teams reflect and look back to see if there was anything that
could be improved so they can adjust their strategy for the next
sprint.


What is the Agile Manifesto?
The Agile Manifesto is a document that focuses on four values and 12
principles for Agile software development. It was published in
February 2001 by 17 software developers who needed an alternative to
the more linear product development process.

What are the 4 pillars of Agile?


As outlined in the Agile Manifesto, there are four main values of Agile
project management:
 Individuals over processes and tools: Agile teams value team collaboration and teamwork
over working independently and doing things "by the book.”
 Working software over comprehensive documentation: The software that Agile teams
develop should work. Additional work, like documentation, is not as important as
developing good software.
 Customer collaboration over contract negotiation: Customers are extremely important
within the Agile methodology. Agile teams allow customers to guide where the software
should go. Therefore, customer collaboration is more important than the finer details of
contract negotiation.
 Responding to change over following a plan: One of the major benefits of Agile project
management is that it allows teams to be flexible. This framework allows for teams to
quickly shift strategies and workflows without derailing an entire project.

What are the 12 Agile


principles?
The four values of Agile are the pillars of Agile methodology. From
those values, the team developed 12 principles.
If the four values of Agile are the weight-bearing pillars of a house,
then these 12 principles are the rooms you can build within that house.
These principles can be easily adapted to fit the needs of your team.
The 12 principles used in Agile methodology are:
1. Satisfy customers through early, continuous improvement and delivery.When customers
receive new updates regularly, they're more likely to see the changes they want within the
product. This leads to happier, more satisfied customers—and more recurring revenue.
2. Welcome changing requirements, even late in the project. The Agile framework is all
about adaptability. In iterative processes like Agile, being inflexible causes more harm
than good.
3. Deliver value frequently. Similar to principle #1, delivering value to your customers or
stakeholders frequently makes it less likely for them to churn.
4. Break the silos of your projects. Collaboration is key in the Agile framework. The goal is
for people to break out of their own individual projects and collaborate together more
frequently.
5. Build projects around motivated individuals. Agile works best when teams are committed
and actively working to achieve a goal.
6. The most effective way to communicate is face-to-face. If you’re working on a
distributed team, spend time communicating in ways that involve face-to-face
communication like Zoom calls.
7. Working software is the primary measure of progress. The most important thing that
teams should strive for with the Agile framework is the product. The goal here is to
prioritize functional software over everything else.
8. Maintain a sustainable working pace. Some aspects of Agile can be fast-paced, but it
shouldn't be so fast that team members burn out. The goal is to maintain sustainability
throughout the project.
9. Continuous excellence enhances agility. If the team develops excellent code in one sprint,
they can continue to build off of it the next. Continually creating great work allows teams
to move faster in the future.
10. Simplicity is essential. Sometimes the simplest solution is the best solution. Agile aims to
not overcomplicate things and find simple answers to complex problems.
11. Self-organizing teams generate the most value. Similar to principle #5, proactive teams
become valuable assets to the company as they strive to deliver value.
12. Regularly reflect and adjust your way of work to boost effectiveness. Retrospective
meetings are a common Agile practice. It's a dedicated time for teams to look back and
reflect on their performance and adapt their behaviors for the future.

The 3 C’s of Agile


Agile is an iterative software development methodology that helps developers create
and deliver applications more quickly and efficiently. It is based on the principles of
collaboration, customer feedback, and the “three C’s” – card, conversation, and
confirmation.

Card

A card in user stories in Agile is a way of breaking down user stories into smaller, more
manageable tasks that can be easily monitored and identified. Each card may include
additional information such as priority level or estimated completion date for further
support of project management. By breaking down the stories into individual cards,
developers can focus on one specific aspect at a time, making tracking progress easier
and identifying any potential changes or issues before they become problems during
development.

Conversation

The second C of Agile is a conversation, which emphasizes frequent communication


between team members to identify any possible changes or issues before they become
problems during development. This involves regularly discussing progress updates with
stakeholders and providing feedback for any feature requests or bug reports to ensure
the final product meets all quality assurance standards required by the customer.

Confirmation

Finally, the third C of Agile is confirmation, which allows customers to review and test
features before making them available in production environments. This helps to ensure
applications are error-free while also giving developers valuable insights into customer
preferences so they can make necessary improvements before release.

Examples of Agile Methodology

The most popular and common examples are Scrum, eXtreme Programming (XP),
Feature Driven Development (FDD), Dynamic Systems Development Method (DSDM),
Adaptive Software Development (ASD), Crystal, and Lean Software Development
(LSD). Teams generally pick one or two methods. The most widely used methodologies
are Scrum and XP, which dovetail nicely.

Kanban
Kanban is a visual approach to Agile. Teams use online Kanban board
tools to represent where certain tasks are in the development process.
Tasks are represented by cards on a board, and stages are
represented in columns. As team members work on tasks, they move
cards from the backlog column to the column that represents the
stage the task is in.
This method is a good way for teams to identify roadblocks and to
visualize the amount of work that’s getting done.

What Is Kanban? A Beginner’s Guide for Agile Teams [2023] • Asana

Scrum is a hands-on system consisting of simple interlocking steps and components:

 A product owner makes a prioritized wish list known as a product backlog.


 The scrum team takes one small piece of the top of the wish list called a sprint
backlog and plans to implement it.
 The team completes their sprint backlog task in a sprint (a 2-4 week period).
They assess progress in a meeting called a daily scrum.
 The ScrumMaster keeps the team focused on the goal.
 At the sprint’s end, the work is ready to ship or show. The team closes the sprint
with a review, then starts a new sprint.

Here’s an example of how Scrum works: Bill meets with a customer to discuss her
company’s needs. Those needs are the product backlog. Bill chooses the most
important tasks to work on in the next two weeks. His team meets in a daily scrum to
target work for the day ahead and address roadblocks. At the end of the sprint, Bill
delivers the work, reviews the backlog, and sets the goal for the next sprint. The cycle
repeats until the software is complete.

eXtreme Programming. Often used with scrum, XP is an example of how Agile can
heighten customer satisfaction. Rather than deliver everything the customer could ever
want far in the future, it gives them what they need now, fast. XP is centered on
frequent releases and short development cycles. It uses code review, pair
programming, unit testing, and frequent communication with the customer.

Here’s an example of how XP works: Bill builds a list of customer requirements by


having the customer tell “user stories” that outline the features. From these, he builds a
software release plan. The software will be delivered in iterations, with one delivered
every couple weeks. The team works in programmer pairs, using daily meetings to
smooth roadblocks. The customer delivers feedback in the form of more user stories.
The cycle repeats until the software is delivered.

For more examples, see this article.

[adinserter block=”33″]

Benefits of Agile Methodology

The benefits of Agile are tied directly to its faster, lighter, more engaged mindset. The
process, in a nutshell, delivers what the customer wants, when the customer wants it.
There’s much less wasted time spent developing in the wrong direction, and the entire
system is quicker to respond to changes. For a more comprehensive list of benefits, see
this post.

 Faster. Speed is one of the biggest benefits of Agile Methodology. A faster


software development life cycle means less time between paying and getting
paid. That, in turn, means a more profitable business.
 Increased customer satisfaction. With Agile, customers don’t wait for months
or years, only to get exactly what they didn’t want. Instead, they get iterations of
something very close to what they want, very fast. The system adjusts quickly to
refine the successful customer solution, adapting as it goes to changes in the
overall environment.
 Values employees. Employees whose ideas are valued are vastly more
productive than those who are ordered to follow a set of rules. The Agile
Methodology respects employees by giving them the goal, then trusting them to
reach it. Since they’re the ones with their hands on the controls and the ones
who see the obstacles that crop up every day, employees are in the best position
to respond to challenges and meet the goals at hand.
 Eliminates rework. By involving the customer at more than just the phases of
requirements and delivery, the project remains on-task and in-tune with customer
needs at every step. This means less backtracking and less “out on a limb” time
between the time we do the work and the time the customer suggests revisions.

Best Practices

The list of best practices is long and involved, with dozens of tools to pick and choose.
We’ve outlined a short list of the main benefits below. For a more comprehensive best
practices guide, see this article.
 Set priorities. A product backlog is a list of prioritized tasks maintained by
a product owner.
 Maintain small release cycles. The product should be released in increments
every 2-4 weeks, with stakeholders giving feedback before proceeding.
 Use pair programming. Two programmers work side-by-side at a single
computer. This technique actually results in an identical degree of productivity to
separate programming but delivers higher quality.
 Refactor. Rework code regularly to achieve the same result with greater
efficiency and clarity.
 Use test-driven development. Code the unit test first to keep the project on task
throughout. Test-driven development as an Agile best practice also produces
greater employee engagement, since it transforms testing from a boring grind to
a coding challenge.

Agile Methodology Tools

The list below shows some of the best tools on offer. For a complete list, see this post.

 ActiveCollab. An affordable tool for small businesses, ActiveCollab is easy to


use. This software development aid requires little training and provides excellent
support.
 Agilo for Scrum. Stakeholders get updated automatically on the project’s
progress with Agilo for Scrum. Features sprint reports and burn down charts for
better data mining.
 Atlassian Jira + Agile. This powerful project management tool facilitates
development by incorporating Scrum, Kanban, and customizable workflows.
 Pivotal Tracker. This methodology tool is geared specifically for mobile projects.
A little jargon-heavy, it’s user-friendly after a brief orientation period.
 Prefix. This free tool from Stackify provides an instant feedback loop to catch
and fix bugs before they can deploy.
 Retrace. For a more robust solution complete with monitoring, errors, logs, and
more, Stackify’s Retrace provides app performance insights from integration to
QA to production, at the code level.

You might also like