Escolar Documentos
Profissional Documentos
Cultura Documentos
Dean Leffingwell
Agile 2009
Chicago, IL
August 26, 2009
1
About Dean Leffingwell
Cofounder/Advisor Founder/CEO
Ping Identity, Roving Planet, Requisite, Inc.
Rally Software Makers of RequisitePro
2
More from Dean Leffingwell
3
If you accept the premise that market needs change faster
than the software industry’s traditional ability to develop
soluions, you’re left with the question “what can we do about
it?” For me, the answer is Agile.
4
BMC Results
“We place the highest value on actual implementation and taking action.
There are many things one doesn’t understand; therefore, we ask them,
why don’t you just go ahead and take action?
You realize how little you know, and you face your own failures and redo
it again, and at the second trial you realize another mistake . . . So you
can redo it once again.
So by constant improvement one can rise to the higher level of practice
and knowledge.
This guidance reminds us that there is no problem too large to be solved
if we are only willing to take the first step.”
– FuijoSho, President, Toyota
6
What Is Software Agility?
7
Team Agility
A disciplined set of
– enhanced software engineering practices
– empirical software project management practices
– modified social behaviors
That empowers teams to:
– more rapidly deliver quality software
– explicitly driven by intimate and immediate customer feedback
8
Achieving Team Agility
9
Enterprise Agility
A set of
– organizational best practices
– core values and beliefs
10
Achieving Enterprise Agility
1. Intentional Architecture
2. Lean Requirements at Scale
3. Systems of Systems and the Agile Release Train
4. Managing Highly Distributed Development
5. Impact on Customers and Operations
6. Changing the Organization
7. Measuring Business Performance
11
Agile Turns Tradition Upside-Down
12
Helps Avoid the Death March
Deadline
Peak performance
achieved and
Pressure
maintained indefinitely
at a sustainable pace
Time
13
Reduces Risk
Deadline
Risk
Time
14
Starts Delivering Immediately
Deadline
Value Delivery
Time
15
Makes Money Faster
Deadline
Value Delivery
Time
16
Delivers Better Fit for Purpose
Measure of
agile waterfall customer
(adaptive) plan, result dissatisfaction
Time
17
Agile Delivers Higher
18
► Our implementation of agile practices . . . helps us find bugs
earlier, helps us achieve higher quality, and helps us work well
with SW QA
Jon Spence, Medtronic
19
►
► Last year, we had 22 releases across 3 major product lines, and
not a one of them was late. We support hundreds of Fortune
1000 enterprises with a single person dedicated to support --
the software is that solid
Andre Durand, CEO, Ping Identity Corp.
►
► We increased individual developer and team productivity by an
estimated 20 percent to 50 percent
BMC Software
20
►
► Development teams are more engaged, empowered and highly
supportive of the new development process
BMC Software
►
► Our implementation of agile practices . . . (1) makes the work
more enjoyable, (2) helps us work together, and (3) is
empowering
Jon Spence, Medtronic
21
Seven Agile Team
Practices That Scale
22
1. Define/Build/Test Team
Management Challenge:
Connect the Silos
23
D/B/T Team – Agile Fractal
24
D/B/T Teams Have the Necessary Skills
Architect
QA/Release
Mgt
Tech lead Scrum / Agile Master
25
2. Mastering the Iteration
26
Iteration Pattern
Story A
Story B
Story C
Fixed Resources
Story D
Plan
Story E
Story F Plan
Story …
Define
Define Fixed Time (Iteration)
27
3. Two-Level Planning and Tracking
Release Cycle
28
Release Pattern
Prioritized
Release (feature)
Backlog
Stories
Release timebox
29
4. Smaller, More Frequent Releases
Cycle
Cycle Cycle
Cycle Cycle
Cycle Cycle
Cycle Cycle
Cycle Cycle
Cycle
30
Fix the Dates - Float the Features
Releasable Releasable
Increment Increment
31
5. Concurrent Testing
32
Concurrent
Unit Testing
– Developer written
Acceptance Testing
– Customer, product owner, tester written
Component Testing
– Integrated BVT (build verification tests) at component/module
level
System, Performance and Reliability Testing
– Systems tester and developer Written
– QA Involvement
33
Agile Testing Quadrants
Critique Product
Q2 Q3
Q1 Q4
34
On Test Automation
35
6. Continuous Integration
36
Memo from an XP Shop
“The XP environment provides us with many benefits, not the least of which is the incredible
pace of progress we are so proud of. Lately we have had a rash of build failures, some related
to infrastructure issues, but more related to carelessness. Broken builds destroy the
“heartbeat” of an XP team. Each of you has a primary responsibility to ensure that this doesn’t
happen . . . but here are a few tips to ensure that you aren’t the one who broke the build:
– Write your test cases before you write the code
– Build and test the code on your desktop BEFORE you check it in
– Make sure you run all of the cases that the build does
– Do not comment-out inconveniently failing unit tests. Find out why they are broken,
and either fix the test or fix your code
– If you are changing code that may affect another team, ASK before you check it in
– Do not leave the building until you are SURE your last check-in built successfully
and the unit tests all ran
The Build master is there to make sure that broken builds get addressed, not to address them.
The responsibility for a broken build is yours. Breaking the build will have an affect on your
standing within the team and, potentially, your review, so let’s be careful out there.”
37
Continuous Integration Success
38
7. Regular Reflection and Adaptation
39
Achieving Enterprise
Agility
40
1. Intentional Architecture
41
Principles of Agile Architecture
Produc
Produc
tt
Vision
Vision
Value Stories
+ Arch. Spikes
Architectural
- Inputs
- Ideas
- Constraints
Architectural Evolution
43
2. Lean Requirements at Scale
44
Lean Requirements at Scale
45
Vision - Management’s responsibility
46
Common and Non-functional
Requirements
48
Just-In-Time Elaboration –
Agile Team’s Responsibility
Agile investment in documenting
requirements is minimal prior to
implementation
– Features are high level, abstract
– Communicate only concept
Story
Story 11
– Little “work in process” Omnis
Omnis decus
decus
Story
Story 22
Plurubusunu
Plurubusunu
At iteration boundaries, elaboration mm
is required
– Refine the team’s understanding
– Support design, implementation and
testing
– Define acceptance criteria
User Stories are the currency
49
3. Systems of Systems and the Agile
Release Train
50
Component Agile is not System Agile
Time when you
discover you are
Planned system
not release date
A Iterate
Iterate Iterate
Iterate Iterate
Iterate
Port
Port and
and certs
certs
Internal Release External Release
Release
Release docs
docs
B Iterate
Iterate Iterate
Iterate Iterate
Iterate Iterate
Iterate Iterate
Iterate Iterate
Iterate
Port
Port and
and certs
certs
Internal Release External Release
Release
Release docs
docs
C Iterate
Iterate Iterate
Iterate Iterate
Iterate Iterate
Iterate
51
Rules of the Agile Release Train
System Sys
Sys 11 Sys
Sys 22 Sys
Sys 33 Sys
Sys 44 Sys
Sys 55 Sys
Sys 66 Sys
Sys 77 Sys
Sys 88
Iterations
Continuous
Integration
Release
Release docs
docs
Team
A Iterate
Iterate Iterate
Iterate Iterate
Iterate Iterate
Iterate Iterate
Iterate Iterate
Iterate
Ports
Ports certs
certs
Continuous
Component/ Integration
Feature/ Release
Release
Docs
Docs
Subsystem
Team B Iterate
Iterate Iterate
Iterate Iterate
Iterate Iterate
Iterate Iterate
Iterate Iterate
Iterate
Iterations
Continuous
Integration
Release
Release
Docs
Docs
Team
Iterate
Iterate Iterate
Iterate Iterate
Iterate Iterate
Iterate Iterate
Iterate Iterate
Iterate
C
Ports
Ports certs
certs
53
For discussion, see www.scalingsoftwareagility.wordpress.com
H H
H H
Rolling Wave Release Planning Drives
the Train
9-10 Business
Business State of the business
Context
Context Objectives for upcoming periods
Executives
Objectives for release
10-11 Product
Product Vision
Vision Prioritized feature set
PMs
11-12 architects
Teams plan stories for iterations
12-1 Team
Team Work out dependencies
Breakouts
Breakouts Architects and PMs, POs circulate
2-3
Draft
Draft Release
Release
|1
|1 |2
|2 |3
|3 |4
|4 Each team presents plans to group
Plan Review
Plan Review |1
Issues/impediments noted
3-4 |1 |2
|2 |3
|3 |4
|4
Problem
Problem Issues/impediments assigned
4-6 Solving
Solving // Scope
Scope Release commitment vote?
Management
Management Eng mgrs
55
Rolling Wave Release Planning Day 2
Revise
Revise Objectives for release
9-10
Objectives?
Objectives? Prioritized feature set
Eng mgrs/PMs
12-1
Final
Final Plan
Plan
|1
|1 |2
|2 |3
|3 |4
|4
Review
Review |1
1-2 |1 |2
|2 |3
|3 |4
|4
56
Release Commitment
57
4. Managing Highly Distributed
Development
58
5. Changing the Organization
Transition as a Project
“All in” or Incremental Rollout
Eliminating Impediments
Moving to Agile Portfolio Management
59
Transition as a Project
60
All-In or Incremental?
All-in
Incremental
61
Eliminating Impediments
62
Moving to Agile Portfolio Management
Changing Legacy Mindsets
From:
To:
64
Solution: Separation of Concerns
Customer
Customer preview Docs and certs upgrade Docs and certs Possible
New product
IR1 IR 2 IR 3 IR 4 IR 5
66
Process Self-Assessment Metrics
67
Team Agility Assessment Radar Chart
Product Ownership
150%
125%
100%
Development Release Planning and Tracking
75%
Practices/Infrastructure
50%
25%
0%
Team
68
Watch for these Anti-patterns…
69
Summary
70