Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
What is Agile?
A GENERAL OVERVIEW OF AGILE
Agile is a generic or “umbrella” term for an
operational framework or methodology that
strives to keep a focus on requirements by
using adaptive approaches and continuous
improvement practices.
Agile Tries to Focus the Organization On:
 Being More Flexible and More
Responsive
 Making Sure the Work Product Meets
Organizational Needs
 Closely Working with the Customer
Throughout the Work Process
 Waiting Until the Last Responsible
Moment to Finalize the Details
 Striving to be Better by Always Working
to Improve Upon the Last Product
Delivery
The Agile
Umbrella
 Scrum
 Kanban
 Large Scale Scrum (LeSS)
 Disciplined Agile Delivery (DAD)
 Scaled Agile Framework (SAFe)
 Nexus
 Extreme Programming (XP)
 Dynamic Systems Development
Methodology (DSDM)
 And Many, Many, More
Common Traits of Agile Approaches
1. Adapt to changing requirements
2. Continuously improve the work
process and the product
3. Release work incrementally
4. Inspect with each incremental
release
5. Focus on the product or work output
as the primary measure of success
6. Gain frequent customer (primary
user of the product or work output)
input
7. Utilize servant-leadership philosophy
8. Allow for self-organizing teams
Not All Agile Approaches Will Have
All of the Common Traits
The Most Important
Aspects of Agile
 Willingness to Adapt
 Continuously Improving
 Strong Reliance on
Collaboration
 Inspection and Self-
Reflection
The Manifesto for Agile Software Development
- 4 Values
Individuals and
interactions over
processes and tools
01
Working
software over
comprehensive
documentation
02
Customer
collaboration over
contract
negotiation
03
Responding to
change over
following a plan
04
The 12 Principles Behind the Agile Manifesto
Our highest priority is to
satisfy the customer through
early and continuous delivery
of valuable software
Welcome changing requirements,
even late in development. Agile
processes harness change for the
customer's competitive
advantage
Deliver working software
frequently, from a couple of
weeks to a couple of months, with
a preference to the shorter
timescale
Business people and
developers must work
together daily throughout the
project
Build projects around motivated
individuals; give them the
environment and support they
need, and trust them to get the
job done
The most efficient and effective
method of conveying information to
and within a development team is
face-to-face conversation
The 12 Principles Behind the Agile Manifesto -
Continued
Working software is the
primary measure of
progress
Agile processes promote sustainable
development; the sponsors,
developers, and users should be
able to maintain a constant pace
indefinitely
Continuous attention to
technical excellence and good
design enhances agility
Simplicity--the art of
maximizing the amount of
work not done--is essential
The best architectures,
requirements, and designs
emerge from self-organizing
teams
At regular intervals, the team
reflects on how to become more
effective, then tunes and
adjusts its behavior accordingly
The 12 Principles of Agnostic Agile
To put my customer first,
making them
independent
To do my best,
complementing theory
with practical experience
To tailor agility to
context
To understand hindering
constraints and work to
remove them
To share, learn and
improve
To respect frameworks
and their practitioners
To acknowledge
unknowns and seek help
To never mislead and to
never misrepresent
To remember that agility
is not the end goal
To acknowledge that
dogmatism is non-agile
To recognize that there is
more to agile than agile
To give to the
community as it has
given to me
What is Agile?
“Agile is the ability to create and
respond to change. It is a way of
dealing with, and ultimately
succeeding in, an uncertain and
turbulent environment.”
https://www.agilealliance.org/agile101/
What is Agile Software Development?
“Agile software development is an umbrella term
for a set of frameworks and practices based on the
values and principles expressed in the Manifesto for
Agile Software Development and the 12
Principles behind it. When you approach software
development in a particular manner, it's generally
good to live by these values and principles and use
them to help figure out the right things to do given
your particular context.”
https://www.agilealliance.org/agile101/
Differences in Agile Frameworks
A lighter approach
 Scrum
 Kanban
 Extreme Programming (XP)
 Test-Driven Development (TDD)
 Feature-Driven Development
(FDD)
A complex and/or full lifecycle
approach
 DSDM
 Scaled Agile (SAFe)
 Disciplined Agile Delivery (DAD)
Which Agile Approach Should You Use?
Simple Environment
 A product development
environment
 On-going backlog of
features and improvements
 A more continuous flow of
work
 A lighter approach
 Development Focused
Complex Environment
 A project and program
environment
 Multiple project
dependencies
 Larger development team
 A full lifecycle approach
 Project/Program Focused
Agile Interesting Facts
 Agile did not begin with the Agile Manifesto (It just gained the name ‘Agile’)
 Many Agile frameworks can date back a decade or more before the word Agile was used
to describe them
 Agile has a basis in Complexity Theory (Which in turn came from Systems
Theory)
 Agile is not just for software projects, or even just for projects
 Scrum was intended as a Product Development framework
 Software projects are complex and new methods needed – thus Agile evolved there
 Something called Agile Manufacturing also exists
 Agile does not require iterations or sprints
 The removal of iterative and incremental development and focusing on the values of Agile is
sometimes referred to as “Agility”
 Feedback loops in Agile are important; iterations developed to create that loop
 Kanban has no iterations, it is about a continuous flow
 Agile does not require daily standup meetings
 DSDM, Scrum, and other Agile Frameworks do require them
More Sources of Information
 https://agilemanifesto.org/
 https://agnosticagile.org/
 https://www.agilealliance.org/
 https://agile-mercurial.com/2018/06/27/what-is-agile/
By Joshua Render
What is Agile?
https://agile-mercurial.com

More Related Content

What is agile?

  • 1. What is Agile? A GENERAL OVERVIEW OF AGILE
  • 2. Agile is a generic or “umbrella” term for an operational framework or methodology that strives to keep a focus on requirements by using adaptive approaches and continuous improvement practices.
  • 3. Agile Tries to Focus the Organization On:  Being More Flexible and More Responsive  Making Sure the Work Product Meets Organizational Needs  Closely Working with the Customer Throughout the Work Process  Waiting Until the Last Responsible Moment to Finalize the Details  Striving to be Better by Always Working to Improve Upon the Last Product Delivery
  • 4. The Agile Umbrella  Scrum  Kanban  Large Scale Scrum (LeSS)  Disciplined Agile Delivery (DAD)  Scaled Agile Framework (SAFe)  Nexus  Extreme Programming (XP)  Dynamic Systems Development Methodology (DSDM)  And Many, Many, More
  • 5. Common Traits of Agile Approaches 1. Adapt to changing requirements 2. Continuously improve the work process and the product 3. Release work incrementally 4. Inspect with each incremental release 5. Focus on the product or work output as the primary measure of success 6. Gain frequent customer (primary user of the product or work output) input 7. Utilize servant-leadership philosophy 8. Allow for self-organizing teams
  • 6. Not All Agile Approaches Will Have All of the Common Traits
  • 7. The Most Important Aspects of Agile  Willingness to Adapt  Continuously Improving  Strong Reliance on Collaboration  Inspection and Self- Reflection
  • 8. The Manifesto for Agile Software Development - 4 Values Individuals and interactions over processes and tools 01 Working software over comprehensive documentation 02 Customer collaboration over contract negotiation 03 Responding to change over following a plan 04
  • 9. The 12 Principles Behind the Agile Manifesto Our highest priority is to satisfy the customer through early and continuous delivery of valuable software Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale Business people and developers must work together daily throughout the project Build projects around motivated individuals; give them the environment and support they need, and trust them to get the job done The most efficient and effective method of conveying information to and within a development team is face-to-face conversation
  • 10. The 12 Principles Behind the Agile Manifesto - Continued Working software is the primary measure of progress Agile processes promote sustainable development; the sponsors, developers, and users should be able to maintain a constant pace indefinitely Continuous attention to technical excellence and good design enhances agility Simplicity--the art of maximizing the amount of work not done--is essential The best architectures, requirements, and designs emerge from self-organizing teams At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly
  • 11. The 12 Principles of Agnostic Agile To put my customer first, making them independent To do my best, complementing theory with practical experience To tailor agility to context To understand hindering constraints and work to remove them To share, learn and improve To respect frameworks and their practitioners To acknowledge unknowns and seek help To never mislead and to never misrepresent To remember that agility is not the end goal To acknowledge that dogmatism is non-agile To recognize that there is more to agile than agile To give to the community as it has given to me
  • 12. What is Agile? “Agile is the ability to create and respond to change. It is a way of dealing with, and ultimately succeeding in, an uncertain and turbulent environment.” https://www.agilealliance.org/agile101/
  • 13. What is Agile Software Development? “Agile software development is an umbrella term for a set of frameworks and practices based on the values and principles expressed in the Manifesto for Agile Software Development and the 12 Principles behind it. When you approach software development in a particular manner, it's generally good to live by these values and principles and use them to help figure out the right things to do given your particular context.” https://www.agilealliance.org/agile101/
  • 14. Differences in Agile Frameworks A lighter approach  Scrum  Kanban  Extreme Programming (XP)  Test-Driven Development (TDD)  Feature-Driven Development (FDD) A complex and/or full lifecycle approach  DSDM  Scaled Agile (SAFe)  Disciplined Agile Delivery (DAD)
  • 15. Which Agile Approach Should You Use? Simple Environment  A product development environment  On-going backlog of features and improvements  A more continuous flow of work  A lighter approach  Development Focused Complex Environment  A project and program environment  Multiple project dependencies  Larger development team  A full lifecycle approach  Project/Program Focused
  • 16. Agile Interesting Facts  Agile did not begin with the Agile Manifesto (It just gained the name ‘Agile’)  Many Agile frameworks can date back a decade or more before the word Agile was used to describe them  Agile has a basis in Complexity Theory (Which in turn came from Systems Theory)  Agile is not just for software projects, or even just for projects  Scrum was intended as a Product Development framework  Software projects are complex and new methods needed – thus Agile evolved there  Something called Agile Manufacturing also exists  Agile does not require iterations or sprints  The removal of iterative and incremental development and focusing on the values of Agile is sometimes referred to as “Agility”  Feedback loops in Agile are important; iterations developed to create that loop  Kanban has no iterations, it is about a continuous flow  Agile does not require daily standup meetings  DSDM, Scrum, and other Agile Frameworks do require them
  • 17. More Sources of Information  https://agilemanifesto.org/  https://agnosticagile.org/  https://www.agilealliance.org/  https://agile-mercurial.com/2018/06/27/what-is-agile/ By Joshua Render What is Agile? https://agile-mercurial.com