[HCMC STC Jan 2015] Choosing The Best Of The Plan-Driven And Agile Development Methods
-
Upload
ho-chi-minh-city-software-testing-club -
Category
Technology
-
view
998 -
download
1
Transcript of [HCMC STC Jan 2015] Choosing The Best Of The Plan-Driven And Agile Development Methods
- 2 -
Choosing The Best Of The
Plan-Driven And Agile
Development Methods
Lee Copeland [email protected]
© SQE 2008 All rights reserved
Warning: This presentation contains gratuitous
PowerPoint animation
- 3 -
The Past As Prologue
• In the mid-1800s, a young man wrote the following:
―Some time in the second year after our
removal to Manchester, there was in the
place where we lived an unusual excitement
on the subject of religion. It commenced
with [one sect], but soon became general
among all the sects in that region of country. Indeed, the
whole district … seemed affected by it, and great
multitudes united themselves to the different religious
parties, which created no small stir and division amongst
the people, some crying, ―Lo, here!‖ and others, ―Lo,
there!‖ Some were contending for [one] faith, some for
[another], and some for [yet a third].‖
- 4 -
The Past As Prologue
―For, notwithstanding the great love which the converts to
these different faiths expressed …, and the great zeal
manifested by the respective clergy, … when the converts
began to file off, some to one party and some to another,
it was seen that the seemingly good feelings of both the
priests and the converts were more pretended than real;
for a scene of great confusion and bad feeling ensued—
priest contending against priest, and convert against
convert; so that all their good feelings one for another, if
they ever had any, were entirely lost in a strife of words
and a contest about opinions.‖
- 5 -
The Past As Present
• Today, in some circles, this battle continues in the
conflict between the:
– Plan-Driven development methods
– Agile development methods
Lo here! Lo here!
- 6 -
Plan-Driven And Agile
• I’VE GOT BIG NEWS FOR YOU – The Plan-
Driven and Agile methods both value:
– The delivery of quality systems that meet
stakeholders’ needs
– While acknowledging and working within the
constraints of time, budget, staff, and
technology
• They have exactly the same goals!
• Where they differ, they differ in strategies, not in
goals
- 7 -
• The Plan-Driven methods value:
– Formal process documentation (CMM/CMMI, ISO) for
predictability, repeatability, consistency, and control
– Formal product documentation (IEEE 830 for
requirements and IEEE 829 for tests)
– ―Plan your work, work your plan‖
Plan-Driven Methods
- 8 -
Agile Methods
• ―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.‖
- 9 -
• Rule 1: There is no set of ―best‖ practices
• Rule 2: There are practices that are more
effective or less effective within specific contexts
• Rule 3: You’ll want to choose the more effective
ones
See: www.context-driven-testing.com
- 11 -
• Control
– Fixed price/date
contract
– Done when it meets
specs
– Repeatable
Predictable
• Adaptation
– Flexible price/date
– Done when it is ―good
enough‖
vs.
Key Differences In Contexts
- 12 -
Key Differences In Contexts
• Formality
– Documentation
– Process
– Regulation
– Auditability
– Wide installation
• Flexibility
– First time
– Innovative
– Adaptive to ongoing
requirements changes
vs.
- 13 -
• Process
– Significant turnover
– Directed team
– Distributed team
– ―Factory‖ culture
– ―Trust the Process‖
culture
• Individuals
– Stable/cohesive team
– Synergistic team
– Co-located team
– ―Guild‖ culture
– ―Trust the People‖
culture
vs.
Key Differences In Contexts
- 14 -
• Both the Plan-Driven and Agile methods are
solutions
• But, before choosing any solution first ask:
What problem am I’m
trying to solve?
- 16 -
FDD: Solving What Problem?
Domain Object Modeling
Developing by Feature
Configuration Management
Inspections
Feature Teams
Regular Builds Individual Ownership
Visibility of Progress and Results
- 18 -
Agile Methods
• What does agile address?
• What does agile ignore?
Software
Development
P r o d u c t D e v e l o p m e n t
Market Analysis Marketing
Product Lines Production Support
- 19 -
Concern With Agile Teams
• Willful ignorance about how businesses work –
sales, marketing, documentation, production, tech
writers, politics of approval/support.
• We’ll do our little part very well and the other
problems will just fade away/solve themselves.
• We’ll write code to do that – any problem can be
solved by writing more code (requirements on the
front end, and testing on the back end).
• When improvements are suggested, the response
is ―Well, that’s not agile.‖
- 20 -
• Sometimes, no matter how good an idea is, it
just may not fit.
• ―Nothing is more powerful than an idea whose
time has come.‖ – Victor Hugo
• ―Nothing is more impotent than an idea whose
time has not come.‖ – Lee Copeland
Beware The Impedance Mismatch
- 21 -
Example #1
• Reimplementing the payroll processing software
for the 42nd time
– Problems I have
Done when it meets the specs
Fixed price/date
– Problems I don’t have
First time
Innovation
Widely installed
- 22 -
Example #2
• Pacemaker software
– Problems I have
Regulation
Auditability
Documentation
Formality
– Problems I don’t have
Adaptive to requirements change
- 23 -
Example #3
• Anti-virus software
– Problems I have
Innovative
Adaptive to requirements change
Auditability
– Problems I don’t have
Regulation
- 24 -
Example #4
• Stock exchange software
– Problems I have
Documentation
Regulation
Auditability
Adaptable to requirements change
Done when it meets specs
– Problems I don’t have
Wide installation
- 25 -
• Rule 4: Perhaps, there is one best practice —
Seek to understand your
problems before choosing
solutions
- 26 -
Final Words Of Advice
• So, to choose the best of the Plan-Driven and
Agile approaches:
1. Remember, there is no one set of ―best‖ practices
2. First seek to understand your problems
3. Then seek effective solutions to those problems from
both the Plan-Driven and Agile approaches
- 27 -
Thanks
• We appreciate your attendance at the conference,
Best wishes to you all
• My email address is
[email protected] Please feel free to contact me and …
- 28 -
Acknowledgements
• Thanks to Google.com for helping
find information and images used
in this course
• All were used in compliance with the Fair Use
section of the U.S. Copyright Act as found in the
U.S. Code Title 17, Chapter 1, Section 107:
―Notwithstanding the provisions of sections 106 and 106A, the fair
use of a copyrighted work, including such use by reproduction in
copies or phonorecords or by any other means specified by that
section, for purposes such as criticism, comment, news reporting,
teaching (including multiple copies for classroom use),
scholarship, or research, is not an infringement of copyright.‖