[HCMC STC Jan 2015] Choosing The Best Of The Plan-Driven And Agile Development Methods

28
- 1 - The Wisdom Of Wally

Transcript of [HCMC STC Jan 2015] Choosing The Best Of The Plan-Driven And Agile Development Methods

- 1 -

The Wisdom Of Wally

- 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

- 10 -

Key Differences In Contexts

Individuals Process

Flexibility

Formality

Control

Adaptation

- 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?

- 15 -

XP: Solving What Problem?

– www.xprogramming.com

- 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

- 17 -

Scrum: Solving What Problem?

- 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.‖