Agile SDLC (Software
Development Life Cycle)
⚫ Software Development Life Cycle (SDLC) is a
process of maintaining or building
software applications/services/systems.
⚫ The Agile Software Development Life Cycle
(SDLC) is an iterative and
incremental software development
methodology that prioritizes flexibility,
collaboration, and customer feedback.
Fall-2024-Dr. Josbert UNES Ruhengeri
Agile SDLC (Software
Development Life Cycle)
⚫
Fall-2024-Dr. Josbert UNES Ruhengeri
The major factors of agile, according
to Agile Manifesto
⚫ Quick customer involvement
⚫ Iterative development
⚫ Self-organizing teams
⚫ Adaptation to change
Fall-2024-Dr. Josbert UNES Ruhengeri
Steps of Agile SDLC Model
Fall-2024-Dr. Josbert UNES Ruhengeri
Steps of Agile SDLC Model
⚫ The agile model is a combination of
iterative and incremental process
models.
⚫ The steps involve in agile SDLC models
are:
Fall-2024-Dr. Josbert UNES Ruhengeri
Steps of Agile SDLC Model
⚫ Requirement gathering
⚫ Design the Requirements
⚫ Coding
⚫ Testing
⚫ Deployment
⚫ Feedback
Fall-2024-Dr. Josbert UNES Ruhengeri
Steps of Agile SDLC Model
1. Requirement Gathering: takes place
with stakeholders/customers to
understand and prioritize needs for the
project.
2. Design the Requirement: defining and
clarifying the requirements that the
software system must meet.
Fall-2024-Dr. Josbert UNES Ruhengeri
Steps of Agile SDLC Model
3. Coding: During the coding step, the
development team implements the software
in short time.
4. Testing / Quality Assurance: Unit tests
are written to verify individual
components, while integration tests
check that different parts of the system
work together as intended.
Fall-2024-Dr. Josbert UNES Ruhengeri
Steps of Agile SDLC Model
5. Deployment: refers to the process of making
a software application available for use by end
users.
6. Feedback (from end-users): refers to the
process of providing information about the quality,
functionality, performance, and usability of a
software product to developers, allowing them to
identify areas for improvement and make necessary
adjustments based on end-user experiences and
observations.
Fall-2024-Dr. Josbert UNES Ruhengeri
Rules to identify the desired SDLC
There are some rules that the development
team could use to identify the desired
SDLC:
1. The size of the team
2. Geographical situation
3. Size of Software
4. Complication of software
Fall-2024-Dr. Josbert UNES Ruhengeri
Rules to identify the desired SDLC
5. Types of projects
6. Business strategies
7. Engineering capability.
Fall-2024-Dr. Josbert UNES Ruhengeri
Advantage of Agile SDLC
⚫ Responds to Change: Agile allows for
changes in requirements even late in the
development process.
⚫ Iterative Development: Features are
developed in small, manageable increments.
⚫ Continuous Testing: Regular testing at each
iteration helps identify errors, ensuring higher
quality.
Fall-2024-Dr. Josbert UNES Ruhengeri
Advantage of Agile SDLC
⚫ Frequent Feedback: Regular interaction with
customers and stakeholders ensures that
their needs are met and their feedback is
incorporated.
⚫ Cross-Functional Teams: Agile promotes
collaboration among diverse team members,
including developers, testers, designers,
and business analysts.
Fall-2024-Dr. Josbert UNES Ruhengeri
Advantage of Agile SDLC
⚫ Focus on Priorities: Agile helps teams
prioritize tasks that deliver the most
value.
⚫ Transparency: Providing clear visibility
(to the customers/stockholders) into
progress and challenges.
Fall-2024-Dr. Josbert UNES Ruhengeri
Disadvantage of Agile SDLC
⚫ Variable Scope: Regular changes in
requirements can make it hard to predict the
final scope of the project.
⚫ Inexact Costs and Timeline: Iterative
development means that the exact time
and cost of finishing the project can be
difficult to estimate in advance.
Fall-2024-Dr. Josbert UNES Ruhengeri
Disadvantage of Agile SDLC
⚫ Minimal Documentation: Agile
focuses on working software over
complete documentation, which can
lead to inadequate documentation.
⚫ Changing Requirements: Continuous
changes can lead to scope creep
(increase the time to finish the system.)
Fall-2024-Dr. Josbert UNES Ruhengeri
Disadvantage of Agile SDLC
⚫ Training Needs: Teams unfamiliar with Agile
need training to understand and successfully
implement Agile practices, which can be
time-consuming.
⚫ Continuous Integration Demands: Agile
requires regular integration of new code,
which can be technically challenging and
require robust tools and practices.
Fall-2024-Dr. Josbert UNES Ruhengeri
Disadvantage of Agile SDLC
⚫ Technical charges: Rapid
development cycles can result in the
accumulation of technical charges if
not managed properly, affecting
future maintainability.
Fall-2024-Dr. Josbert UNES Ruhengeri
Summary
⚫ The Agile SDLC model offers a flexible
and iterative approach to software
development, promoting continuous
collaboration, rapid delivery, and
responsiveness to change.
Fall-2024-Dr. Josbert UNES Ruhengeri