2. Introduction to Agile
What is Agile?
Agile is an umbrella term for approaches to software
development that reflect the values and principles of the
Agile Manifesto.
It emerged in the mid-1990s as a response to the
limitations of traditional waterfall methodologies.
Agile focuses on iterative development, collaboration,
customer feedback, and responding to change.
It's a mindset that values adaptability and continuous
improvement over rigid planning.
Why Agile?
Traditional methods struggled with changing
requirements during development.
3. The Agile Manifesto
In February 2001, 17 software developers met to
discuss lightweight development methods and created
the Agile Manifesto , which states:
"We are uncovering better ways of developing software by
doing it and helping others do it."
Individuals and interactions over processes and
tools
Working software over comprehensive
documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
4. 12 Principles of Agile
The Agile Manifesto is supported by 12 principles that
provide more specific guidance for Agile teams:
1. Early & continuous
delivery of valuable
software
2. Welcome
changing requirements
3. Deliver working
software frequently
4. Business &
developers work
together daily
5. Build projects
around motivated
individuals
6. Face-to-face
conversation is best
7. Working software
is primary measure of
progress
8. Maintain
sustainable
development pace
5. Agile Software Development Life Cycle
The Agile SDLC is an iterative approach that focuses on
customer satisfaction through continuous delivery of
working software:
1. Requirements Gathering - Collect user stories
and prioritize in the product backlog
2. Design - Create simple, adaptable designs that
can evolve with changing requirements
3. Development - Build working software in short
iterations (sprints)
4. Testing - Continuous testing throughout
development, not just at the end
5. Deployment - Deliver working software frequently
for customer feedback
6. Agile Methodologies
Several methodologies implement the Agile principles in
different ways:
Scrum - Framework with defined roles, events, and
artifacts. Uses sprints (1-4 weeks) to deliver
increments of working software.
Kanban - Visual workflow management system that
limits work in progress. Focuses on continuous
delivery without fixed iterations.
Extreme Programming (XP) - Emphasizes technical
excellence through practices like pair programming,
test-driven development, and continuous
integration.
Lean Software Development - Adapts lean
7. Scrum Framework
Roles
Product Owner - Represents stakeholders, manages
product backlog
Scrum Master - Facilitates the process, removes
impediments
Development Team - Cross-functional group that
delivers the product
Events
Sprint - 1-4 week timeboxed iteration
Daily Scrum - 15-minute daily synchronization
meeting
Sprint Review - Demonstrate completed work to
stakeholders
8. Kanban Method
Kanban is a visual workflow management method that
originated in Toyota's manufacturing system and was
adapted for software development:
Visualize Workflow - Use a board with columns
representing stages of work (To Do, In Progress,
Done)
Limit Work in Progress (WIP) - Set maximum
number of items in each workflow stage to prevent
bottlenecks
Manage Flow - Monitor and optimize the smooth
movement of work items through the system
Make Process Policies Explicit - Clearly define how
work moves through the workflow
9. Agile vs. Waterfall
Agile and Waterfall represent two fundamentally different
approaches to software development:
Aspect Agile Waterfall
Development
Iterative and
incremental
Sequential and linear
Requirements Evolving throughout Defined upfront
Customer
Involvement
Continuous
throughout
Mainly at beginning
and end
Testing
Throughout
development
After development
phase
Flexibility
Highly adaptable to
changes
Resistant to changes
Delivery
Frequent incremental
releases
Single delivery at
project end
10. Benefits of Agile
Key Advantages of Agile Methodology
Customer Satisfaction - Early and continuous
delivery of valuable software
Adaptability - Ability to respond to changing
requirements even late in development
Improved Quality - Regular testing and reviews
throughout development
Better Visibility - Transparent process with
regular progress updates
Faster Time to Market - Incremental delivery
allows for earlier product launches
Reduced Risk - Early identification of issues and
11. Challenges in Agile Implementation
Despite its benefits, organizations often face several
challenges when implementing Agile methodologies:
Organizational Culture Resistance - Traditional
hierarchical structures may resist the self-organizing
team approach.
Scaling Issues - Difficulties in scaling Agile
practices for large, complex projects or multiple
teams.
Management Buy-in - Lack of understanding or
support from upper management can hinder
implementation.
Requirement Volatility - Excessive changes can
lead to scope creep and project delays despite Agile's
flexibility.
12. Conclusion and References
Key Takeaways
Agile is a mindset that values adaptability, collaboration,
and customer satisfaction.
The Agile Manifesto's 4 values and 12 principles provide
guidance for software development teams.
Agile methodologies (Scrum, Kanban, XP) offer
frameworks to implement Agile principles.
Agile SDLC emphasizes iterative development,
continuous feedback, and delivering working software.
References
1. Agile Alliance. (2025). What is Agile? Retrieved from agilealliance.org
Thank You!
Any Questions?
Supervised by:
Dr. Yahya Ismail Al-Ashmoori
Prepared by:
Mohammed Raie