an introduction to agility
TRANSCRIPT
© 2011 IBM Corporation
An Introduction to Agility
Martin Stenkilde, Rational Technical Executive, CEE
© 2011 IBM Corporation
Building a smarter planet
2 2
Agenda & Introduction
Introduction & Objectives
Why Agile?
How?
Key Aspect of Successful Agile Adoption
Scalability
Summary
© 2011 IBM Corporation
Building a smarter planet
3 3
Agile Motivation: CIO study
0.0%
2.0%
4.0%
6.0%
8.0%
10.0%
12.0%
14.0%
16.0%
18.0%
2008 1998 0.0%
2.0%
4.0%
6.0%
8.0%
10.0%
12.0%
14.0%
16.0%
18.0%
2007 2006 2005 2004 2003 2001 2000 1999
Trend Line
15.0% 15.9%
9.7% 10.1%
2002
1.3%
0.0% 1.6% 2.5% 2.7%
3.2% 3.0%
Source: Gartner
Executive Programs CIO Survey
Increases in CIO Budgets Over Previous Year, 1998-2009 (Worldwide)
2009
0.16%
2011 Demand for IT Services
“The economic downturn forced deep cuts in IT budgets. Now, as CIO’s plan for the recovery,
they are facing unprecedented demand for IT services from the business. At the same time,
organizations are still keeping spending tightly under control.”
CIOUpdate.com August 3, 2010
http://www.cioupdate.com/budgets/article.php/3896646/How-to-Get-the-Budget-You-Need-in-2011.htm
The Key: Improve delivery with the resources you have
© 2011 IBM Corporation
Building a smarter planet
6 6
Agile Principles
Working Software
Individuals Interactions
Customer Collaboration
Source: www.agilemanifesto.org
Comprehensive Documentation
Processes and Tools
Following a Plan
Contract Negotiation
over We value
Responding to Change
© 2011 IBM Corporation
Building a smarter planet
7
Agile principles
1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
4. Business people and developers must work together daily throughout the project.
5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
Source: www.agilemanifesto.org/principles.html
(Continued…)
© 2011 IBM Corporation
Building a smarter planet
8
Agile principles (continued)
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. The sponsors, developers,
and users should be able to maintain a constant pace indefinitely.
9. Continuous attention to technical excellence and good design enhances agility.
10. Simplicity – the art of maximizing the amount of work not done – is essential.
11. The best architectures, requirements, and designs emerge from self-organizing
teams.
12. At regular intervals, the team reflects on how to become more effective, then
tunes and adjusts its behavior accordingly.
Source: www.agilemanifesto.org/principles.html
© 2011 IBM Corporation
Building a smarter planet
9
What is agile?
Agile is a highly collaborative, evolutionary, quality focused approach to
software development.
Agility gives you..
– Focus on collaboration
– Focus on quality
– Focus on working solutions
– Agilists are generalizing specialists
– Agile is based on practice, not theory
© 2011 IBM Corporation
Building a smarter planet
10
•Just enough planning
• Time-boxed iterations
• Velocity
• Alternate Routes
• Handling Surprises
• Retrospective
• Team work
• Motivating the Team
• Differing Stakeholder Goals
• Workspace Considerations
• Repeatable, Sustainable Iterations
Agile Characteristics – Example, the family trip
© 2011 IBM Corporation
Building a smarter planet
11
Principles of Lean Software Development
Eliminate Waste Defer Commitment
Keep options open
Deliver Fast
Queuing theory
Optimize the Whole • Systems thinking
Build Quality In
• Foundation Disciplines
• Continuous Validation
Focus on Learning
Product & process
Respect People
• Teams
• Partners
• 20-80 Rule
• JIT
© 2011 IBM Corporation
Building a smarter planet
12 IBM Internal Use Only : With Thanks to Mary and Tom Poppendieck
Agile and Lean are complementary
Agile
– A philosophy that concentrates on delivering things that have value to a
customer
– Avoid things that have no value to the customer
– Don’t believe in the “big detailed plan”
Lean
– Started as a management approach for streamlining production.
– Avoid all waste
– Get the customer involved at the earliest opportunity Avoid
waste!!
Deliver
value!!!
© 2011 IBM Corporation
Building a smarter planet
17 17
Key Aspects of Successful Agile Deployment
Methodology
Tools
People
© 2011 IBM Corporation
Building a smarter planet
18 18
People
Individual Creativity
1 + 1 = 3
Consider:
–Training
–On-going mentoring and coaching
–Culture
Business stakeholder involvement
© 2011 IBM Corporation
Building a smarter planet
19 19
Methodology
Decide for an agile methodology
Good to start from small and let it grow with you
Methodology should be tailored for your local needs
Think about the model you work
– one team, internal development
– more teams, internal development
– internal development, a lot of people working on bodyshopping
– some internal, some external work
– internally mainly requirements&testing, all the rest is subcontracted
– ...
© 2011 IBM Corporation
Building a smarter planet
20 20
Tools
NO AGILITY WITH RIGID TOOLS
Tools Should Enable Key Agile Practices
Removing the Administration
© 2011 IBM Corporation
Building a smarter planet
21 21
How to Start Right
Establish a sprint heartbeat via short iterations
Establish executive commitment and involvement
Create a dedicated, cross-functional rollout team
Focus on automation
Provide radical transparency and over-communicate
Leverage existing Agile training
Get outside coaching early
Prioritize build and test infrastructure early
Be clear about what the Agile “rules” are
Encourage peer-to-peer communication
Think about tools to track progress
Be inclusive
Be patient and expect to make mistakes
© 2011 IBM Corporation
Building a smarter planet
22 22
Is Agile Measurable? ~ How Agile are we?
http://jazz.net/blog/index.php/2011/01/26/what-is-your-agile-fitness
© 2011 IBM Corporation
Building a smarter planet
23 23
Is Agile Measurable? ~ How Agile are we?
1. Value: Produce a consumable solution on a regular basis which provides value to stakeholders.
2. Validation: Do continuous regression testing, and better yet take a Test-Driven Development (TDD) approach.
3. Stakeholders: Work closely with their stakeholders, or a stakeholder proxy, ideally on a daily basis.
4. Self-organization: Are self-organizing and work within an appropriate governance framework.
5. Improvement: Regularly reflect on, and measure, how they work together and then act to improve on their findings in a timely manner.
Source: Scaling Agile: An Executive Guide, ftp://public.dhe.ibm.com/common/ssi/sa/wh/n/raw14211usen/RAW14211USEN.PDF
© 2011 IBM Corporation
Building a smarter planet
24 24
Can Agility be Scaled?
Domain Complexity
Straight -forward
Intricate/ Emerging
Compliance requirement
Low risk Critical, Audited
Team size
Under 10 developers
1000’s of developers
Co-located
Geographical distribution
Global
Enterprise discipline
Project focus
Enterprise focus
Technical complexity
Homogenous Heterogeneous,
Legacy
Organization distribution (outsourcing, partnerships)
Collaborative Contractual
Disciplined Agile
Delivery
Flexible Rigid
Organizational complexity
© 2011 IBM Corporation
Building a smarter planet
25
What is Disciplined Agile Delivery?
Unified Process
(UP)
Extreme
Programming (XP)
Scrum Agile
Modeling
Disciplined Agile
Delivery (DAD)
DAD is a hybrid process framework adopt best practices and philosophies from several methodologies
© 2011 IBM Corporation
Building a smarter planet
26
The Disciplined Agile Delivery (DAD) life cycle
The Disciplined Agile Delivery (DAD) process framework is a people-first, hybrid
agile approach to IT solution delivery. It has a risk-value lifecycle, is goal-
driven, and is scaleable.
© 2011 IBM Corporation
Building a smarter planet
27
What is disciplined agile? Disciplined agile delivery is an evolutionary (iterative and
incremental) approach that regularly produces high quality
solutions in a cost-effective and timely manner via a risk and
value driven lifecycle.
It is performed in a highly collaborative, disciplined, and self-
organizing manner within an appropriate governance framework,
with active stakeholder participation to ensure that the team
understands and addresses the changing needs of its
stakeholders.
Disciplined agile delivery teams provide repeatable results by
adopting just the right amount of ceremony for the situation which
they face.
© 2011 IBM Corporation
Building a smarter planet
28 28
Scaling Agility: Agile Scaling Model (ASM)
Core Agile Development
Focus is on construction
Goal is to develop a high-quality system in an evolutionary,
collaborative, and self-organizing manner
Value-driven lifecycle with regular production of working sw
Small, co-located team developing straightforward software
Disciplined Agile Delivery
Extends agile development to address full system lifecycle
Risk and value-driven lifecycle
Self organization within an appropriate governance framework
Small, co-located team delivering a straightforward solution
Agility at Scale
Disciplined agile delivery and one or more scaling factors
© 2011 IBM Corporation
Building a smarter planet
29 29
Stay Agile
What are the meeting points?
How much Project Office could be involved?
Is ITIL around, can we integrate it?
Gantt Charts versus Agile Planning
Think Business
Business Value $0M $15M
Operational Efficiency 0% 100%
Practice Adoption 0% 100%
© 2011 IBM Corporation
Building a smarter planet
30 30
Summary: AGILE IS GREAT IF YOU...
Focus on 3 Aspects
– Methodology at the Right Scale
– Tools Supporting Agility and Colaborating With the Rest of the World
– People Getting Support and Motivation From the Mentors/Coaches
Learn from Experienced and Utilize Mentoring/Coaching
Understand Agile Adoption as a Project and Plan it
Get Support of Your Stakeholders