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