The document provides an overview of Agile basics including:
- What Agile is and its iterative, incremental approach to software delivery
- The origins of Agile in the 1990s and its formalization in 2001 with the Agile Manifesto
- The four values and twelve principles of the Agile Manifesto which emphasize individuals, collaboration, customer feedback, and responding to change
2. Contents
What is Agile?
Iterative, Incremental & Time-boxed
Origins of Agile
Agile Manifesto
Agile Principles
The Agile ‘Mindset’
Benefits of Agile
Drawbacks of Agile
Popular Agile Frameworks
Notable Agile Adopters
Agile or Waterfall?
References
Copyrights
3. What is Agile?
Agile is a time-boxed, iterative approach
to software delivery that builds software
incrementally from the start of the project,
instead of trying to deliver it all at once
near the end.
– Agile in a Nutshell (www.agilenutshell.com)
4. Iterative, Incremental & Time-boxed
Iterative
Work on the project is done in a
series of iterations. Each iteration is
a mini development cycle, with its
own analysis, design, build, test
and deployment phases
Time-boxed
Each iteration is of a fixed duration
that is constant throughout the
execution of the project. The
duration can range from hours to
weeks, depending on the size of
the project executed
Incremental
The product is developed as a set
of features in each iteration. Every
feature delivered at the end of an
iteration is potentially deployable
in a live Production environment
5. Origins of Agile
Software development landscape was dominated by the ‘Waterfall’ model
Linear, non-iterative approach to software development, inspired by the
process followed in manufacturing industries
Composed of requirements gathering, design, build, test and deploy phases
Worked well prior to the 2000s, as business requirements did not change very
rapidly back then
Many ‘lightweight’ software development methods evolved in the 1990s,
which were included under the Agile umbrella after 2001
Pre-Agile Era
6. Origins of Agile
Formally conceived in February 2001 by a group of seventeen software
professionals (also known as the ‘Agile Alliance’) in Utah, USA*
Intended to reduce the burden of unnecessary processes and documentation
on software development practices, while retaining the focus on quality
software delivery
Recognizes the limits of planning in an increasingly turbulent business
environment
Stresses on the importance of people, collaboration and building
organizational communities in which people would want to work
At its core is the agile ‘mindset’ which must be adopted at the team and
organizational level
* While several agile methodologies were being practiced even before 2001, the term gained widespread formal acceptance after the meeting of the Agile Alliance
Formalization of Agile
7. Agile Manifesto
That is, while there is value in the items on the right, we value the items on the left more.
We are uncovering better ways of developing software by doing it and helping others do it.
Through this work we have come to value:
Individuals & Interactions over Processes & Tools
Working Software over Comprehensive Documentation
Customer Collaboration over Contract Negotiation
Responding to Change over Following a Plan
The Agile Alliance
February 2001
8. Agile Manifesto Individuals & Interactions over Processes & Tools
Recognizes people as the core driving
force of any project
Healthy interaction fosters mutual respect
and trust
Interactions aimed at improving
collaboration among stakeholders
Emphasis on spontaneous and open
communication
Individuals & Interactions
Facilitators for achieving project objectives
Provide a framework to the way projects
are executed
Must be balanced with other aspects of
the project such as people and delivery
No single process or tool is self-sufficient
Processes & Tools
9. Agile Manifesto Working Software over Comprehensive Documentation
Primary aim of the development effort
Tangible output of the project
Drives business outcomes and thus,
generates value for the customer
Can be maintained with ‘just enough’
documentation
Working Software
By-product of the development effort
Only when there is a strong need for
future reference
The more detailed, the more efforts it
takes, driving up the cost factor
Additional maintenance needed
Useful in cases where team member
turnover is high
Comprehensive Documentation
10. Agile Manifesto Customer Collaboration over Contract Negotiation
Recognizes customer as the most
important stakeholder on the project
Improved collaboration with customer
builds trust over time
Customer’s trust encourages prompt and
honest feedback during development
Customer engagement at every step
improves quality of the final product
Accumulates goodwill in the long run
Customer Collaboration
Primarily focused on profitability and legal
aspects of the venture
Might not involve all relevant business
stakeholders at crucial stages of drafting
End-user needs might be overlooked
Brings in elements of rigidity and formality
to they way the project is executed
Contract Negotiation
11. Agile Manifesto Responding to Change over Following a Plan
Quick response to change is crucial for
building the right product
Gives a competitive edge to the customer
in capitalizing on changing market trends
Development efforts geared towards
making changes available as early as the
next iteration
‘Keeping up with changes’ is what true
agility is all about!
Responding to Change
Lends a sense of rigidity to project
execution
Preferred when chances of requirement
changes are very low to none
Accommodating change can be expensive
Quality processes can add more cost to
the project
Following a Plan
12. Agile Principles
Our highest priority is to satisfy
the customer through early and
continuous delivery of valuable
software.
Build projects around
motivated individuals. Give
them the environment and
support they need, and trust
them to get the job done.
Continuous attention to
technical excellence and good
design enhances agility.
Welcome changing
requirements, even late in
development. Agile processes
harness change for the
customer's competitive
advantage.
The most efficient and effective
method of conveying
information to and within a
development team is face-to-
face conversation.
Simplicity – the art of
maximizing the amount of work
not done – is essential.
Deliver working software
frequently, from a couple of
weeks to a couple of months,
with a preference to the shorter
timescale.
Working software is the
primary measure of progress.
The best architectures,
requirements, and designs
emerge from self-organizing
teams.
Business people and
developers must work together
daily throughout the project.
Agile processes promote
sustainable development. The
sponsors, developers, and users
should be able to maintain a
constant pace indefinitely.
At regular intervals, the team
reflects on how to become
more effective, then tunes and
adjusts its behavior accordingly.
13. Agile Principles 1 of 12
Commitment to customer satisfaction takes the highest priority in
Agile development
Produce tangible results as early as towards the end of the first
iteration
Near continuous delivery through shorter iterations
Software delivered at the end of each iteration should hold value
for the customer, i.e., it should be directly usable in the customer’s
business process
Our highest priority is to satisfy the
customer through early and
continuous delivery of
valuable software.
14. Acknowledge that change is integral to any business environment
and must be catered for during development
Incremental development provides greater flexibility to
accommodate changes
Just-in-time planning addresses changes by allowing them to be
taken up in the next immediate iteration
Ability to quickly adapt to changes lends the customer a
competitive advantage
Changes are only taken up during iteration planning, and not
during an iteration (unless driven by acute business urgency)
Welcome changing requirements,
even late in development.
Agile processes harness change
for the customer's
competitive advantage.
Agile Principles 2 of 12
15. Software that works and thus, adds value to the customer should be
delivered at regular intervals
The shorter the iteration, the more frequent the value delivered
Shorter iteration lengths also provide frequent opportunities for
stakeholder feedback
Deliver working software
frequently, from a couple of weeks
to a couple of months,
with a preference to
the shorter timescale.
Agile Principles 3 of 12
16. Involvement of business along with the developers helps generate
timely feedback during development
Most design defects can be avoided
Daily involvement keeps business updated of the most current status
Boosts collaboration and mutual trust within the team
Requirement changes can be handled more efficiently
Business people and developers
must work together daily
throughout the project.
Agile Principles 4 of 12
17. Team members should have a sense of motivation to deliver what is
expected to the best of their abilities
Trust and mutual respect form the basis of high-performing teams
An open culture fosters transparency and free expression of
opinions and ideas
Constructive criticism and objective evaluation enable improvement
Teams must be protected from excessive bureaucracy and red-tape
Build projects around motivated
individuals. Give them the
environment and support they
need, and trust them to
get the job done.
Agile Principles 5 of 12
18. Face-to-face conversation is free of most barriers to
effective communication
Improved accuracy in transmission and reception of ideas
Non-verbal communication such as e-mail or text messages
more susceptible to communication gaps
Co-location is highly recommended for Agile teams
Frequent video conferencing, if possible, may be employed
if co-location not possible
The most efficient and effective
method of conveying information
to and within a development team
is face-to-face conversation.
Agile Principles 6 of 12
19. Only software that performs its expected function adds value
to the customer
Effectiveness of the development process is measured by its
ability to produce working software at each iteration
Testing data can provide metrics to assess ‘workability’ of the
software
New releases should not break prior versions (regression,
security and backward-compatibility)
Strong emphasis on frequent demos of the work completed
Involvement of business during testing enhances reliability
and efficiency of the process
Working software is the primary
measure of progress.
Agile Principles 7 of 12
20. After a few iterations, the pace of development should stabilize as
the teams mature and collaboration improves
‘Committed’ team members are 100% invested in the project
‘Involved’ team members such as business users should be able to
consistently devote a fair share of their time to the development
process
Incremental and iterative development reduces burnout and stress
due to timelines, thus, improving productivity
Productivity improvement, in turn, promotes a sustainable pace
Agile processes promote
sustainable development.
The sponsors, developers, and
users should be able to maintain a
constant pace indefinitely.
Agile Principles 8 of 12
21. Design should consider present and future scenarios for the feature
being worked on
Quality processes such as peer reviews should be built into the team
culture
Technical debt should be minimum and cleared at the earliest
Adoption of latest technological trends and best practices to be
considered as and when possible
Time dedicated to quality may be factored in during iteration
planning for more accurate estimation
Improvement is a continuous process and must be a shared
responsibility of everyone on the team
Continuous attention to technical
excellence and good design
enhances agility.
Agile Principles 9 of 12
22. Work that does not deliver any value to the customer should
not be undertaken
Suggestions from within the team for enhancement of features
in scope must first be evaluated by the business
‘Gold-plating’ should be avoided
Information radiators should be used to identify and arrest
scope creep as early as possible
The simpler the solution, the more effective it is
Simplicity – the art of maximizing
the amount of work not done –
is essential.
Agile Principles 10 of 12
23. Mutual trust and collaboration are essential factors for building
self-organizing teams
Respect for the individual and collective decision-making result in
an open work culture
An open culture fosters free exchange of constructive ideas that
contribute to improvement of the product
Self-organizing teams are strongly focused on a common goal of
delivering a product with the highest quality
Over time, as the team matures, it adapts more quickly to the
needs of a changing business environment
The best architectures,
requirements, and designs emerge
from self-organizing teams.
Agile Principles 11 of 12
24. Introspection and retrospection are key tools for continuous
improvement leveraged by self-organizing teams
Data points for identifying improvement areas can be obtained
from various information radiators updated on a daily basis
End of an iteration is a preferred retrospection point
Improvement measures should be unanimously adopted
Lessons learned and implemented may be formally captured for
future reference
At regular intervals, the team
reflects on how to become more
effective, then tunes and adjusts
its behavior accordingly.
Agile Principles 12 of 12
25. The Agile ‘Mindset’
Imbibing the twelve Agile Principles and the Agile Values set forth in the
Agile Manifesto
Creating an open culture based on trust and respect for each other
Focus on continuous improvement in terms of quality and timelines
Balance between customer commitments and the needs and constraints
of those who are delivering on them
Needs to be adopted organization-wide, and not just at the team level
Coaching may be needed to guide the teams in early stages of Agile
adoption
Agile
26. Benefits of Agile
Increased customer satisfaction due to incremental availability of
working product
Ease of handling and harnessing changes
Rapid realization of Return on Investment (ROI)
Balanced focus on quality and timelines
Frequent stakeholder feedback during development
Freedom from the ‘command-and-control’ style of management
Improved team dynamics
27. Drawbacks of Agile
Behavioral challenges towards adopting the Agile mindset
May take significant time for teams to become self-organizing
Incremental product may not always be cohesive
Subjective estimation prevents inter-project metrics comparison
May not be suitable for projects with immovable deadlines, such as
those within Compliance and Regulatory areas
Bare minimum documentation
28. Popular Agile Frameworks Scrum
Deliver working product incrementally in iterations called ‘sprints’
Each sprint is a mini SDLC for product features being developed
Requirements broken down into artifacts such as Product Backlog,
Sprint Backlog consisting of Features that are further decomposed into
User Stories
Teams are cross-functional and self-organizing
Roles include Product Owner, Scrum Master and Team Member
Meetings called ‘ceremonies’ at various stages of development
Estimation is usually complexity-based and in story points
29. Popular Agile Frameworks Extreme Programming (XP)
Produce working software in frequent ‘releases’
Prescribes taking traditional software development practices to their extreme,
hence the name ‘Extreme Programming’
Key activities include coding, testing, listening and designing
Based on values of communication, simplicity, feedback, courage and respect
Relies heavily on practices such as pair programming, test-driven
development, continuous integration, refactoring and coding standards
30. Popular Agile Frameworks Kanban
Lean method to manage work by balancing demands with available capacity
Originated in the Toyota Production System
Means ‘sign board’ in Japanese
Aimed at limiting the work in progress (WIP)
Employs the principle of ‘pulling’ work based on capacity, as opposed to work
being ‘pushed’ to the development process
Kanban boards provide a visual representation of work in terms of the
number of items and the stage each item is in, while also capturing WIP limits
for each stage
31. Notable Agile Adopters 1 of 2
Since 2011, the Microsoft Visual
Studio Team Services (VSTS) team has
been using Agile tools and techniques
in their development processes.
Embracing the Agile mindset and
applying Agile principles has helped
them significantly improve the way
they build software and services.
With the adoption of Agile by Cisco’s
Collaboration and Communications
Group (CCG) from 2009, the
communication giant has been able
to develop new products and refine
existing ones with close involvement
of Agile customers across industries
and market segments.
Driven by the rapidly changing
customer behavior in response to new
digital distribution channels, ING
Netherlands embarked on an Agile
transformation journey since 2015.
A constantly evolving organizational
model founded on core Agile principles
has helped ING deliver that strategy.
32. Gaining traction around 2009 among
teams developing LEGO Universe,
Agile practices have been a part of
LEGO’s digital branch since then.
From 2014, LEGO has been able to
successfully scale its Agile way of
working by implementing the Scaled
Agile Framework (SAFe) at an
organization level.
Spotify has been an adopter of Agile
since its inception in 2008. Starting
with scrum for a fewer number of
employees, the brand has
systematically scaled up in its growth
years to achieve its goals quicker by
evolving what has come to be known
as the ‘Spotify Tribe’ Model.
Zappos started its Agile adoption
journey in 2013 with a shift to
‘holocracy’, an organizational model
that distributes decision-making
authority to self-organizing circles.
Supported by the three pillars of
culture & values, purpose and market-
based dynamics, it has been able to
leverage organizational agility to
achieve its business objectives.
Notable Agile Adopters 2 of 2
33. Agile or Waterfall?
AGILE
Vague and uncertain requirements
High possibility of scope changes
Minimal documentation needed
Iterative and incremental development
Just-in-time planning
Continuous feedback from stakeholders
Quality built into development process
WATERFALL
Clear and specific requirements
Less chances of scope changes
Strong emphasis on documentation
Linear approach to development
Rigorous and elaborate planning
Little to no feedback from stakeholders
Explicit checks and processes for quality
34. References
History: The Agile Manifesto
https://agilemanifesto.org/history.html
Manifesto for Agile Software Development
https://agilemanifesto.org/
Principles behind the Agile Manifesto
https://agilemanifesto.org/principles.html
The complete history of agile software development
https://techbeacon.com/app-dev-testing/agility-beyond-history-legacy-agile-development
The Chicken and the Pig
https://www.mountaingoatsoftware.com/agile/scrum/roles/the-chicken-and-the-pig
Embracing Agile
https://hbr.org/2016/05/embracing-agile
Waterfall model - Wikipedia
https://en.wikipedia.org/wiki/Waterfall_model
Agile at LEGO
https://www.infoq.com/news/2017/09/agile-lego/
1 of 2
35. References
[PDF] Agile Product Development at Cisco: Collaborative, Customer-Centered Software Development
https://www.cisco.com/c/dam/global/en_hk/solutions/collaboration/files/agile_product_development.pdf
[Video] Agile at Microsoft
https://azure.microsoft.com/en-in/resources/videos/agile-at-microsoft/
ING’s agile transformation | McKinsey
https://www.mckinsey.com/industries/financial-services/our-insights/ings-agile-transformation
Exploring Key Elements of Spotify’s Agile Scaling Model
https://medium.com/scaled-agile-framework/exploring-key-elements-of-spotifys-agile-scaling-model-471d2a23d7ea
Safe enough to try: An interview with Zappos CEO Tony Hsieh | McKinsey
https://www.mckinsey.com/business-functions/organization/our-insights/safe-enough-to-try-an-interview-with-zappos-ceo-tony-hsieh
Scrum Methodology and Project Management
https://www.mountaingoatsoftware.com/agile/scrum
Extreme programming – Wikipedia
https://en.wikipedia.org/wiki/Extreme_programming
Kanban (development) – Wikipedia
https://en.wikipedia.org/wiki/Kanban_(development)
2 of 2