ADMs For The Rest Of Us

Download Report

Transcript ADMs For The Rest Of Us

Guilt-Free Agile Development
Plan-Driven or Agile–Why
Choose When You Can
Have The Benefits of
Both?
USC/CSE Research Review
John Manzo
Managing Partner
March 18, 2004
© AgileTek LLC 2001-2004
1 
Topics
 Who Are We, And Why Might Our Perspective Be Of
Value?
 The Limitations of Plan-Driven and Agile Methods
 A Brief Overview Of Agile+ - Best of Breed
Practices from ADMs and Plan-Driven Approaches
 Overcoming the Limitations of Agile Development –
Preserving the Baby While Throwing Out The Bath
Water
 Wrap Up
 Q&A
© AgileTek LLC 2001-2004
2 
AgileTek Company Snapshot
 A privately held professional services firm specializing in custom
software development and software advisory and training
services
 Decades of experience
 Comprised of distinguished software professionals
 Led by a highly experienced management team
 Conveniently located in Chicago
(Just a 5-minute drive from O’Hare Airport)
 Financially stable and profitable
– No debt
– No investors
© AgileTek LLC 2001-2004
3 
AgileTek Company Details
 We were early pioneers in Agile Development and
among its first practitioners (our first eXtreme
Programming project was conducted prior to Kent
Beck even publishing his first book on XP)
 We've also continuously refined our agile
development methodology over the past six years...
based on learning from real-world projects across a
broad spectrum of application domains
 AgileTek tends to work with clients that are
developing new products with dynamic and changing
requirements where time to market and the need for
tight user feedback loops are critical factors
© AgileTek LLC 2001-2004
4 
AgileTek’s Service Offerings
Custom Software Development and Co-Development
Advisory Services
 Agile+ ,Agile, and Hybrid Development Consulting
 Architecture Evaluation/Development
 Project Risk-Based Assessments
 Project Health Checks and Monitoring
 Project Turnarounds/Rejuvenation
 Software Size-Time-Effort Estimation
 All-Aspect Software Development Environment Evaluation
 Software Engineering Management
 Managing Complex Systems Development
Training/Workshops
 Managing Complex Systems Development
 The Power of Architecture
 Pre-Launch/Re-Launch Workshops
 Custom Tailored Courses
© AgileTek LLC 2001-2004
5 
Why Clients Engage AgileTek
 Accelerate time to market
 One of the highest productivity indices (PI) in our industry
 Average of 35 LOCs per coding hour
 Ability to accommodate change at minimum cost
 Higher quality
 0.5 defects for 1KLOC (~5-sigma, 6-sigma on life or safety-critical
projects)
 Experience with emerging technologies
 Pragmatic, battle-tested approaches
Wireless
XML
XSL
© AgileTek LLC 2001-2004
6 
Preamble
“They [Barry and Rich] remind us:
If one has strong discipline without
agility, the result is bureaucracy and
stagnation. Agility without discipline is
the unencumbered enthusiasm of a
startup company before it has to turn a
profit.”
Alistair Cockburn
In his Foreword to:
Balancing Agility and Discipline
© AgileTek LLC 2001-2004
7 
AgileTek’s Secret Sauce
 Top Software Engineering talent
 Decades of real-world experience developing
complex systems
 An extremely effective Software Development
Methodology influenced by:
– Contemporary Agile Methods
– Airlie Council’s Principal Best Practices
– Traditional battle-tested methods
© AgileTek LLC 2001-2004
8 
Complex DOD System Test Beds For The
Traditional Methods Used In Agile+
© AgileTek LLC 2001-2004
9 
Complex Computer System Test Beds For The
Traditional Methods Used In Agile+
© AgileTek LLC 2001-2004
10
Complex Microprocessor Array Test Beds For
The Traditional Methods Used In Agile+
9.3 Million Transistors
© AgileTek LLC 2001-2004
11
Complex Telecommunication System Test Beds
For The Traditional Methods Used In Agile+
© AgileTek LLC 2001-2004
12
The Airlie Council Developed The Nine
Principal Best Software Practices For DOD
1. Norm Brown (Director)
6. Capers Jones
11. Tim Lister
2. Vic Basili
7. Tom DeMarco
12. Tom McCabe (not pictured)
3. Frank McGrath
8. Larry Putnam
13. Grady Booch (not pictured)
4. Ed Yourdon
9. John Manzo
14. Roger Pressman (not pictured)
5. Lou Mazzucchelli
10. Mike Evans
© AgileTek LLC 2001-2004
13
Contemporary Agile Methods
Diaz the Operator
• Speaks Spanish only
• Reads international
symbols
• Works at Acme
Catapult in Phoenix
• Second shift
• End user
• 6th grade education
© AgileTek LLC 2001-2004
14
Impetus For A Best-Of-Breed Approach
Traditional Plan-Driven Methods can be
highly effective
but, they have their limitations.
They often:
 Deny the need for software to evolve and assume that
requirements are stable, and can be determined before
initiation of coding activities
 Define processes and plans with such detail and rigidity
that it is difficult to deal with inevitable contingencies
 Cause more emphasis to be placed on checking off a
task than on providing value to a customer
 Diffuse accountability and tend to invite bureaucracy
 Result in documentation bloat
 Put too many layers of formality between the developers
and a palpable understanding of the problem and the
state of the project
© AgileTek LLC 2001-2004
15
The Agile Software Manifesto
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 and interactions over processes and tools
•Working software over comprehensive documentation
•Customer collaboration over contract negotiation
•Responding to change over following a plan
That is, while there is value in the items on the right, we
value the items on the left more.
February 2001
Jim Highsmith (+…)*
*…15 others representing XP, and several other Agile Development Methods (ADMs)
© AgileTek LLC 2001-2004
16
Impetus For A Best-Of-Breed Approach
XP (and other ADMs) can be
highly effective…
but, they have their limitations.
They are:
 Only predictable on a micro versus a macro
level
 Difficult to scale
 Vulnerable to changes at the system level
 Vague about the nature of tests
 Inflexible to special needs
 Impractical in some respects
 Lack explicit management of risks
© AgileTek LLC 2001-2004
17
Overcoming the Limitations
 Adjusting and Extending XP
 Specific Approaches
© AgileTek LLC 2001-2004
18
AgileTek’s Secret Sauce = Agile+
Agile+ is…
Contemporary Agile
Development Methods
+
Best of the Last 20 Years
of Proven Best Practices
Agile+
= XP +

© AgileTek LLC 2001-2004
19
Agile+ And XP
Agile+ = XP + 
+ Business Process Analyses (BPAs)
+ Story “Actors”
+ Delphi-STE Estimation
+ Risk-Based Situation Audits (RBSAs)
+ Componentized Architecture
+ Wall Gantts and Instrument Panels
+ Automated Contract and Regression Testing
+ Automatic Document Generation
- Strict Pair Programming
- 40-Hour Work Week Restriction
+ Flexibility to meet special needs
© AgileTek LLC 2001-2004
20
Meeting at the Wall-Gantt
Everyone at any time can see the picture emerge and
evolve. They can see how the whole depends on their work
and how their work is connected to every other part of the
effort
© AgileTek LLC 2001-2004
21
Overcoming the Limitations
 Adjusting and Extending XP
 Specific Approaches
© AgileTek LLC 2001-2004
22
Most ADMs Are Unpredictable At A Macro
Level
Solution:
 Delphi Estimation
 STE usage for larger projects
© AgileTek LLC 2001-2004
23
Delphi And The Oracle
© AgileTek LLC 2001-2004
24
Size - Time - Effort Chart
Minimum Time v. Size with Constant Effort Contour Lines
Telecom Development
100.0
PI =11; MBI = 3
90.0
PI - Productivity Index
80.0
MBI - Staff Buildup Index
Min Time, Mos.
70.0
60.0
Minimum Time Line
Region of Feasibility
50.0
40.0
Tdmin (mos.)
30.0
500
Region of Infeasibility
1000
20.0
2500
5000
10000
10.0
25000
0.0
0
100000
200000
300000
400000
500000
SLOC
600000
700000
800000
900000
1000000
Beta-Distributed Risk Profile
Risk Profile
100.00
0.60
90.00
0.50
80.00
0.40
70.00
60.00
(%)
0.30
0.20
50.00
40.00
0.10
30.00
10.00
46
8
39
0
31
2
23
4
15
6
0.00
78
1.000
0.900
0.800
0.700
20.00
0
(x)
0.600
0.500
0.400
0.300
0.200
0.100
0.00
0.000
Probability P(x)
Beta Distribution
Hours
© AgileTek LLC 2001-2004
26
Most ADMs Are Notoriously Difficult To
Scale
Solution:
 Componentized Architecture
- Interface Definitions
 Automated Build and Test Processes
 (Virtual) Team Rooms
© AgileTek LLC 2001-2004
27
So Just What Is “Architecture?”
(A Working Definition)
Architecture - the structure of the components of
a program/system, their interrelationships, and the
principles and guidelines governing their design
and evolution over time1.
[1] David Garlan and Dewayne Perry, guest editorial to the April
1995 IEEE Transactions on Software Engineering devoted to
software architecture
© AgileTek LLC 2001-2004
28
Some Commonly Ascribed
Advantages/Benefits
 Architectures permit independent evolution of
the exploitation of changing technologies in
the major elements of a system.
 Architectures ease sharing of data and
building of distributed applications.
 Architectures ease communications and
movement of data across levels.
 Architectures facilitate assimilation of new
employees.
 Architectures preserve investment in training.
In Essence, Architectures Enable and Facilitate
Scaling and Distributed Development
© AgileTek LLC 2001-2004
29
Automated Build and Regression Test
Processes Reduce Communication Load
© AgileTek LLC 2001-2004
30
Team Rooms Provide An Additional Dimension
For Collaboration and Coordination
© AgileTek LLC 2001-2004
31
Most ADMs Leave The Software Vulnerable
To Changes At the System Level
Solution:
 Componentized Architecture
© AgileTek LLC 2001-2004
32
Good Architectures Ease The Effects Of
Change…
They keep visible the interrelationships
among the elements of the system and
help the team make informed change
decisions in the context of these
interrelationships
They limit the degree of change and its
sphere of influence
© AgileTek LLC 2001-2004
34
Most ADMs Are Vague About Testing
Solution:
 Use Automated Contract and Regression
Testing
© AgileTek LLC 2001-2004
35
Contract Testing
Involves Testing For:
Pre-Conditions
Post-Conditions
Class Invariants
© AgileTek LLC 2001-2004
36
Most ADMs Are Inflexible To Special Needs
Solution:
 Treat the Special Need as a User Story and
prioritize it accordingly
© AgileTek LLC 2001-2004
37
Documentation As An Example Of A
Special Need
Systems created
under the auspices of
a regulatory agency
will require certain
documentation
specified by CFRs1
This can be treated
as just another
software deliverable
and prioritized
accordingly
[1] CFR – Code of Federal Regulations
© AgileTek LLC 2001-2004
38
Some ADM Practices Are Impractical
Solution:
 Use practices that make sense and work in
real-world situations
 Abandon or modify those that don’t
© AgileTek LLC 2001-2004
39
ADM Practices We’ve Found Impractical
(Some Examples)
 Pair Programming rigidly applied
 Refusal to estimate total project size, time
and effort
 Building without at least a “sketch”
 On-site customer
 Weekly/bi-weekly iterations
 40-Hour work week
© AgileTek LLC 2001-2004
40
Most ADMs Do not Manage Risks Explicitly
Solution:
 Use Risk-Based Situation Audits
 Establish a risk management philosophy
© AgileTek LLC 2001-2004
41
ADMs And Risk
Most ADMs manage risk through project
transparency
This is highly effective
Adding up-front risk characterization and a
philosophy of on-going risk mitigation yields
superlative results
If you’re not managing risk, you are not
managing1
[1] Airlie Council
© AgileTek LLC 2001-2004
42
Do ADMs Add Risk To A Project?
 The greatest risk in software development is not knowing what
you don’t know until it’s too late…
 Every
project begins with an RBSA; then,
Agile+
+
 Though short iterations, Agile provides a means to:
–
–
–
–
Challenge assumptions
Make informed choices and decisions
Evolve understanding
…early and often
 Moreover,
– Project progress is continuously
visible to the developers
 Wall Gantts
 Daily Stand-Up Meetings
– … and to our clients
 Placed at the project’s center
 Frequent reviews
 Unlike some methodologies where Risk Management is “bolted
on”, it’s an integral part of Agile
+
© AgileTek LLC 2001-2004
48
The Agile Software Manifesto
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 and interactions over processes and tools
•Working software over comprehensive documentation
•Customer collaboration over contract negotiation
•Responding to change over following a plan
That is, while there is value in the items on the right, we
value the items on the left more.
February 2001
Jim Highsmith (+…)*
*…15 others representing XP, and several other Agile Development Methods (ADMs)
© AgileTek LLC 2001-2004
49
The AgileTek Software Manifesto
A Measured And Balanced Approach
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 and interactions over processes and tools
•Working software over comprehensive documentation
•Customer collaboration over contract negotiation
•Responding to change over following a plan
That is, while there is value in the items on the right, we
value the items on the left more.
That is, while we most value the items on the left,
we also place importance in the items on the right
© AgileTek LLC 2001-2004
50
What Is Agile—Really?
Agile  No Process
Agile  Undisciplined
Agile  Essential, Streamlined Processes
Agile  No Nonsense, Intensely Practical
Agile  Bias Toward Action
Agile  Highly Disciplined
Agile  Flexible and Adaptable
Agile  Execution With Swiftness And Precision
© AgileTek LLC 2001-2004
51
Preserving The Essence Of Agility
 Eliminate gratuitous processes, and rework
any processes and behaviors that are not
intensely practical
 Wherever possible, minimize formality and
ceremony
 Maintain a bias toward action—come up with
a 70% plan and begin to move forward while
figuring out the remaining 30% as you go
 Develop momentum quickly and maintain it
 Stay flexible and adaptable
 Know the “why” of processes and do what
makes sense when the rules don’t
© AgileTek LLC 2001-2004
52
Can This Really Work And Is It Really
Agile?
I’m From Missouri—Show Me!
 The Numbers
 The Testimonials
© AgileTek LLC 2001-2004
53
Productivity and Quality
 Using Agile+ we’ve achieved a PI1 of 22
 That translates into an average of ~ 35
ESLOC/Coding Hour
 Our average defect rate is 0.5/KLOC ~ 5,
higher for safety critical software
[1]Our most recent audit revealed an overall average Productivity
Index (PI) of 22 (as defined by Larry Putnam in his Measures of
Excellence: Reliable Software On Time, Within Budget). This
index is a management scale corresponding to the overall
process productivity achieved by an organization during the main
software build. An index of 25 has been considered among the
highest ever recorded.
© AgileTek LLC 2001-2004
54
A Legacy of Satisfied Clients With Whom
We’ve Used Our Process
© AgileTek LLC 2001-2004
55
Some Recent Clients…
© AgileTek LLC 2001-2004
56
A Recent Reference
The groundbreaking perspective
outlined in this book serves as an
expert guide for successful planning
and execution of development
Auerbach Publications
projects.
London, New York, Washington
© 2004
“…a highly competent and innovative consulting
company called AgileTek.”
Philip Armour is a contributing editor
for the Association of Computing
Machinery (the ACM) and writes a
regular column "The Business of
Software" for their flagship
periodical: Communications of the
ACM.
“…AgileTek is manfully carrying on one of the best
examples of these actual ideas in practice that I can
imagine.”
© AgileTek LLC 2001-2004
57
Customer Testimonials And Resources
At: www.agiletek.com
© AgileTek LLC 2001-2004
58
Summary
In applying ADMs over the last six years,
we’ve learned that:
 Most ADMs purely applied can be highly effective
for certain niche projects, but are not very useful for
the broad spectrum of projects in which we engage
 Modifying some ADM practices while adding and
carefully streamlining some traditional practices
enables effective discharge of today’s demanding
software projects
 Agile+ is a methodology that has proven as
disciplined as it is agile… and manages risk as well
as or better than most plan-driven approaches
 True agility requires much discipline
Mary Lou
Retton’s perfect
vault wins an
Olympic Gold
Medal
© AgileTek LLC 2001-2004
59
Q&A
© AgileTek LLC 2001-2004
60
Thank You
For Further Information
Please Contact:
John Manzo
847 989-1026
[email protected]
1400 East Touhy Avenue

Des Plaines, Illinois 60018
Phone: + 1 847 699--4041  Fax: + 1 847 813-4903
www.agiletek.com
© AgileTek LLC 2001-2004
61