Diamond Application Development Crafting Solutions with Precision
Agile-overview: Agile Manifesto, Agile principles and Agile Methodologies
1. Agile - Overview
What is Agile, Agile Manifesto, Agile principles and Agile Methodologies
Balaji Sathram, PMI-ACP, CSP, CSM.
31st March 2015.
2. Agenda
• What is Agile?
• Agile Manifesto
• Agile principles
• Agile Methodologies
2
3. What is Agile?
• Agile development is an umbrella term that describes several agile
methodologies to handle IT teams and projects. The word ‘Agile’ is
derived from agile manifesto (http://agilemanifesto.org/)
3
4. Agile manifesto
• In 2001, a group of people
got together to discuss
about better ways of
software development as
the traditional approach
was failing in reaching
customer requirements.
After many discussions,
they came up with the
agile manifesto
Image Source: http://udayanbanerjee.wordpress.com/category/agile
4
5. Agile manifesto Continued…
• We are uncovering better ways of developing software by doing it and
helping others does it. Through this work we have come to value
5
6. Agile Principles
1. Our highest priority is to satisfy the
customer through early and continuous
delivery of valuable software.
Unlike the traditional software development (Delivery
after months/years of work), small components of the
project functionality are delivered within weeks after
starting the project. It is incremental delivery rather
than a single delivery. Features having high business
value getting delivered early and continuously gains
customer satisfaction which is very critical in business.
6
7. 2. Welcome changing requirements, even late in development. Agile
processes harness change for the customer's competitive advantage.
Main objective of the agile software development is to give a competitive edge to
customer by implementing evolving requirements at any point of time throughout
the project
7
8. 3. Deliver working software frequently, from a couple of weeks to a
couple of months, with a preference to the shorter timescale.
Agile development focuses on fast, iterative deliveries than traditional one-time
deliveries
8
9. 4. Business people and developers must
work together daily throughout the
project.
In Agile software development, development team
works closely with business people/customers on
daily basis and takes their feedback. With this
better working relationship is established and
development team will correct their mistakes
quickly based on customer’s feedback
9
10. 5. Build projects around motivated
individuals. Give them the environment
and support they need, and trust them
to get the job done.
Agile software development emphasizes on
team culture; concentrates more on factors
which build trust in the team. Agile strongly
believes that these are the reasons for
team’s/software’s success
10
11. 6. The most efficient and effective method of
conveying information to and within a
development team is face-to-face conversation.
Agile development encourages face to face conversations
as it is better compared to e-mail/ phone/ communicator.
It avoids many mis-understandings and confusions
11
12. 7. Working software is the primary
measure of progress.
In Agile development, progress & success is
measured by working software (i.e. the
component of software which ready to get
delivered to customer / delivered to customer)
12
13. 8. Agile processes promote sustainable development. The sponsors, developers,
and users should be able to maintain a constant pace indefinitely.
Agile development progresses in very consistent; neither slow nor fast. Total team is responsible
and accountable for the same
13
14. 9. Continuous attention to technical
excellence and good design enhances
agility.
We know that agile development focuses on extrinsic
quality (customer satisfaction & Product quality) and
along with this it takes care of intrinsic quality as
well by following best agile development practices
14
15. 10. Simplicity--the art of maximizing the
amount of work not done--is essential.
Agile development always keeps software
simple, workable and easy to maintain.
Traditionally developed software products are
complex due to cumbersome design,
requirements etc.
15
16. 11. The best architectures,
requirements, and designs emerge
from self-organizing teams.
Agile development believes that best
architectures, requirements, and designs
emerge from self-organizing teams as
there are no hierarchies involved here. The
team is empowered to organize
themselves to be more effective and
efficient. Transparency, inspect, adapt,
Continuous planning, Continuous
customer feedback and customer
collaboration makes team self-organizing
16
17. 12. At regular intervals, the team reflects
on how to become more effective, then
tunes and adjusts its behavior accordingly.
In traditional software development approach,
team will be waiting till the end of the project to
conduct post-project review. But agile software
development emphasizes continuous review. Team
member can give feedback to team member or to
process @ any point of time by writing it in post-
it/face to face. Inspecting and adapting
continuously solves many of the repetitive issues
experienced by many teams and projects.
17
18. Agile Methodologies
• If you assume as Agile as umbrella (as shown
in figure), it consists several specific
methodologies under its shadow. Broadly
agile methodologies are classified in to 2
types
1.Light weight Approaches
2.Fuller Approaches
18