EMILY MANZO -‐ LONG BIO Emily Manzo is a pianist, songwriter ...
11 © AgileTek LLC 2001-2004 Plan-Driven or Agile–Why Choose When You Can Have The Benefits of...
-
Upload
david-black -
Category
Documents
-
view
220 -
download
4
Transcript of 11 © AgileTek LLC 2001-2004 Plan-Driven or Agile–Why Choose When You Can Have The Benefits of...
1
© AgileTek LLC 2001-2004
Plan-Driven or Agile–Why Plan-Driven or Agile–Why Choose When You Can Choose When You Can Have The Benefits of Have The Benefits of Both?Both?
Guilt-Free Agile DevelopmentGuilt-Free Agile DevelopmentGuilt-Free Agile DevelopmentGuilt-Free Agile Development
John ManzoManaging Partner
March 18, 2004USC/CSEUSC/CSE Research ReviewResearch Review
2
© AgileTek LLC 2001-2004
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
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
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
5
© AgileTek LLC 2001-2004
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
6
© AgileTek LLC 2001-2004
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
XMLXSL
WirelessWireless
7
© AgileTek LLC 2001-2004
“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 CockburnIn his Foreword to:
Balancing Agility and Discipline
Preamble
8
© AgileTek LLC 2001-2004
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
9
© AgileTek LLC 2001-2004
Complex DOD System Test Beds For The
Traditional Methods Used In AgileAgile++
10
© AgileTek LLC 2001-2004
Complex Computer System Test Beds For The
Traditional Methods Used In AgileAgile++
11
© AgileTek LLC 2001-2004
Complex Microprocessor Array Test Beds For
The Traditional Methods Used In AgileAgile++
9.3 Million Transistors
12
© AgileTek LLC 2001-2004
Complex Telecommunication System Test Beds For The Traditional Methods Used In
AgileAgile++
1
© AgileTek LLC 2001-2004
The Airlie Council Developed The Nine Principal Best Software Practices For DOD
1. Norm Brown (Director)
2. Vic Basili
3. Frank McGrath
4. Ed Yourdon
5. Lou Mazzucchelli
6. Capers Jones
7. Tom DeMarco
8. Larry Putnam
9. John Manzo
10. Mike Evans
13. Grady Booch (not pictured)
12. Tom McCabe (not pictured)
14. Roger Pressman (not pictured)
11. Tim Lister
1
© AgileTek LLC 2001-2004
Contemporary Agile MethodsDiaz the Operator
•Speaks Spanish only
•Reads international symbols
•Works at Acme Catapult in Phoenix
•Second shift
•End user
•6th grade education
Diaz the Operator
•Speaks Spanish only
•Reads international symbols
•Works at Acme Catapult in Phoenix
•Second shift
•End user
•6th grade education
15
© AgileTek LLC 2001-2004
Traditional Plan-Driven Methods can be highly effective
but, they have their limitations.
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
Impetus For A Best-Of-Breed Approach
They often:
16
© AgileTek LLC 2001-2004
The Agile Software Manifesto
We are uncovering better ways of developing software by We are uncovering better ways of developing software by doing it, and helping others do it. Through this work we doing it, and helping others do it. Through this work we have come to value:have come to value:
•Individuals and interactionsIndividuals and interactions over processes and tools over processes and tools
•Working softwareWorking software over comprehensive documentation over comprehensive documentation
•Customer collaborationCustomer collaboration over contract negotiation over contract negotiation
•Responding to changeResponding to change over following a plan over following a plan
That is, while there is value in the items on the right, we That is, while there is value in the items on the right, we value the items on the value the items on the leftleft more. more.
February 2001Jim Highsmith (+…)*
*…15 others representing XP, and several other Agile Development Methods (ADMs)
17
© AgileTek LLC 2001-2004
XP (and other ADMs) can be highly effective…
but, they have their limitations.
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
Impetus For A Best-Of-Breed Approach
They are:
18
© AgileTek LLC 2001-2004
Adjusting and Extending Adjusting and Extending XXPP Specific ApproachesSpecific Approaches
Overcoming the Limitations
19
© AgileTek LLC 2001-2004
AgileTek’s Secret Sauce = AgileAgile++
Agile+
= XP +
Contemporary Agile Development Methods
Best of the Last 20 Years of Proven Best Practices
Agile+
is…
+
20
© AgileTek LLC 2001-2004
AgileAgile++ 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
21
© AgileTek LLC 2001-2004
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
22
© AgileTek LLC 2001-2004
Adjusting and Extending Adjusting and Extending XXPP Specific ApproachesSpecific Approaches
Overcoming the Limitations
2
© AgileTek LLC 2001-2004
Most ADMs Are Unpredictable At A Macro Level
Solution:
Delphi Estimation
STE usage for larger projects
2
© AgileTek LLC 2001-2004
Delphi And The Oracle
Size - Time - Effort Chart
Minimum Time v. Size with Constant Effort Contour LinesTelecom Development
0.0
10.0
20.0
30.0
40.0
50.0
60.0
70.0
80.0
90.0
100.0
0 100000 200000 300000 400000 500000 600000 700000 800000 900000 1000000
SLOC
Min
Tim
e,
Mo
s.
Tdmin (mos.)
500
1000
2500
5000
10000
25000
PI =11; MBI = 3
Minimum Time LineRegion of Feasibility
Region of Infeasibility
PI - Productivity Index
MBI - Staff Buildup Index
26
© AgileTek LLC 2001-2004
Beta-Distributed Risk Profile
Risk Profile
0.00
10.00
20.00
30.00
40.00
50.00
60.00
70.00
80.00
90.00
100.00
Hours
(%)
Risk Profile
0.00
10.00
20.00
30.00
40.00
50.00
60.00
70.00
80.00
90.00
100.00
Hours
(%)
Beta Distribution
0.00
0.10
0.20
0.30
0.40
0.50
0.60
0.00
0
0.10
0
0.20
0
0.30
0
0.40
0
0.50
0
0.60
0
0.70
0
0.80
0
0.90
0
1.00
0
(x)
Pro
bab
ility
P(x
)
27
© AgileTek LLC 2001-2004
Most ADMs Are Notoriously Difficult To Scale
Solution:
Componentized Architecture- Interface Definitions
Automated Build and Test Processes
(Virtual) Team Rooms
28
© AgileTek LLC 2001-2004
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.
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
29
© AgileTek LLC 2001-2004
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
0
© AgileTek LLC 2001-2004
Automated Build and Regression Test Processes Reduce Communication Load
1
© AgileTek LLC 2001-2004
Team Rooms Provide An Additional Dimension For Collaboration and Coordination
2
© AgileTek LLC 2001-2004
Most ADMs Leave The Software Vulnerable To Changes At the System Level
Solution:
Componentized Architecture
© AgileTek LLC 2001-2004
Good Architectures Ease The Effects Of Change…
They keep visible the interrelationships They keep visible the interrelationships among the elements of the system and among the elements of the system and help the team make informed change help the team make informed change
decisions in the context of these decisions in the context of these interrelationshipsinterrelationships
They limit the degree of change They limit the degree of change andand its its sphere of influencesphere of influence
5
© AgileTek LLC 2001-2004
Most ADMs Are Vague About Testing
Solution:
Use Automated Contract and Regression Testing
6
© AgileTek LLC 2001-2004
Contract Testing
Involves Testing For:
Pre-ConditionsPre-Conditions
Post-ConditionsPost-Conditions
Class InvariantsClass Invariants
7
© AgileTek LLC 2001-2004
Most ADMs Are Inflexible To Special Needs
Solution:
Treat the Special Need as a User Story and prioritize it accordingly
8
© AgileTek LLC 2001-2004
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
9
© AgileTek LLC 2001-2004
Some ADM Practices Are Impractical
Solution:
Use practices that make sense and work in real-world situations
Abandon or modify those that don’t
0
© AgileTek LLC 2001-2004
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
ADM Practices We’ve Found Impractical (Some Examples)
1
© AgileTek LLC 2001-2004
Most ADMs Do not Manage Risks Explicitly
Solution:
Use Risk-Based Situation Audits
Establish a risk management philosophy
2
© AgileTek LLC 2001-2004
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
If you’re not managing risk, you are not managing1
[1] Airlie Council
8
© AgileTek LLC 2001-2004
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 Agile+ project begins with an RBSA; then, 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+
9
© AgileTek LLC 2001-2004
The Agile Software Manifesto
We are uncovering better ways of developing software by We are uncovering better ways of developing software by doing it, and helping others do it. Through this work we doing it, and helping others do it. Through this work we have come to value:have come to value:
•Individuals and interactionsIndividuals and interactions over processes and tools over processes and tools
•Working softwareWorking software over comprehensive documentation over comprehensive documentation
•Customer collaborationCustomer collaboration over contract negotiation over contract negotiation
•Responding to changeResponding to change over following a plan over following a plan
That is, while there is value in the items on the right, we That is, while there is value in the items on the right, we value the items on the value the items on the leftleft more. more.
February 2001Jim Highsmith (+…)*
*…15 others representing XP, and several other Agile Development Methods (ADMs)
False Dichotomy
50
© AgileTek LLC 2001-2004
The AgileTek Software ManifestoA Measured And Balanced Approach
We are uncovering better ways of developing software by We are uncovering better ways of developing software by doing it, and helping others do it. Through this work we doing it, and helping others do it. Through this work we have come to value:have come to value:
•Individuals and interactionsIndividuals and interactions over processes and tools over processes and tools
•Working softwareWorking software over comprehensive documentation over comprehensive documentation
•Customer collaborationCustomer collaboration over contract negotiation over contract negotiation
•Responding to changeResponding to change over following a plan over following a plan
That is, while there is value in the items on the right, we That is, while there is value in the items on the right, we value the items on the value the items on the leftleft more. more.
with
streamlined
while being guided by
That is, while we most value the items on the left, we also place importance in the items on the right
with appropriatebalanced by
51
© AgileTek LLC 2001-2004
What Is Agile—Really?
Agile No Process
Agile Undisciplined
Agile Essential, Streamlined Processes
Agile Highly Disciplined
Agile Bias Toward Action
Agile No Nonsense, Intensely Practical
Agile Flexible and Adaptable
Agile Execution With Swiftness And Precision
52
© AgileTek LLC 2001-2004
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
5
© AgileTek LLC 2001-2004
The NumbersThe Numbers The TestimonialsThe Testimonials
I’m From Missouri—Show Me!
Can This Really Work And Is It Really Agile?
5
© AgileTek LLC 2001-2004
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.
55
© AgileTek LLC 2001-2004
A Legacy of Satisfied Clients With Whom We’ve Used Our Process
56
© AgileTek LLC 2001-2004
Some Recent Clients…
57
© AgileTek LLC 2001-2004
The groundbreaking perspective outlined in this book serves as an expert guide for successful planning and execution of development projects. Auerbach Publications
London, New York, Washington © 2004
“…AgileTek is manfully carrying on one of the best examples of these actual ideas in practice that I can imagine.”
“…AgileTek is manfully carrying on one of the best examples of these actual ideas in practice that I can imagine.”
“…a highly competent and innovative consulting company called AgileTek.”
“…a highly competent and innovative consulting company called AgileTek.”
A Recent Reference
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.
58
© AgileTek LLC 2001-2004
Customer Testimonials And Resources At: www.agiletek.com
59
© AgileTek LLC 2001-2004
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
60
© AgileTek LLC 2001-2004
Q & A
61
© AgileTek LLC 2001-2004
For Further Information Please Contact:
John Manzo847 989-1026
1400 East Touhy Avenue Des Plaines, Illinois 60018
Phone: + 1 847 699--4041 Fax: + 1 847 813-4903
www.agiletek.com
Thank You