The Promise of Agile Development

advertisement
The Promise of Agile
Development
Sanjiv Augustine
Sanjiv.Augustine@LitheSpeed.com
Twitter: @saugustine, @lithespeed
September 15, 16, 2011
Agenda
1. Why Agile?
2. What is Agile?
3. The Promise of Agile
1.
Personal Mastery
2.
Team Improvement
3.
Organizational Maturity
4. Q&A
2
1
What was the MOST IMPORTANT reason for adopting
Agile within your team or organization?
Why Agile?
Accelerate Time-to-Market
Enhance Ability to Manage ChangingPriorities
Increase Productivity
Enhance Software Quality
Improve Alignment Between IT and Business
Improve Project Visibility
Reduce Risk
Simplify Development Process
Other
Improved/Increased EngineeringDiscipline
Reduce Cost
Enhance Software Maintainability/Extensibility
Improved Team Morale
22%
21%
12%
10%
9%
6%
6%
4%
3%
2%
2%
2%
1%
2008 The State of Agile Development Survey, VersionOne
Agile methods maximize ROI by accelerating value
realization and providing flexibility to change.
3
Patterns of Success
Results from a 40,000 project survey (The Standish Group’s CHAOS report):
1994
15% project success rate
≈170% average cost & time overrun
2009
32% project success rate
≈70% average cost & time overrun
Top 5 reasons for success
1. User involvement
2. Executive management support
3. Clear business objectives
4. Optimizing scope
5. Agile process
“Doing projects with iterative
processes as opposed to the waterfall
method, which called for all project
requirements to be defined up front,
is a major step forward.”
Jim Johnson, Chairman of Standish
Group
Source: http://www.infoq.com/articles/Interview-Johnson-Standish-CHAOS
4
2
Are We Really Building Value?
Rates of Feature Usage in Software Projects:
Sometimes
16%
Rarely
19%
Often
13%
Never
45%
Always
7%
Always or often used:
Never or rarely used:
20%
64%
Standish Group Study Reported at XP2002 by Jim Johnson, Chairman
5
Agile by the Numbers
State of Agile Development Survey
October 2010
4770 respondents in 91 countries
Agile Adoption Rate Survey
Feb 2008
642 respondents
Speed to market:
83% indicate agile is faster or same
Team location
Success
percentage
Co-located Team
83%
Distributed teams but
physically reachable
72%
Distributed across
geographies
60%
Comparison
Average project:
Agile project:
6
30% success rate
60-80% success rate
Sources:
http://www.softwaremag.com/L.cfm?Doc=newsletter/2004-01-15/Standish
http://www.versionone.com/pdf/5thAnnualStateOfAgile_FullDataReport.pdf
http://www.ambysoft.com/surveys/agileFebruary2008.html
3
Agile – The Mainstream Method?
Who’s Adopted Agile?
Agile has now been tried:
•
•
•
•
•
•
•
In large and small companies
Across virtually every industry
In public and private sectors
On life-critical and mission-critical
projects
With collocated and distributed teams
In internal IT departments, commercial
product companies and consultancies
On software and non-software projects
Federal Government
Drivers
FCIOs 25 point program
DoD CIO’s Agile Acquisition program
•
•
Companies large & small, across industries.
• Accenture
• AFBA
• Key Bank
• BLS
• Kronos
• BMC Software
• Lockheed Martin
• Boeing
• Macquarie Bank
• British Telecom
• Microsoft
• Business Week
• National Archives
• Capital One
• Nationwide
• CDC
• Primavera
• Cognizant
• ProRail
• CSC
• Sapient
• DoD
• Siemens
• DTE Energy
• Shopzilla
• EMC
• ThoughtWorks
• EPA
• USAA
• General Dynamics
• US Intelligence Agencies
• Google
• US PTO
• JP Morgan Chase
• VA
• Yahoo!
7
What is Agile?
Scrum
49.1%
Scrum/XP Hybrid
22.3%
Extreme Programming (XP)
8.0%
Custom/Hybrid
5.3%
Don’t Know
3.7%
Agile Unified Process (AgileUP)
2.2%
Other
2.2%
Feature-Driven Development (FDD) 2.1%
Lean Development
1.9%
Dynamic Systems Development
Method (DSDM)
1.4%
OpenUP
Agile Modeling
Crystal
0.6%
0.6%
0.5%
2008 The State of Agile Development Survey, VersionOne
Agile is an umbrella term for a group of software
development methods.
8
4
The Agile Landscape
“Agile” describes a series of related
methodologies.
Agile Methodologies
•
Scrum
Ken Schwaber and Jeff Sutherland
•
eXtreme Programming
Kent Beck, Ward Cunningham, Ron Jeffries
•
Crystal Methods
Alistair Cockburn
•
Feature Driven Development
Jeff DeLuca
•
Dynamic Systems Development Method
DSDM Consortium
•
Kanban
Lean Systems and Software Consortium
Agile Management Frameworks
•
Agile Project Management
Jim Highsmith, Sanjiv Augustine
•
Agile Management
David Anderson
•
eXtreme Project Management
Rob Thomsett, Doug DeCarlo
Source: 2009 State of Agile Development
Survey, VersionOne
9
Key Principles of Agility
Key Agile principles are:
•
Focus on Customer Value – Align project,
product and team visions to deliver better
product quality – faster and cheaper.
•
Small Batches - Create a flow of value to
customers by “chunking” feature delivery
into small increments.
•
Small, Integrated Teams - Intense
collaboration via face-to-face
communication, collocation, etc;
diversified roles on integrated, selforganizing, self-disciplined teams.
•
Small, Continuous Improvements – Teams
reflect, learn and adapt to change; work
informs the plan.
Delivering Customer Value with
Agile Project Management
The right product, at the right
time, for the right price.
•
Higher Quality: “Designed-tofit” product with flexibility to
change.
•
Increased Throughput: Iterative
and incremental project and
product “chunks” with earlier
value delivery.
•
Reduced Waste: Lean, efficient
processes with lower costs and
higher productivity.
10
5
An Agile Process: The Scrum Cycle
Initial Planning
The Sprint Cycle
Discovery
Session
Sprint
Release
Planning
Daily
Scrum
Sprint
Planning
Sprint
Review
Retrospective
Product Backlog
Sprint Backlog
Production-Ready Features
11
Scrum Milestones
Product
Backlog
Sprint
Backlog
Sprint
Backlog
Sprint
Backlog
Sprint
Backlog
Sprint
Backlog
Sprint
Backlog
• ______
• ______
• ______
• ______
• ______
• ______
• ______
• ______
• ______
• ______
• ______
• ______
F1
Sprint Planning
F2
F3
U
S
6
U
S
3
Release 1
F1, F2, F3
U
S
8
F1
F4
F2
F5
F3
F6
Release Planning
U
S
8
U
S
3
U
S
5
U
S
2
Sprint Planning
U
S
7
U
S
7
Sprint Planning
U
S
5
U
S
4
U
S
1
Release Planning
U
S
2
U
S
6
Sprint Planning
Release Planning
Discovery
Session
U
S
4
Sprint Planning
U
S
1
Initial Planning
Sprint Planning
• ____________
• ____________
• ____________
• ____________
• ____________
Release 2
F1, F2, F3
F4, F5, F6
12
6
Small, Integrated Teams
Traditional Silos
The Core Project
Team ideally
consists of 5-9
dedicated
members (7 +/2).
PM
Customer
Designer
Designers
BA
BA
Analysts
Developer
Developer
Developer
Developer
Devs
Release
Manager
Architect
BA
Designer
Risk
Assessor
Capacity
Planner
BA /
Tester
Developer /
BA
Core
Team
Prod.
SM
(EXAMPLE)
Tester
Developer
Tech
Ops
Product
Owner
Tester
Tester
Testers
The Extended
Team can contain
many additional
members, each
playing an
important role,
but they are
typically not
dedicated to the
effort.
Security
Business
Sponsor
13
Before – Cubicle “Walls of Separation”
14
7
After – Collaborative Common Space
15
The Promise of
Agile
Agile adoption can drive
significant improvement
at multiple levels:
individual, team and
organization.
16
8
Personal Mastery through Flow
People are in the most happy when they’re in a state of flow.
- Mihaly Csikszentmihalyi
Happiness in Action - the eight elements
of Flow:
1. Clear goals
2. Direct, immediate feedback
3. Balance between skills and challenges
4. Deep concentration on the task at
hand
5. Complete involvement in the present
6. A strong sense of control
7. An altered sense of time
8. A loss of self/ego
17
During Flow, focus maximizes
performance and pleasure.
Image Source: http://www.pbs.org/thisemotionallife/blogs/flow
Team Improvement with Agile Development
Agile Engineering Practices allow
teams to move fast, be flexible
and deliver high quality software:
• Automated Builds & Continuous
Integration reduce time and effort
associated with manual builds, and
risk from big-bang integrations
• Simple Design & Refactoring keep
incremental development from
leading to poor architectures
• Multi-Level/Automated Testing &
Test-Driven Development reduce
testing time and effort and allow
developers to make changes with
confidence
• Pair Programming increases
software quality without impacting
time to deliver.
18
Bill Wake, http://www.xp123.com
Agile Engineering, Pg. 124
9
Team Evolution with Agile Management
From Agile Development
to Agile Management
•
•
•
Cross-functional, integrated teams
improve collaboration, reduce
handoffs and associated waste
Customer development a la Lean
Startup reduces risk and enables
experimentation
Working across Business-IT silos
drives greater product and process
innovation
19
Incorporating Ideation into Agile
Outside the Room In the Room
Customer Development
PreDiscovery
Participants:
•
Product Team
•
IT Architecture
•
UE Team
•
Key Business
Stakeholders
Release
Planning
Discovery
Participants:
• Whole Team
• Key Business
Stakeholders
Sprint
Planning
Sprint
Review
Sprint
Process Execution
20
10
Driving Organizational Maturity
From Agile Management
to Enterprise Agile
•
•
•
•
Agile PMOs to facilitate agile program
management
Lean portfolio management for faster
speed-to-value, lower waster and better
flexibility
Agile performance management for
empowered workers and bottom-up
organizational improvement
Lean process improvement to optimize
the whole and create and agile
enterprise.
21
Contact Us for Further Information
Sanjiv Augustine
President
Sanjiv.Augustine@lithespeed.com
Arlen Bankston
Executive Vice President
Arlen.Bankston@lithespeed.com
David Bulkin
Vice President
David.Bulkin@lithespeed.com
Bob Payne
Vice President
Bob.Payne@lithespeed.com
On the Web: http://www.lithespeed.com
"I only wish I had read this book when I started my career in
software product management, or even better yet, when I was
given my first project to manage. In addition to providing an
excellent handbook for managing with agile software development
methodologies, Managing Agile Projects offers a guide to more
effective project management in many business settings."
John P. Barnes, former Vice President of Product Management at
Emergis, Inc.
22
11
Misconceptions: What Agile is Not
Agile is not:
• New
• A silver bullet
• A solution to resource issues
• Without planning, documentation, architecture…
• A license to hack
• An excuse for poor quality
• Undisciplined
• About throwing away areas of expertise
• Unproven
• Used only on the lunatic fringe
23
Why Agile Works - Control Systems
•
Hitting moving targets
•
Convergence towards a goal
•
Balance oscillation and drift
24
12
Download