You are on page 1of 23

AGILE

METHODOLOGY

RAJALAKSHMI R
01 RA20382093
Agenda
What is Agile Software devlopment?
Agile Manifesto
Agile Principle
The Agile Software Development Life Cycle
Agile vs Non-Agile
Scrum
The 5 Scrum Ceremonies
Example of Agile software development
Advantages of Agile Methodology
Disadvantages of the Agile Methodology
03

What is Agile Software devlopment?

Agile software development methodology is an process for developing software


(like other software development methodologies - Waterfall model, V-Model,
Iterative model etc.)
However, Agile methodology differs significantly from other methodologies. In
English, Agile means 'ability to move quickly and easily' and responding swiftly to
change - this is a key aspect of Agile software development as well.
Agile project management is an iterative approach to managing software
development projects that focuses on continuous releases and customer feedback
Agile Manifesto
04
The Agile Software
Development Life Cycle
The Agile Software Development
Life Cycle
06

Requirements gathering and analysis


In this phase, you must define the requirements. You should explain business opportunities and plan the
time and effort needed to build the project. Based on this information, you can evaluate technical and
economic feasibility.

Design the requirements


When you have identified the project, work with stakeholders to define requirements. You can use the user
flow diagram or the high-level UML diagram to show the work of new features and show how it will apply to
your existing system.

Construction/ Iteration
When the team defines the requirements, the work begins. The designers and developers start working on
their project. The aims of designers and developers deploy the working product within the estimated time.
The product will go into various stages of improvement, so it includes simple, minimal functionality.
The Agile Software Development
Life Cycle Contd...
07

Testing
This phase basically involves the testing team i.e. the Quality Assurance team checks the product’s
performance and seeking for the bug during this phase.

Deployment
In this phase, the team issues a product for the user's work environment.

Review / Feedback:
The final phase is to get feedback after the product has been released. This is where the team receives
feedback on the product and works through it.
Agile vs Non-Agile
Agile Non-Agile

In Agile model the changes are But in non-Agile models the changes are not
accepted and adapted as per the accepted easily in the later stages of the
project needs. development.
Less documentation is required in More documentation is required in non-Agile
Agile. models.
Requirements in Agile model can In Non-Agile models the requirements are very
change as per the customer clear before entering into the development
requirement. Sometimes phases. Any change in the requirement is not
requirements are not very clear.. easily accepted during the development
phases.
Scrum
Scrum is a framework for getting work done within agile. Scrum uses all
the core principles of agile to define methods to facilitate a project.
Product owner
The product owner makes all the product development decisions such as
defining the product features and Sprint goals.
This person has the product vision and is responsible for defining the
work and prioritizing tasks for agile sprints.
Product owners are clear on the project goals and customer needs.
They communicate them to the scrum team and guide them through the
project.
Represent the voice of the customer
Align development work with the product roadmap
Write requirements and user stories
Scrum Master
Scrum masters provide guidance to the scrum team. They ensure the
development team focuses without being distracted by an
overreaching product owner, from the organization or internal factors.
The scrum master also leads a daily scrum meeting to make sure
everyone is working within the scrum framework.
Unlike a project manager, who manages a project, the scrum master
cooperates with product owners and guides the development team
members who work autonomously.
Facilitate scrum ceremonies (e.g., daily scrum meetings and sprint
planning)
Help the team stay on task and complete sprint items
Identify and remove any productivity roadblocks
The Development Team
After collaborating with the product owner and scrum master to plan the
sprint, the development team completes the defined work items.
In addition to developers, a scrum development team will often include
software architects, designers, testers, and any other roles required to
complete the work.
Determine how to complete the work prioritized by the product owner
Estimate how much work can be completed in a sprint
Communicate transparently about progress in daily scrum meetings
Complete all sprint items and deliver usable increments.
Sprint Planning Meeting
The goal of Sprint Planning is to answer the questions “What are we going to work on, and how are
we going to do it?” It’s also important for the team to have a shared goal and a shared
commitment to this goal before beginning their Sprint – the list of items the team plans to work
on during that specific Sprint.

Daily Stand-up Meeting


Once we begin a Sprint, we have what we call a Daily Scrum every day. Organized by the Scrum
Master, Daily Scrum is typically a 15-minute stand-up meeting to synchronize the work of team
members, i.e. what’s done on the prior day, what needs to be done today, identify any
impediments, and creates visibility around the work that everyone is doing in the Sprint.

Sprint Review
The Sprint Review meeting occurs at the end of your sprint. It usually lasts 30–60 minutes.
According to the Scrum Guide, the recommended maximum is four hours for a one-month
sprint.During the Sprint Review, the Scrum team shows what they accomplished during the
sprint to get feedback from project stakeholders
Sprint Retrospective Meeting
The Sprint retrospective helps teams build a habit of continuous process improvement.
During this ceremony, the Scrum team figures out what they can improve by inspecting how
the last sprint went. Individuals, interactions, processes, tools – anything is up for review and
discussion. Also, take time to celebrate what went well – give kudos to a colleague, and discuss
how to replicate successes in the future.

Backlog Refinement
The purpose of this scrum ceremony is to clean and prioritize the backlog.
During this meeting, the product owner and some (or all) of the team members review the
backlog items together.There’s no time limit to this ceremony, but it’s recommended to only
dedicate one hour per week to product backlog refinement. Some teams like to do this to help
keep them organized and smooth out the sprint planning process for the next sprint
Example of Agile software development
Example :Microsoft Word, that provides all the features provided by Microsoft Word and any
other features requested by the marketing team. The final product needs to be ready in 10
months of time. Let us see how this project is executed in traditional and Agile methodologies.

In traditional Waterfall model –


At a high level, the project teams would spend 15% of their time on gathering requirements
and analysis (1.5 months)
20% of their time on design (2 months)
40% on coding (4 months) and unit testing
20% on System and Integration testing (2 months).
At the end of this cycle, the project may also have 2 weeks of User Acceptance testing by
marketing teams.
In this approach, the customer does not get to see the end product until the end of the
project, when it becomes too late to make significant changes.
The image below shows how these activities align with the project schedule in
traditional software development.
With Agile development methodology –
In the Agile methodology, each project is broken up into several ‘Iterations’.
All Iterations should be of the same time duration (between 2 to 8 weeks).
At the end of each iteration, a working product should be delivered.
In simple terms, in the Agile approach the project will be broken up into 10 releases
(assuming each iteration is set to last 4 weeks).
Rather than spending 1.5 months on requirements gathering, in Agile software
development, the team will decide the basic core features that are required in the
product and decide which of these features can be developed in the first iteration.
Any remaining features that cannot be delivered in the first iteration will be taken up in
the next iteration or subsequent iterations, based on priority.
At the end of the first iterations, the team will deliver a working software with the
features that were finalized for that iteration.
There will be 10 iterations and at the end of each iteration the customer is delivered a
working software that is incrementally enhanced and updated with the features that
were shortlisted for that iteration.
The iteration cycle of an Agile project is shown in the image below.
Advantages of Agile Methodology

The customers are satisfied because after every Sprint working feature of
the software is delivered to them.
Customers can have a look of the working feature which fulfilled their
expectations.
If the customers has any feedback or any change in the feature then it can
be accommodated in the current release of the product.
In Agile methodology the daily interactions are required between the
business people and the developers.
In this methodology attention is paid to the good design of the product.
Changes in the requirements are accepted even in the later stages of the
development.
Disadvantages of the Agile Methodology

In Agile methodology the documentation is less.


Sometimes in Agile methodology the requirement is not very clear
hence it’s difficult to predict the expected result.
In few of the projects at the starting of the software development
life cycle it’s difficult to estimate the actual effort required.
The projects following the Agile methodology may have to face
some unknown risks which can affect the development of the
project.

You might also like