Agile - Overview
What is Agile, Agile Manifesto, Agile principles and Agile Methodologies
Balaji Sathram, PMI-ACP, CSP, CSM.
31st March 2015.
Agenda
• What is Agile?
• Agile Manifesto
• Agile principles
• Agile Methodologies
2
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
References
• Agile manifesto
• Wikipedia
• All About Agile
• Coaching Agile Teams
19
Q&A
20
Thank you
21

Agile-overview: Agile Manifesto, Agile principles and Agile Methodologies

  • 1.
    Agile - Overview Whatis Agile, Agile Manifesto, Agile principles and Agile Methodologies Balaji Sathram, PMI-ACP, CSP, CSM. 31st March 2015.
  • 2.
    Agenda • What isAgile? • 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 • In2001, 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. Ourhighest 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 changingrequirements, 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 workingsoftware 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 peopleand 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 projectsaround 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 mostefficient 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 softwareis 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 processespromote 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 attentionto 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 artof 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 bestarchitectures, 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 regularintervals, 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 • Ifyou 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
  • 19.
    References • Agile manifesto •Wikipedia • All About Agile • Coaching Agile Teams 19
  • 20.
  • 21.