Introduction to Agile
Introduction to Agile
Agile Software
Development
Iram Mokashi
24th November 2023
Agenda
1. What is Agile?
2. The Principles of Agile Project Management
3. How Does Agile Software Development Process
Work?
4. Popular Tools in Agile Software Development
5. Agile Vs. Waterfall
6. Advantages of Agile Software Development
7. Disadvantages of Agile Software Development
8. Summary
What is Agile?
• The word ‘agile’ refers to the ability to move
quickly and easily.
• An Agile approach enables project teams to
adapt faster and easier compared to other
project methodologies.
• Agile splits enormous software development
tasks into smaller, more manageable parts
called iterations.
• These pieces are built, tested, and deployed in
iterations.
• Iterations are short, time-boxed periods during
which you change your application’s features
and functionality. Most importantly, you can
implement these changes quickly.
“
A g i l e o r i g i n a t e d f ro m a g ro u p o f 1 7 t e c h ex p e r t s a i m i n g t o re v o l u t i o n i z e s o ft w a re
development.
T h e y c r a ft e d t h e A g i l e M a n i f e s t o — a c o n c i s e s e t o f v a l u e s a n d p r i n c i p l e s :
1. Delivery of projects frequently, from a few weeks to a few months, with greater
preference to shorter timescales.
2. Embrace any changing requirements, even when it is late in project
development. Agile’s processes leverage change for a customer’s competitive
advantage
3. Developers and stakeholders must collaborate and work together through the
entire project.
4. Build your projects around motivated personnel. Accord them the support and
environment they need and trust that they will get everything done.
5. A face-to-face conversation is the most effi cient way of conveying information to
and within the development team.
6. A fi nal working product is the real measure of project success.
7.
5
Agile processes help promote sustainable development. The developers,
sponsors, and users must maintain the constant pace indefi nitely.
The Principles of Agile
Project Management
8. Agility is greatly enhanced through the continuous attention to good design and
technical excellence.
9. Simplicity, which is the art of maximizing the amount of incomplete work, is vital.
10. The best designs, requirements, and architectures come from self-organizing
teams.
11. At some regular intervals, the team should refl ect on how they can become more
productive, then adjusts and tunes its behavior appropriately.
6
How Does Agile Software
Development Process Work?
5. Review and
6. Retrospect:
demo:
At the end of the sprint, the team The team retrospects on the sprint,
demonstrates the completed work to discussing what went well, what didn't, and
the customer and gets feedback. what can be improved for the next sprint.
8. Continuously
7. Repeat:
improve:
The process is repeated for each sprint until The team reflects on its
the project is completed. The product is progress and makes
incrementally developed and delivered to adjustments as necessary
the customer in small chunks. to improve processes, tools,
and communication for the
next sprint.
Popular Tools in Agile Software
Development
3. Lean 4. Scrum
It is a set of tools and principles that focuses Scrum is an iterative and incremental framework
on identifying and removing waste to speed that helps teams deliver high-quality products in
up process development. a timely manner.
It is based on the principles of transparency,
Value is maximized, and waste is
inspection, and adaptation, and provides a
minimized. flexible and collaborative approach to project
It is used in just about every industry that management.
produces waste in some form. It is used by cross-functional teams that are
working on product development, and the work is
split into more than one 2-4 week iterations.
Agile Vs. Waterfall
Waterfall Agile
Flexible.
Fixed.
Agile is open to adaptation, encourages
Budget The budget for projects using the
experimentation and welcomes changes of
Waterfall methodology is generally fixed.
direction, even in later phases of the project.
11
Advantages of Agile Software
Development
• Agile enables a large amount of collaboration and interaction between the client and the
project team.
• Improved transparency, and therefore a clearer understanding of the phases of the project
is present.
• Changes can refine and re-prioritize the product backlog.
• Enables the client to prioritize different features, allowing the team to ensure maximum
project value.
• The project is broken down into smaller units, providing high-quality development, testing,
and collaboration.
Disadvantages of Agile Software
Development
• Less predictable.
• Organizational cultures can conflict with agile values.
• Constant interaction takes more time and energy for everyone involved.
• Lack of necessary documentation.
• Projects easily fall off track.
Summary
• To summarize, Agile and Waterfall are two different management methodologies best
suited for different types of projects. If you clearly understand the project outcomes
from the beginning, Waterfall may be the best fit. Waterfall is a better method when a
project must meet strict regulations as it requires deliverables for each phase before
proceeding to the next one.
• Alternatively, Agile is better suited for teams that plan on moving fast, experimenting
with direction and don’t know how the final project will look before they start. Agile is
flexible and requires a collaborative and self-motivated team, plus frequent check-ins
with business owners and stakeholders about the progress.
Thank you