0% found this document useful (0 votes)
9 views17 pages

Agile Methodology

The document discusses Agile Methodology, an approach to project management and software development that emphasizes flexibility, collaboration, and customer-centricity. It describes the key principles and steps of the Agile software development cycle, including concept, inception, iteration/construction, release, production, and retirement.

Uploaded by

Ujala Jamil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views17 pages

Agile Methodology

The document discusses Agile Methodology, an approach to project management and software development that emphasizes flexibility, collaboration, and customer-centricity. It describes the key principles and steps of the Agile software development cycle, including concept, inception, iteration/construction, release, production, and retirement.

Uploaded by

Ujala Jamil
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 17

Agile Methodology

Agile Methodology
• What is Agile Methodology?
• The Agile methodology is a project management
and software development approach that
emphasizes flexibility, collaboration, and customer-
centricity.
• It is the latest model used by major companies
today like Facebook, google, amazon, etc.
• It follows the iterative as well as incremental
approach that emphasizes the importance of
delivering of working product very quickly.
Agile Methodology
• What is Agile Methodology?
• It focuses on delivering smaller pieces of work
regularly instead of one big launch.
• This allows teams to adapt to changes quickly
and provide customer value faster.
Agile Methodology
• Why choose agile?
• Teams choose agile so they can respond to
changes in the marketplace or feedback from
customers quickly without derailing a year's
worth of plans. "Just enough" planning and
shipping in small, frequent increments lets
your team gather feedback on each change
and integrate it into future plans at minimal
cost.
Agile Methodology
• The Agile software development cycle
• The Agile software development cycle can be
broken down into the following six steps:
• concept
• inception
• iteration/construction
• release
• production
• retirement
Agile Methodology
• Concept
• The first step, concept, involves the
identification of business opportunities in
each potential project as well as an estimation
of the time and work that will be required to
complete the project. This information can
then be used to prioritize projects and discern
which ones are worth pursuing based on
technical and economic feasibility.
Agile Methodology
• Inception
• During the second step, inception, team members
are identified, funding is established and the initial
requirements are discussed with the customer. A
timeline should also be created that outlines the
various responsibilities of teams and clearly defines
when work is expected to be completed for
each sprint. A sprint is a set period of time during
which specific work has to be completed and made
ready for review.
Agile Methodology
• Iteration/construction
• The third step, iteration/construction, is when teams start
creating working software based on requirements and
continuous feedback.
• The Agile software development cycle relies on iterations -- or
single development cycles -- that build upon each other and
lead into the next step of the overall development process
until the project is completed.
• Each iteration typically lasts between two to four weeks, with
a set completion date.
• The goal is to have a working product to launch at the end of
each iteration.
Agile Methodology
• Multiple iterations occur throughout the development
cycle and they each possess their own workflow. A typical
iteration flow consists of the following:
• developing software based on the set requirements;
• conducting QA testing, internal and external training and
documentation;
• delivering and integrating the working product into
production; and
• gathering customer and stakeholder feedback on the
iteration in order to define new requirements for the next
sprint.
Agile Methodology
• Release
• The fourth step, release, involves final QA
testing, resolution of any remaining defects,
finalization of the system and user
documentation and, at the end, release of the
final iteration into production.
Agile Methodology
• Production
• After the release, the fifth step, production,
focuses on the ongoing support necessary to
maintain the software. The development
teams must keep the software running
smoothly while also teaching users exactly
how to use it. The production phase continues
until the support has ended or the product is
planned for retirement.
Agile Methodology
• Retirement
• The final step, retirement, incorporates all
end-of-life activities, such as notifying
customers and final migration. The system
release must be removed from production.
This is usually done when a system needs to
be replaced by a new release or if the system
becomes outdated, unnecessary or starts to
go against the business model.
Agile Methodology
• Types of Agile methodologies
• The goal of every Agile methodology is to
embrace and adapt to change while delivering
working software as efficiently as possible.
However, each method varies in the way it
defines the steps of software development.
The most widely used Agile methods include
the following:
Agile Methodology
• Types of Agile methodologies
• Scrum
• Lean software development
• Extreme programming
• Crystal
• Dynamic systems development method
• Feature-driven development
OOP in agile
• How does object-oriented programming fit into
agile software development?
• Benefits of OOP in agile:
• Object-oriented programming (OOP) can provide
several benefits for agile software development,
such as code reuse, modularity, abstraction, and
polymorphism.
• Code reuse enables creating reusable components
that can save time and effort while reducing
duplication and errors.
OOP in agile
• Benefits of OOP in agile:
• Modularity breaks down complex problems into simpler
modules that can be developed and tested independently.
• Abstraction hides the implementation details of classes and
exposes only their interfaces which allows for changing the
implementation without affecting the functionality.
• Finally, polymorphism allows for defining different behaviors
for the same interface depending on the context, enabling
dynamic and flexible behavior to support multiple scenarios
and variations.
OOP in agile
• Challenges of OOP in agile
• OOP can pose some challenges to agile software
development, such as introducing complexity and
overhead, creating tight coupling between classes and
objects, relying heavily on inheritance to reuse code and
behavior, and making testing more difficult.
• This can make the code harder to understand, modify,
and test, and affect the quality and reliability of the
software.
• All of these can hinder feedback and improvement
cycles.

You might also like