You are on page 1of 124

AgileSoftwareDevelopment2nd ed(additions) page 1

AgileSoftware
Development

SoftwareDevelopmentasaCo
operativeGame

nd
2 edition

AlistairCockburn

1
AgileSoftwareDevelopment2nd ed(additions) page 2

0'UNKNOWABLEANDINCOMMUNICABLE:EVOLUTION ..............................................................................4
COMMUNICATIONAND SHARED E XPERIENCE 5
SHUHARI 6
1'ACOOPERATIVEGAMEOFINVENTIONANDCOMMUNICATION:EVOLUTION..................................7
THE SWAMP GAME 8
COMPETITIONWITHIN COOPERATION 8
OTHER FIELDSASA COOPERATIVE GAMES 10
SOFTWAREENGINEERINGRECONSTRUCTED 10
2'INDIVIDUALS:EVOLUTION ..............................................................................................................................17
STRATEGYBALANCING 19
3'TEAMS:EVOLUTION ..........................................................................................................................................21
ASAMPLE OFFICELAYOUTREVISITED 23
4'METHODOLOGIES:EVOLUTION.....................................................................................................................24
METHODOLOGIESVERSUS STRATEGIES 26
METHODOLOGIESACROSSTHE ORGANIZATION 26
PROCESSESAS CYCLES 27
DESCRIBING METHODOLOGIES MORE SIMPLY 29
5'AGILEANDSELFADAPTING:EVOLUTION ..................................................................................................31
MISCONSTRUINGTHE MESSAGE 34
EVOLUTIONOFTHE AGILE METHODOLOGIES 45
NEW METHODOLOGY TOPICS 51
PERSISTENTQUESTIONS 61
ANOTHER VIEWOF AGILEANDCMMI,BY PAUL MCMAHON,PRINCIPAL,PEMSYSTEMS 65
INTRODUCINGAGILEFROMTHE TOP 10LESSONS,BY ERIC OLAFSSON,CEO,TOMAX 74
AGILE OUTSIDE SOFTWAREDEVELOPMENT 76
REVISITINGTHE CUSTOMCONTRACT,BY ERIC OLAFSSON,CEO,TOMAX 79
CREATING CHANGEWITH STICKERS,BY KAYJOHANSSEN,TESTMANAGER 81
LEAN MANUFACTURINGATO.C.TANNER,BY MIKE COLLINS,VICE PRESIDENTLEANENTERPRISE DEVELOPMENT,
O.C.TANNER 84
6'THECRYSTALMETHODOLOGIES:EVOLUTION.........................................................................................92
THE CRYSTAL GENETIC CODE 94
CRYSTALCLEAR 97
INTRODUCINGCRYSTAL CLEAR,BY JONATHANHOUSE,MANAGEROF SOFTWAREDEVELOPMENT,AMIRSYS 98
STRETCHING CRYSTAL CLEARTO YELLOW 100
TAILORING CRYSTALYELLOW,BY GRY DERBIER, PROJECTMANAGER,SOLYSTIC 102
APPENDIXA'THEAGILESOFTWAREDEVELOPMENTMANIFESTOANDTHEDECLARATIONOF
INTERDEPENDENCE.................................................................................................................................................105
THE AGILEMANIFESTOREVISITED 107
THE DECLARATIONOF INTERDEPENDENCE 108
APPENDIXB'NAUR,EHN,MUSASHI:EVOLUTION........................................................................................113
NAUR 115
EHN 115
MUSASHI 115
7(newchapter)AFTERWORD .................................................................................................................................116
BUSINESSASA COOPERATIVE GAME 118
LEADERSHIPANDPROJECTMANAGEMENT 119
AGILE SOFTWARE DEVELOPMENT 118

2
AgileSoftwareDevelopment2nd ed(additions) page 3
EVERYONE 120
REFERENCES .........................................................................................................................................................121

REFERENCES .........................................................................................................................................................121

3
AgileSoftwareDevelopment2nd ed(additions) page 4

0'
Unknowableand
Incommunicable:Evolution
TheIntroductionsetouttwoideas:
Communicatingistouchingintosharedexperience.
People listen and act at three skill levels: Shu, Ha, and Ri (following,
leaving,andfluent).
Thoseideascouldstandafewmoreparagraphseach.

4
AgileSoftwareDevelopment2nd ed(additions) page 5

CommunicationandSharedExperience
Atthetimeofwritingthefirstedition,Ididn'tfullyappre evertheyapproachit,agreatdealofinformationisinevi
ciatetheharmonybetweentheideaof"communicationas tablylost,justasNaurdescribesinhisarticle.
touching into shared experience" and the articles in Ap In the second article in the appendix, Pelle Ehn de
pendixBbyPelleEhnandPeterNaur. scribed the difficulty he and his programmers had com
(New readers may want to skip this section until they municating with their computernave users in the 1970s.
finish reading Appendix B. I am writing this section as Surprising most people (including me), he wrote that
thoughyouhavedonesoandcomebacktothispoint.) completecommunicationisnotnecessary:
Withinthelastfiveyears,peoplefirstappliedthe idea "...paradoxicalasitsounds,usersand designers do
of"communicationastouchingintosharedexperience"to nothavetounderstandeachotherfullyinplayinglan
project documentation. Teams are being more creative in guagegames of designbydoing together. Participa
usingalternateforms of documentationto serve as mark tioninalanguagegame of designand the use of de
ers and reminders for other team members1. They are sign artifacts can make constructive but different
separating what is needed as "reminders for the people sensetousersanddesigners."(seepagexxx???).
who had been in the room at the time" from what is Hisinsightisrelevantagaintoday,whenethnographers
neededas"catchupinformationforpeople who were not and user experience designers still try to understand the
intheroomatthetime." work habits of users, and from that understanding con
Thisis,ofcourse,verymuchinlinewithPeterNaur's struct a good user interface. At a time when we work so
article"ProgrammingasTheoryBuilding"inAppendixB. hardtounderstandourusers,itisgoodtoberemindedthat
Naur describes designing a program as creating a theory completecommunicationisnotpossible...butit is also
oftheworld(wemightsay modelinsteadoftheory,today) not required. What is required is to play the language
and another theory of how the program operates in that game, acting, and reviewing the feedback, over and over
world. inneverendingcyclesofimprovingutility.
Toremindsomeoneabout aconversationthey partici Youcanapplythelessonsof"touchingintosharedex
pated,wepoint intotheirtheory(ormodel),andpoint as perience"inyourownenvironment:
directly as possible into their shared experience. For this Watch as people point to an old artifact to remind
purpose,it is desirableto keeptheoriginal, messy, hand themselvesofsomethingthathappened.
writtenflipcharts.Rewritingthemintocleancomputertext Watchastheyconstructsomethingtocreatea"ladder
losestheexactreferencingmechanismwewanttoutilize. ofsharedexperience"foranewperson.
Italsoworkout,handilyenough,thatkeepingtheoriginal Watch how communication gets missed, understand
flipchartsisfastandcheap,whereasrewritingthemonline ing is incomplete, but action gets taken anyway. No
is relatively time consuming and expensive. So using the tice how many times the people repeat the cycle of
original flipcharts as reminders is both cheap and effec explainactdiscuss before they get to an acceptable
tive. levelofnonunderstanding.
However, it is quite different when the purpose is to Noticehowpeoplehavedifferenttolerancesforlevels
bringsomeoneelseuptotheteam'scurrentstateofunder of nonunderstanding and for the number of times
standing (their theory, in Naur's terms). The same messy theyhavetorepeat thecycle.Use what younoticeto
flipchart that is so effective as a reminder is unlikely to dotwothings:Raiseyourowntoleranceforrepeating
containthecuesnecessaryforthenewperson2.Mostofthe thecycleand(surprise!)raiseyourtoleranceforpeo
time, the team will choose to use a completely different plewhohavelowtolerances.
approach to documenting their current state of under
standingtohelpthenewpersoncatchupwiththem.How

1
See, in particular, the many examples of project documentation in Crystal
Clear (CockburnCC2005).
2
Unless,ofcourse,theflipchartisrecreatedredrawn,inthesamesequence
for the new person as it was for the original audience. Then the new person
buildsaninternalmemoryofthesessionrathersimilartothosewhowereinthe
room forthe original meeting. I have used this technique on occasion to good
effect.

5
Sw DevasaCooperativeGame page 6

ShuHaRi
TheShuHaRidistinctiondatesback,asIlearned,not to In2002,JimHighsmithandIwereorganizingthefirst
theoriginsofAikidotheearly1900s,buttoJapaneseNoh Agile Development Conference (alert readers will notice
theater,almostfourcenturiesago. herethatconferenceorganizationisacooperativegameof
Understanding the three levels of listening has turned invention and communication, but one in which the in
outtobeofgreatervaluethanIexpected.Itwasoriginally cremental / iterative and collocation development strate
placed as a small section in an appendix, but so many giesaredifficulttouse,ifnotimpossible).Itwasmyfirst
people wrote to me during the early drafts of the book, ever conferenceorganizing experience, and I was very
describinghowtheywereusingtheShuHaRidistinction muchintheShustage,butwithoutanyonetofollow.Ac
to smooth meetings, that I moved it forward into the In cordingly, I was incredibly detailed in listing everything
troduction. that needed to be taken care of for the conference. I had
You can apply ShuHaRi to designing courses and sheetsandsheetsofpapercontainingallmannerofminu
writing technique materials. Recognize that some people tiae.
cometothe courseintheShustate,looking for thetech We signed an experienced conference organizer, who
nique that solves their problems. Other people come al was baffled by my excruciatingly long lists. A colleague
readyknowingmanytechniques,afraidthatyouwilltryto watchingourtenseconversationspointedoutthatmylong
convince them that your technique is the technique that lists were immaterial to her, as she operated in Ri mode
solvestheirproblems. andcouldmakethenecessaryplansinherheadratherthan
Organizeyourmaterialtoreassuretheadvancedpeople onslipsofpaper.
inyourcoursethat it is not beingpresentedasa cureall, Thatobservation gave methe peace of mind I needed
butsimplyanothertechniqueinthetoolboxoftheprofes torelaxandlethertakeover.Istillkeptlistsofdetailsto
sional. Then teach the technique at theShu level, so that watchfor,butonlythe ones Iwas specifically concerned
the beginners will have a starter technique to take home about.
withthem.Butbeforeyoufinish,putthetechniqueintoa You can apply the lessons of ShuHaRi in your own
largercontext,sothebeginnerscanstarttoseewherethey environment:
willexpandto,andtheadvancedpeoplecanseehowthis Lookforlevelmismatchesatwork.IntroducetheShu
onetechniquebridges to others they might knoworwant HaRiconceptandseeifthatmighthelptosmooththe
tolearn. discussion.
I got caught in a ShuHaRi mismatch, shortly after Update your training materials to highlight what sec
publishing the first edition, and was saved by someone tionsareforShulevellearning,andwheretheHaand
whoknewthetrio. Rilevelsfit.

6
Sw DevasaCooperativeGame page 7

1'
ACooperativeGameof
InventionandCommunication:
Evolution
Ioncethoughtthatsoftwaredevelopmentwasuniqueinitsbeingacooperativegameof
invention and communication. As I gave talks on the subject, however, business execu
tivesstartedtelling methattheirownprofessionallivesfitthatdescription.Business,it
turnsout,isverymuchacooperative(andcompetitive!)gameofinventionandcommuni
cation.Soarelaw,journalism,conferenceorganization,entertainment,andrunninggov
ernments.Moresurprisingto me, personally, was discovering that engineering is also
largelyacooperativegameofinventionandcommunication.
Researchingthetopicofengineering,Ifoundthat,possiblyduetothesuccessofap
pliedphysicsinWorldWar II,itlostits original association with craft and experiment
onlyquiterecently.Reconsideringengineeringinitsmorehistoricalinterpretation,asa
combination of applied science, craft, experiment, and case lore, gives it a new and
richermeaning.Thisviewofengineeringshowsthewayforus toreconstruct"software
engineering"inawaythatisbothprovidesagoodeducationalbase,andalsoispracti
calonliveprojects.

7
Sw DevasaCooperativeGame page 8

TheSwampGame
Rockclimbinghasonelimitationasacomparisonpartner Observethatpeoplearepartofthecarryoverfromone
to software development: When people finish a rock roundofthegametothenext.Inanidealworld,theteam
climb, they walk back down to their cars and drive off. wouldarrangethatnoneoftheoriginalteamwouldleave.
Whentheyfinishasoftwareproject,theystayaroundand Thesepeoplecarryalotoftacitknowledgeintheirheads,
enhancethesystemorbuildtheneighboringsystem.They informationthatcan'tbeputintothepaperdocumentation
have to live with the results of what they did, and they (this is the exact point made by Peter Naur in Appendix
havetointegrateotherpeopleintotheworldtheycreated. B).However,inarealworldsetting,peopleflowintoand
Thereis anactivitythat is closertosoftware develop outoftheteam.Theteam'sstrategyneedstoincludeways
ment than rock climbing. It is an imaginary activity, for totransferasmuchknowledgeas possibletothe arriving
now,butwhoknows,peoplemayreallystart playingthis people.
game, or simulating it on a SimCity type of computer Theswampgameletsusexploreinourheadsdifferent
gametotrainprojectleaders. strategies the teams might use, and map those strategies
Imagineacompetitionin which each team must build maptosoftwaredevelopment.
something somewhere in a swamp. They don't know ex Wecanimaginekeepingtheoriginalteamintactforas
actlywhattheyhavetobuild,theydon'tknowwherethey longaspossible.
havetobuildit,theydon'thaveamapoftheswamp,but We can imagine junior players on one round becom
they are in a race to build it. They will create subteams. ingteamleadsonthenextround.
Somewillscavengeforbuildingmaterials,otherswillex We can imagine using an apprenticeship model to
ploretheswamp,andsoon.Notethatthiscorrespondsto trainnewpeoplejoiningtheteam.
people finding different specialties in software develop We can imagine making the paths and bridges weak
ment. onthefirstround,buttakingthetimetoimprovethem
Iftheyhavetoplay only oneround ofthe game, they on subsequent rounds (think here of refactoring code
willfinditoptimaltobuildtheweakest,sloppiestbridges insubsequentreleases).
and the most careless maps possible to get to the end of The good news is that delivering the result in the current
the game. However, if they know there will be another roundisafinitetask.Thebadnewsis that settingupad
teamcominginafterthem,theymaychoosetomakebet vantageouslyforthefollowingroundis essentially an in
ter maps, better bridges, better paths. This difference be finitetask:thereisneverenoughtime,money,staff,men
tweenstrategiesis whatcorrespondstoasoftwareproject talandcommunicationcapacitytodoitperfectly.
team updating their system documentation and training This informs us as to why the documentation and
theirjuniorpeople. training never seems to be satisfactory at the end of a
Itisthisdifferenceinstrategiesthatmakestheswamp project.Project managersalwaysfeelliketheyareunder
game a better comparison partner than rock climbing. resourced, and they are. They are trying to balance finite
Every software project contains a carryover to the next resources across a finite task plus an infinite task. They
project, and so the strategies to use in software develop willalwayscomeupshort.
ment shouldpayattentiontoboththis game andthe next Thetrickis not toaimfor perfection, but to construct
game. strategiesthatserveausefulpurposeingettingtothenext
moveorroundofthegame.

CompetitionwithinCooperation
IamsuchabigfanofcooperationandcollaborationthatI DarinCummins3 foundaway,as faras Icantell,and
sometimes forget that there are other things even more althoughheonlyused it twice,it pointstoaset ofpossi
powerfulcompetition,tonameone.Thequestionishow bilitiesotherteamsmightliketoexperimentwith.Heused
to harness it so that the competition does not destroy the thefollowing"game"twice,whichisagoodsign,andde
collaboration. cidedthatparticularthemehadrunitscourse.

3
OfADPLightspeed,Inc.See"TheDevelopmentGame"(Cummins2003).

8
Sw DevasaCooperativeGame page 9
Darincautionsthatthecompetitionshouldnotbeabout hopelessandtheyloseinterest.Asweapproachedthe
thecodebeing written,becausethenthecollusion,cheat endofthegame,wedevisedsomeextraactivitiesthat
ing,anddestructivesideofcompetitioncanruinthecode couldearnadevelopermoremoney."
baseortheteam.Instead,heandthe othermanagers cre What I found interesting was that the (inevitable) collu
atedacompetitiveframeworkthatreinforceddevelopment sionimprovedtheoutcomefortheteamasawhole.Peo
practices that they hadselected.Interestingly, as the peo plefiguredoutthattheywouldgetpointsfasterbytrading
pleontheteamcolludedtooptimizetheirpositionsinthe codetoreview,andmorecodegotreviewed!
game,theyactuallycarried out thepractices and collabo At the end of the threemonth game period, they held
ratedmorethantheyotherwisewouldhave.So"cheating" an auction in which the fake money was used to bid for
strengthenedboththeteamandthepractices. the real items purchased. To make it more fun, they
Darin had read a Harvard Business Review article, broughtinafasttalkingsalesmanasauctioneer.
EverythingIKnowAboutBusinessILearnedfromMo "The results from implementing the game have been
nopoly(Orbanes2002).Orbaneslistssixprinciples that far better than expected. The one result that we had
make a great game and describes how those they can be hopedforincreatingthegamewastoincreasemorale.
appliedtobusiness. Whileitwasntintolerable,thereweresomebadatti
tudes and bickering beginning to surface. Left un
1) Maketherulessimpleandunambiguous.
checked, I feared that these attitudes would escalate
2) Dontfrustratethecasualplayer.
untiltheprojectand/ortheteam suffered. The game
3) Establisharhythm. helpedattitudesrisebackto wherethey neededto be
4) FocusonwhatshappeningOFFtheboard. forustobeabletocompletethe projectby givingan
5) Givethemchancestocomefrombehind. outletandprovidingfocus.
6) Provideoutletsforlatenttalents.
The first unexpected thing we noticed was that the
Darin applied those principles to improving their process now had a purpose. Everyone who has ever
team'ssoftwaredevelopmentpractices. writtencodeknowsthatsoftwaredevelopersjustwant
He got his company executives to put real money tobeleftalonetocode.Logically,theyknowthatthe
intothepot. process is necessary, but emotionally the attitude is
Theyboughtgadgetsthatmightinterestthepeople simply If you want it done, go away and leave me
ontheteam. alone. The game had the effect of not only giving
Theymadefakemoney(withtheVP'sfaceonit!) themanemotionalreasontoaccepttheprocess,butto
torewardpeopleforspecificactions.SeeFigure8 giveitsomeexcitementtoo."
1forapartiallistoftherewards. The game worked for them, and they ran it a second
AsDarinwrites: timebeforedecidingitwouldgetoldaftertoomanyuses.
"The developers get paid for having their code re
Afterreadingthearticle,I'mkeepingmyeyesopenfor
viewed, reviewing someone elses code, completing other ways to use competition to improve (not damage)
tasks on schedule, reusing code, creating unit tests, teamqualityandteamoutput.
etc.Wealsominimizedtheprocessasmuchaspossi
blebygettingridofthehugechecklistthatwasquite Description Reward
difficulttogettheteamtouseandreplacingitwitha CreatingUnitTests/TestPlans $20
simple,8itemchecklistthatisturnedinattheendof Reviewcodeforsomeoneelse $30
each cycle. This checklist and a simple code review
worksheetareusedtohelpdeterminehowmucheach Receive an Excellent average rating $50
playergetspaid.... incodereview
The management team also has the ability to reward Receive a Acceptable average rating $20
itemsnotincludedonthelist.Forexample,whenwe incodereview
startedhavingpeoplecomeinlatetoourdailystandup Receive a Unacceptable average rat $20
meeting, one of the managers chose to pay everyone ingincodereview
$5forbeing on time. The message was received and Donthavecodereviewed $50
the problem became minimal. Players also have the
Implementing suggestions from Code $30
abilitytopayeachotheriftheychoose....
Review
One important principle that the game article dis
Warningsinbuild $20
cussedis giving the playersthe chancetocome from
behind in the endgame. This prevents a player from Errorscausingbuildfailure $50
fallingbehindtothepoint where playingthegame is Errorsintestafterbuild $30

9
Sw DevasaCooperativeGame page 10
Figure81.Someoftherewards fortheDevelopment Game(Cummins2003).

OtherFieldsasaCooperativeGames
When I wrote the first edition of this book, I promise I surely linebased manufacturing was quite far from the
wasthinkingonlyaboutsoftwaredevelopment.However, agileandcooperativegameideas,butitturnsoutthateven
as I gave talks on the subject afterwards, I kept hearing (wellrun)manufacturinglines aresensitivetothe quality
business executives, actors, lawyers, journalists, and oth ofongoinginvention,communicationandcollaborationof
ershearingtheirprofessionsinthetalk.Itseemsthatquite theirworkers.
a lot of fields involve people inventing and cooperating, In the upcoming chapter on agile techniques (Chapter
andtheoutcomesintheirfieldsarehighlysensitivetothe 5), I will revisit the story of O.C. Tanner and Tomax,
quality of their invention, communication and collabora amongothercompaniesplayingthecooperative gamede
tion. liberately. Those of us using this vocabulary share the
Most recently I was introduce to a company in Salt feelingisthatdespiteallthebookswritteninthebusiness
LakeCity,O.C.Tanner,usingtheleanmanufacturingap world,thereisstillmuchtobelearnedfromthecoopera
proach in their manufacturing line for corporate rewards tivegameapproach.
(plaques, pins, medals and the like). I had thought that

SoftwareEngineeringReconstructed
Ihavetwicereportedonthemismatchbetweenouruseof the problems of software. In late 1967 the Study
the term software engineering and the practice of engi Grouprecommendedtheholdingofaworkingconfer
neering4. As part of, and following those reports, I have ence on Software Engineering. The phrase software
beenresearchingthe question of what "engineering" con engineering was deliberately chosen as being pro
sists ofinpractice,where wewent wrong with our inter vocative,inimplyingthe needforsoftware manufac
pretationofthephrasesoftwareengineering,andhowwe turetobebasedonthetypesoftheoreticalfoundations
andpracticaldisciplines,thataretraditionalinthees
canputsoftwareengineeringbackonsolidfootings.This
tablishedbranchesofengineering.
sectioncontainswhatIhavesofar.
Wherethetermcamefrom Wherewewentwrong
The term "software engineering" was coined in 1968, in Thesecondinterestingthingtonote in those proceedings
theNATOConferenceonSoftwareEngineering.Itisfas is the mismatch between what they claimed engineering
cinating to read the verbatim reports of that conference, consists of, and how they described their own methods
andcomparewhatthoseattendees weresayingwithwhat and recommendations for developing software. We read
wehavecreatedsincethen. from their motivational comments, such as this one (p.
12):
Thefirstthingtonoteisthattheconferenceorganizers
did not deduce that software development was like engi We build systems like the Wright brothers built air
neering.Rather,theyweredeliberatelybeingprovocative planes build the whole thing, push it off the cliff,
in coining the term "software engineering." We read, in letitcrash,andstartoveragain.
the introductory note, "BACKGROUND OF CONFER Actually,theWright brothers practiced engineering in its
ENCE"(p.8): best possible sense: They used theory, experiment,
IntheAutumnof1967the ScienceCommitteeestab guessesandfeedback.TheWrightsaccount(Wright1953,
lished a Study Group on Computer Science. The pp.1518)readsasfollows:
StudyGroupwasgiventhetaskofassessingtheentire Inordertosatisfyourmindsastowhetherthefailure
field ofcomputerscience,andin particular, elaborat of the 1900 machine to lift according to our calcula
ingthesuggestionsoftheScienceCommittee. tionswasduetotheshapeofthewingsortoanerror
intheLilienthaltables,weundertookanumberofex
The Study Group concentrated on possible actions periments to determine the comparative lifting quali
whichwould merit an international, rather than a na ties of planes as compared with curved surfaces and
tionaleffort.Inparticularitfocusseditsattentions on the relative value of curved surfaces having different
depths of curvature. . . . In September we set up a
4
small wind tunnel in which we made a number of
The firstedition ofthis bookand "The End of Software Engineering and the
StartofCooperativeGaming"(Cockburn2003).
measurements...butstilltheywerenotentirelysatis

10
Sw DevasaCooperativeGame page 11
factory.Weimmediatelysetaboutdesigningandcon Engineering, then proceeds as a cooperative game of in
structing another apparatus from which we hoped to vention and communication, in which the moves come
secure much more accurate measurements. . . . we from theory or inspiration, and are checked with experi
made thousands of measurements of the lift, and the mentsthatrevealmoreaboutthesituation.
ratioofthelifttothedriftwiththesetwoinstruments. How, then, did engineering get so misunderstood?
But engineering is more than just calculating tables. It SchnandArgyrisrelate:
consists of interacting with a material (air, in the Wright Harvey Brooks, the dean of the Harvard engineering
brothers' case). The activity, "doing engineering" is programwasamongthefirsttopointouttheweakness
learning the qualities of the material and devising (in ofanimageofengineeringbasedexclusivelyonengi
venting) ways to accomplish what one wants with the neeringscience.Inhis1967article,"DilemmasofEn
material.Therearealmostalwaysconflicts,sothat aper gineeringEducation,"hedescribedthepredicamentof
fectsolutionisnotavailable.Findingasolutionthatworks the practicing engineerwhois expected to bridge the
adequately in the particular situation requires reframing gap between a rapidly changing body of knowledge
the problem over and over as more is learned about the andtherapidly changingexpectations ofsociety. The
material,theproblem,andthesetofpossiblesolutions. resultingdemandforadaptability,Brooksthought,re
DonaldSchnand Chris Argyris, professors at M.I.T. quired an art of engineering. The scientizing of the
refer to this constant reframing as having a "reflective engineeringschoolshadbeenintendedto moveengi
conversationwiththesituation."InTheReflectivePracti neeringfromarttoscience.
tioner(Schn1983),theycatalog,amongothers,chemical Aided by the enormous public support for science in
engineers tackling a new problem. These chemical engi the period 19531967, the engineering schools had
neeringgraduatestudentsaskedtocreateamanufacturing placedtheirbetsonanengineeringscienceorientedto
processtoreplicateaparticularpatinaonchinathat came "thepossibilityofthenew"ratherthantothe"design
from the use of cow bone, which was soon going to be capability"ofmakingsomethinguseful...Practicing
come unavailable. The students progressed through three engineers are no longer powerful role models when
stagesintheirwork: theprofessorsofhigheststatusareengineeringscien
They tried using chemical theory to work out the re tists....by1967engineeringdesignhadvirtuallydis
appearedfromthecurriculum,andthequestionofthe
actions that were happening with the bone, so they
relationship between science and art was no longer
could replicate those. They got completely bogged
alive....(Schn1983,pp.171172)
downusingthisapproach.
Abandoning theory as too difficult, they next experi People exaggerate the reliability of mathematical predic
tioninexpectingengineeringprojectstocompleteoncost,
ment with processes in whatever form they could
time and quality. Civil engineers fail in the same way as
thinkup.Thisalsogotthemnowhere.
the average software developer when put in a similar
Finally, their professor coached them not to replicate
situation. As just one example, the project to build a
theboneprocess,buttodeviseaprocessthatresulted
highwayunderthecityofBostonwasestimatedin1983to
inasimilareffect.Theycombinedbitsoftheorywith
cost $2.2 Billion and be completed in 1995. It was still
experimentstomakeincrementalprogress,gettingone
incomplete in2003,withacostestimate of $14.6 Billion
category of improvement at a time and reducing the
(Cerasoli2001,ChaseURL).The600%costoverrunwas
searchspaceforfuturework.
attributedtotheprojectbeinglargerthanpreviousprojects
Theirthird stage shows their reflective conversation with ofthissort,anditsusingnewanduntriedtechnologies.
thesituation.Astheylearnedmoreabouttheproblemand
Afterstudyingthisandothercivilengineeringprojects,
thesolution,theywereabletomakebettermovesintheir
Martin Fowler quipped in a public talk, "Compared to
game.
civil engineers, software developers are rank amateurs at
Schn and Argyris's account meshes perfectly with costoverruns".
Pelle Ehn's description of software design as a language
Popular expectations about engineering are faulty be
game(seepage[Ehn,p.230]ofthisbook):
causepopularunderstanding of engineeringasanactivity
"In the conversation with the materials of the situa is faulty. Once we understand engineering as an eco
tion, the designer can never make a move that has nomiccooperative game, the difficulty in accurately pre
only intended implications. The design material is dicting the trajectory of an engineering project is one of
continually talking back to him. This causes him to thethingsthatbecomesunderstandable.
apprehend unanticipated problems and potentials,
whichbecomethebasisforfurthermoves."

11
Sw DevasaCooperativeGame page 12
ReconstructingSoftwareEngineering specialized vocabulary. They work with the constraints
offeredbythematerials,thevocabulary,andtheproject.
Ifwereconsiderengineeringasacooperativegameofin On a software project, the UI designer is constrained
ventionandcommunicationandasreflectiveconversation by the twodimensional screen, the operating system's
with a situation, can we create a better understanding of rules,andtheUIcomponentsetthathasbeenselectedfor
thetermsoftwareengineering?Ibelievewecan,andthat useontheproject.TheUIdesignerwilllearnwhatispos
wecanfitsoftwaredevelopmentintheproperengineering sibleandnotpossibleintheframework(andpossiblyalso
traditionbybuildingbothonthefoundations ofcraft,the whatisnotsupposedtobepossible,butcanbedoneany
cooperative game of invention and communication, and way).As workprogresses,using the evolved understand
thelessonswehavelearnedfromleanmanufacturing. ingofwhatcanandcannotbedone,theUIdesigner may
Thecraft modelcaptures individualbehavior.The co counterpropose a different workflow to the users from
operative game model captures team behavior. Lean whattheyoriginallyrequested.
manufacturingtheorycapturestheeconomicsofstructures The materials for a system architect are architectural
andstrategies. standards,applicationprograminterfaces (APIs), andsig
The keyintransferringlessons from manufacturing to nal propagation technologies. The architect balances per
engineeringistorecognizethatthe"unvalidateddecision" formance degradation with ease of change as they add
is the unit of inventory in engineering (or cooperative APIs and separate the system across different boxes or
gamesofinventionandcommunication,ingeneral). locations.Thisworkis partlyamathematicalactivityand
Herearethecomponentsoftherestructuring. partlyheuristic.
Craft The materials for a programmer are the programming
language, the operating system, and the components or
In The Reflective Practioner, Argyris and Schn follow APIs the programmer is obliged to use. Some program
the working habits of architects and engineers. In their minglanguagesareverymalleable,LISP,APL,Smalltalk,
case , we see people making predictions as to what their Python, Ruby, being examples. Other languages are less
situationwillsupport,thentheydosomoftheirworkand malleable, Ada, C++, and the other strongly typed lan
watchwhatthesituationactuallyproduces,andfromthat, guagesbeingexamples.Programmerssometimescompare
they alter their understanding. They update their under workingintheformerlanguagestoworkingwithclay,and
standing of the problem and the proposed solution, both, working in the latter languages to working with marble.
accordingtothechangedsituationandtheirnewlearning. Wonderful sculptures can be made from either clay or
This "reflective conversation with the situation," is just marble,buttheskillsandtheapproachdiffersignificantly.
whattheWrightbrothersdidindesigningtheirairfoil. So,too,forthedifferentprogramminglanguages.
Craftimplies skillinworkinginamedium, mental or Insoftwareengineering,thecraftsincludeatleast
physical.Therearemanymaterialsinanengineeringproj projectmanagement,
ect,andthereforemanyskillsorcraftstobecomeadeptat. "requirements" elicitation (in quotes because the de
Some people need skills around managing people others velopment team can usually counterpropose alterna
needmathematicalskillsothersneedvisualdesignskills, tives,whichmeanttheyweren'treallyrequirementsin
andsoon. thefirstplace),
Each skill and material brings its own specialized vo userinterfacedesign,
cabulary: Ceramicists "wedge" clay and study the shrink systemarchitecture,
rateofdifferentglazescomparedtoclays.Civilengineers
programdesignandprogramming,
work with the tensile strength, fatigue rates and thermal
databasedesign,
expansion of their materials. Writers look for flow and
developmentintheirtexts.Programmerslookat cohesion algorithmdesign,
and coupling, testability, clarity of expression, and com testing,and
putational complexity in their algorithms. Testers work communicatingwhattheyarethinking.
with test coverage and probabilities of occurrences. User Developing professionals in our field means recognizing
interface (UI) designers work with cognitivemotor task themultiplecraftsneededtocarryout aproject.It means
switching times, recognition times, color scales, and user training newcomers in the basics of those crafts. It re
workpatterns.Projectmanagersworkwithpeople,andare quires professionals in the field to continue developing
concerned with what builds or tears down trust, commu craft skills development as a natural part of being in a
nityandinitiative. craftprofession.Itmeanshonoringthedifferent craftsre
In each case, craft practice requires practitioners to quiredtocompleteaproject.
haveareflectiveconversationwiththematerial,usingthe

12
Sw DevasaCooperativeGame page 13
The crafts define the specific moves that the people Replace manufacturing's flow of materials with engi
makeinthecooperativegame. neering's flow of decisions, however, and the rules gov
erningthetwoareremarkablysimilar
CooperativeGames
Oneremainingdifferenceisthattheflowofdecisions
Engineering is seldom done alone. Engineers exchange inanengineeringprojecthasloops(requestsforvalidation
their thoughts and proposals as they proceed along their and correction), which designers of manufacturing lines
intertwined paths. They communicate with sponsors and try hard to avoid. These loops complicate the optimal
theusers:Thesponsorsmustfindwaystofundthe work. strategies fortheteam but do not change the rules of the
Theusers mustrespondtotheunexpectedways in which situation.
thesystemwillchangetheirlives. Figures 82 and 83 show the flow of decisions in a
Below is a description of engineering work at Lock softwaredevelopment project. In Figure 82, I erased the
heed'sSkunkworksfacility.Inthisextract,itiseasytosee variousfeedbackloopsinordertohighlightthebasicidea
the principles of the cooperative game in action and the ofdecisionflowFigure83includesthemshowtheactual
crosscouplingofthecrafts.This is anoutstandingexam situation.Theloopsarecriticalwithoutthem,theteamis
ple of a group holding a reflective conversation with the missing badly needed feedback about their work. So
situationasateam: whatever you do, please don't copy Figure 82 as a ren
SKUNK W ORKSROOMS deringofhowgoodsoftwareengineeringis done! Ifany
"Kelly kept those of us working on his airplane thing,showit as arendering of howpoor software engi
jammed together in one corner of our [building]... neeringisdone.
My threeman thermodynamics and propulsion AlthoughFigure82iswronginasguidetohowtoset
groupnowsharedspace withtheperformance and up your development shop, it is still useful as a starting
stabilitycontrol people. Through a connecting door point for this discussion, because it is simple enough to
wastheeightmanstructuresgroup....HenryandI
could have reached through the doorway and
inspectataglance.Letuslookatit:
shakenhands. The users and sponsors make decisions about what
theywant.Theyfeed those decisions to UI designers
"... I was separated by a connecting doorway from andbusinessanalysts(BAs).
the office of four structures guys, who configured
thestrength,loads,andweightoftheairplanefrom The UI designers and BAs, collaboratively with the
preliminary design sketches. ... [t]he aerodynamics users,orontheirown, make detaileddecisions about
group in my office began talking through the open theappearances,behaviorsanddatatobeputintothe
door to the structures bunch about calculations on system. They feed those decisions to the program
thecenterofpressuresonthefuselage,whensud mers.
denly I gotthe idea of unhinging the door between The programmers make a decisions about the pro
us, laying the door between a couple of desks, gram. Those decisions probably change some of the
tackingontoitalongsheetofpaper,andhavingall users' requests and the decisions made by the UI de
ofusjoinindesigningtheoptimumfinaldesign....It signers and BAs, but let's skip that topic for the mo
tookusadayandahalf...."
ment.Howevertheymaketheirdecisions,those deci
"All that mattered to him was our proximity to the sionsgotothetesters.
productionfloor:A stone's throw was too far away Thetestersmakedecisionsaboutwheretheforegoing
hewantedusonlystepsawayfromtheshopwork people have made mistakes. (The dashed arrow in
ers, to make quick structural or parts changes or
Figure 82 represents another oversimplification pic
answeranyoftheirquestions.(Rich1994)
ture,thatIdonotsaywhencethetestersgettheiridea
LeanManufacturing ofwhatis"correct".Forthisfigure,itjustcomesfrom
somewhere ahead of them in the chain of decision
Lean manufacturing may seem a peculiar foundation for making.)
software engineering. Surely, if there is one difference The testers can't tell whether the program is correct until
between manufacturing and engineering, it is surely that
theyget runningcode the programmers can't know what
manufacturingisaboutmakingthesameitemmanytimes, tocodeuntiltheUIdesignersandBAsmaketheirdetailed
and engineering is about approaching situations that are choicesandthe UI designers and BAs can't decide what
uniqueeachtime5. to request until the sponsors and users make up their
minds.
As with manufacturing, there is "inventory," there are
5
However, see MikeCollins' descriptionoflean manufacturing ina mass cus "workinprogress" queues between work stations, and
tomizationenvironment,onpage???.

13
Sw DevasaCooperativeGame page 14
there is the problem of selecting batch sizes for those
handoffs.
The engineering team's inventory is made up of un
validated decisions. The more decisions saved up and
passedfrom onepersontoanotherat onetime,thelarger
thebatchsizeinvolvedinthathandoff.
Texts on lean manufacturing (for example, Reinertsen
1997)stressthatincreasingthebatchsizegeneratesalmost
uniformly negative consequences on the system's overall
behavior.Small,naturalvariationsinworkspeedproduce
unpredictabledelaysatthehandoffs.Intheend,itishard
to predict the flow through the system, even for a well
designed system. The cure is to reduce batch size at the
handoff points, then choose from a collection of tech
niques discussed in the lean manufacturing literature to
deal withthe inevitable bubbles of inventory that pop up
fromplacetoplacewithinthesystem6.

6
Thesimplestistocrosstrainpeopletobeabletodotheworkofthoseadjacent
to them in the flow. When inventory starts to build up at a handoff point, the
upstreamworkerjoinsthedownstreamworkerinclearingit.

14
Sw DevasaCooperativeGame page 15

Detailed
decisionsabout
external
appearance
Decisions
Decisions
aboutfunction Decisions aboutprogram
andstyle aboutprogram correctness
UI structure
Designers

Detaileddecisions
Users& aboutfunction T
esters
anddata Programmers
Sponsers

Business
Analysts

UI
Designers

Users& T
esters
Programmers
Sponsers

Business
Analysts
Figure82/3.(newfigure)replacingboth82and83.Decisionflowwithfeedback
ducing the functionality requested in one delivery incre
In software development, reducing batch sizes corre mentisthefirststepinreducingbatchsizes.
sponds to designing, coding, testing and integrating As with manufacturing,thereis acostassociatedwith
smalleramountsoffunctionalityat onetime.It is hardto reducing batch sizes. In manufacturing it is the cost in
imaginewhatjust"one"pieceoffunctionalityis,but it is switching from one job to another. Lean manufacturing
easytoseethatonmostsoftwareprojects,alargenumber companies spend a lot of money reducing job switching
of unvalidated decisions are batched up in the require times so that they can gain the benefits of smaller batch
mentsdocument,alargenumberofunvalidated decisions sizes. (Important note: they don't make excuses that they
are batched up in the UI design, and a large number of can't have small batch sizes because they have high job
unvalidated decisions are batched up in the assembled switching costs they redesign their job switching proce
codebasebeforethetestersaregivenanythingtotest.Re durestolowerthatcostinorderthattheycanusesmaller
batchsizes.Thisdifferenceissignificant.)

15
Sw DevasaCooperativeGame page 16
Engineering groups have not only the taskswitching Figure83showsthis morerealistic,pictureofthede
costs,butalsothecostofinjectingnewworkintothesys cision flow in software development. Note that although
tem through the feedback loops and the cost of revising the flow is more complicated than Figure 82, the same
thedesignsastherequestschange.Unresolvedarguments theoryapplies.Thesameresultsapplyaboutbatchsizesat
still rage in the software development community about the handoff points and also about the use of creative
howsmallthebatchsizescanbemadeinUIanddatabase strategiesatnonbottleneckstations.
design. Alltheabovedependenciesexistevenwhenthepeople
Figure82shows oneotherimportant characteristicof aresittingnexttoeachotherinthesameroom.
adevelopmentteam:Thereareadifferentnumberofspe
SoftwareEngineeringReconstructed
cialists at each point in the flow, so they have different
capacities for clearing their decisions. Alert managers do Isuggestthatthosethreefoundationsprovideamodelthat
twothingswhenstudyingthesedecisionflowcapacities: is bothsoundandpractical.Itapplies ingeneraltocoop
They work to balance the relative capacities at the erative games, and in particular to both engineering and
respective stations. It does little good to have lots of software development (or software engineering, as it is
BAs and not enough programmers, or lots of pro nowsafetowrite).
grammersandnotenoughtesters. The model helps us gain insight into both education
They decide what to do with the specialty groups and project management. On the education side, people
where there is excess capacity. If they can't simply shouldbetrained
sendthe extrapeoplehome,they haveto decide how inthevocabularies of their respective crafts, whether
to use those people. This is where Principle #7 from that be civil engineering, user interface design, re
Chapter4comesin("Efficiencyisexpendableatnon quirementsnegotiation,programming,ortesting
bottleneck stations"). That principle points to a wide in the principles and techniques of invention and
set of management strategies that can be used in dif communication
ferentcircumstances(Cockburn2005ICAM). inthemathematicsandlessonsoflean manufacturing
Now to deal with Figure 82's oversimplifications. First, systems,and
the dashedline flow of information into the testers. The in strategies for dealing with dependency flows and
testers willget theirinformationeitherfrom the users, or loops.
the BAs, depending on the organization. To repair this Onthemanagementside,managersshould
aspectofFigure82,simplyconnectthedashedlinetothe learn how to work from queue size and flow to im
appropriatesource. provetheirprojectplanningstrategies,
Next,considertheloops.Whenthetesters finda mis pay close attention to the quality of the communica
take,theysendareportbacktotheprogrammerortheUI tion,moraleandcommunitypresentintheirteams,
team.Thesedefectreportsconstituteadditionalinventory helptheirteams to become better skilled at all facets
for the programmer or UI team to handle. A loop exists oftheirrespectivecrafts,and
from the UI designers to the sponsors and users. The UI seethatpeoplegetcrosstrainedinotherspecialtiesso
designersmakeamockupoftheuserinterface,showitto theycanhelpeachotherout,tosmooththeinevitable
the users, and come away with a stack of rework deci bubblesthataccruerandomlyatthehandoffpoints.
sions.Athirdloopmayexistfromtheprogrammerstothe
usersandsponsors,creatingamoredecisionsbeingfedto
theUIdesigners,BAs,andprogrammers.

16
Sw DevasaCooperativeGame page 17

2'
Individuals:Evolution
Thecharacteristicsofindividualshave,ofcourse,notchangedinthelastfiveyears.The
item that I want to highlight here is the little section, "Supporting Concentration and
Communication."Thethemetodiscussisstrategybalancing.

17
Sw DevasaCooperativeGame page 18

2INDIVIDUALSANDTEAMS(II) .......................................................................................................................... 17
STRATEGYBALANCING 19

18
Sw DevasaCooperativeGame page 19

StrategyBalancing
ManypeoplethinkIwantpeoplealwaystositcloselyto Asalargerexample,herearetwo,opposingstrategies
gether, just because communication is most effective createdfromthesameprinciple.Watchhowthestrategies
whentheyareclose.TheideaIwishtodevelophereis: canbecombinedininterestingways.
Just because a strategy is good much of the time, The strategy of Osmotic Communication (Chapter 3)
doesn'tmeanitisgoodallofthetime. suggests that people who need to communicate a lot
ThepointisencodedintheprojectleadershipDeclaration shouldsitsotheyoverheareachotherintheirbackground
ofInterDependence(seehttp://pmdoi.org): "We improve hearing.Theylearnwhoknowswhatandwhichissuesare
effectiveness and reliability through situationally specific current.Theycanrespondveryquicklytotheinformation
strategies,processesandpractices."Thecooperativegame flowaroundthem.TheExpertin Earshotstrategy(Cock
modelservestoremindusthatdifferentsituationscallfor burn 2002z) applies Osmotic Communication to profes
different strategies,andthat different strategies arecalled sionaleducation.
foratdifferentmomentsinthesamegame(anexampleis The opposite strategy is the Cone of Silence7 (Cock
chess, with it's different opening, midgame, and end burn 2005cos). In that strategy, one or more people are
game strategies consider that the same applies to proj sequesteredawayfromeveryoneelse,forthesolepurpose
ects). ofavoidingcommunication.
Agoodsetofprinciplescallsforabalancingofforces HowcantheCone ofSilence possibly be useful? The
(thisis,tomymind,abasictestofsoundness).Theprin situation that clarified the matter for me was a project in
ciples should show when something is too much or too whichthetechnicalleadwassupposedtodothemostdif
littleforagivensituation.Itisthebalancingoftheforces ficult programming, and also educate all the people
thatgeneratesoptimalstrategies. aroundhimandalsositinmeetingstoplanfutureexten
Let'slookagainatthe matter of collocation and com sionstothesystem.Heneverhadquiettimetodohisown
munication:Communicationismosteffectivewhenpeople work. The project was falling farther and farther behind
are face to face, but it is not always the case that "most schedule.
effectivecommunication"isthetoppriority. Aftertryingseveralotherstrategiesunsuccessfully(in
Sometimes we want peace and quiet (see the discus cludingaskinghis managerandcolleaguestostoppester
sion ofdrafts in Convection Currents of Information, inghim),weusedtheBusLengthCommunicationPrinci
in Chapter 3). Sound barriers help create peace and pletotryonelastditchstrategy.
quiet. BusLengthCommunicationPrinciple: Communica
Sometimeswewanttimetothink,ortorunaconver tion between people drops off radically as soon as
sation when we are not all present at the same time. their (walking) distance from each other exceeds the
Asynchronous mechanisms,suchas voicemail, email, lengthofaschoolbus.
andtextmessagingservewellhere. (What is interestingas asidetopicis that we wereso at
Sometimeswewanttobeabletostudyanideaatour tachedtothestrategyofOsmoticCommunicationthatthis
leisure,andsowantawrittenform,perhapsonpaper, wasourlastthoughtforfixingtheproblem!)
sowecanstudy it,thinkabout it overnight,rereadit, Th BusLength Communication principle is nothing
markitup. more than a mnemonic restatement of what researchers
Sometimes we want to dilute a particular person's havefoundandevengraphed(Allen1998,Olson1999?).
overlystrongpersonality.Inthissituationwewillpre However, until facing that particular situation, I had al
feralessrichcommunicationtechnologysuchasthe ways interpreted the research and that principle to mean,
telephone(Ihavebeentoldstories ofpeople whode "Put people closer together." I had always wanted more
liberatelyusethephonewiththeirbosses,forjustthis communication. In the project at hand, however, we
reason). wantedtheoppositeeffectwewantedpeopletostopdis
Theprinciples plus yourpriorities helpyoucreate an op turbingthetechnicallead.Sowefoundhiman officeup
timalbalanceforthesituation.Forexample,whensetting stairs, at the far end of the rather large building, around
up your office, balance osmotic communication against
"drafts"togetaspacethatworksforyou. 7
The name of this serious strategy playfully parodies the gadget of the same
namefromthe1960s spy sitcom "GetSmart."There is noconnection between
thetwoexceptasenseofhumor.

19
Sw DevasaCooperativeGame page 20
manycorners,certainlyfarther away than the length of a become less relevant to each other. At some point, it be
schoolbus. comesbettertoseparatethemthantoclusterthem.Many
The result was nothing short of remarkable. Exactly wouldbe agile developers forget this. They fill a space
accordingtotheprinciple,people stopped bothering him. with more and more people. Those people become de
He found the time and peace of mind to program at full pressed, because the noise gives them headaches and be
speed, and within a couple of months the project went causetheygetlessworkdone.
frombeingimpossiblybehindscheduletoaheadofsched Balancethestrategies.Decidewhenthegroupsizebe
ule. comes toolarge,andthen decide where osmotic commu
(An additional topic to consider is another strategy in nicationisuseful,whereitisnot.
playhere:givethebestprogrammertime,peaceandquiet, Every strategy has builtin limitations. For Osmotic
and that person can sometimes get astonishing amounts Communication,thefirstlimitationisthatoptimalseating
programmedinaremarkablyshorttime.Butthatisadif will change over time. At some point, you must decide
ferentstrategywithdifferentboundaryconditions.) whether to leave the nowsuboptimal seating in place, or
Having seen the Cone of Silence succeed, I suddenly todisturbpeoplebyrearrangingtheseating.
started noticing its application in many places (Cockburn Itssecondlimitationis that osmoticcommunication is
2002cos). One example was when IBM wanted to enter difficult to arrange when people are working on several
thePCbusiness theylocatedthe PC development team projects at one time. The immediate strategy to apply in
awayfromanyIBM development laboratory,sotheteam thissituation,ofcourse,istorearrangetheprojectstaffing
would not be disturbed. Another example is the fairly andtime allocations so that they aren't working on many
commonstrategytosendagrouptoanoffsitelocationfor projectsatonce(thisstrategyhasbeenheavilystudied,see
aweekend(orweek)toget alot accomplished ina short Goldratt199x?andAnderson2003?,forexample).When
time. you do this, you are likely to run into the next problem,
TheConeofSilenceandOsmoticCommunicationare whichisthatpeoplehavebecometoospecialized.
two,diametricallyopposedapplicationsoftheBusLength Theprinciples,problems,andstrategieslinkonetoan
Communication principle. They can be used together, in other.Useofastrategyintroduces anewproblem,which
alternation,oroneinsidetheother. requires a new strategy. Sooner or later, you choose one
Puttingateamoffsite inawarroomsetting is apply principleorstrategyasdominatingthesituationand driv
ingConeofSilencetotheteamwithrespecttoitsexternal ingtherest.
connections,OsmoticCommunicationwithintheteam.In Asastartersuggestion,dowhateverittakestoletpeo
the project described just above, we used Osmotic Com ple work on one or at most two projects, but not more.
municationwithintheprojectteam,andonlythetechnical Serialize the projects, and apply osmotic communication
leadoccupiedtheConeofSilence. as practical. Balance the strategies and principles from
Strategybalancingshouldbeused when arranging of thatstartingpoint.Inallcases,balanceyourstrategiesac
ficefurniture.As morepeople gather, their conversations cordingtotheirboundaryconditions.

20
Sw DevasaCooperativeGame page 21

3'
Teams:Evolution
Aswithindividuals,notmuchaschangedaboutthewayteamswork.Whathaschanged
inthelastfiveyearsistheattentiongiventoteambuildingandteamqualitywithinsoft
waredevelopment.Theproject leadershipDeclarationofInterDependenceraises team
behavior to a toplevel concern: "We boost performance through group accountability
forresultsandsharedresponsibilityfor teameffectiveness."Thereis, however, one ex
tension I need to make to the discussion of the office layout described in the previous
chapter.

21
Sw DevasaCooperativeGame page 22

3TEAMS(II).............................................................................................................................................................. 17
ASAMPLE OFFICELAYOUTREVISITED 23

22
Sw DevasaCooperativeGame page 23

ASampleOfficeLayoutRevisited
I decided to save some page space on Figure 313 by full floor plan in your book? Why would you show just
showing only the programming room in Ken Auer's theprogrammingarea?"Argh,thatImissedsomuch!
building.Kencorrectlytook metotaskfor showing only
thatoneroom.
My mistake showed up as I gave talks on the idea of Meeting
convection currents of information. Having more space Programming
availableinthetalkslides,Ishowedtheentireofficeplan
(Figure5'1).During those talks, I found myself discuss
ing the uses of the private work area, the kitchen, the li Kitchen
brary,and the meeting room, and noticed they each con
tributedaseparatevalue:
Peoplegototheprivateworkareawhentheywantto
dopersonalcomputerwork.
They go to the kitchen to decompress and get some
refreshment. There, they discuss both outofwork Library
topics and some work topics. Both help the team. Privatework
People relax, talk and increase the amicability and
personal safety with each other. Increasing these re
duces their inhibitions about speaking to each other,
which in turn speeds the flow of information within
theteam(Cockburn2004).
They go to the library to get some peace and quiet,
anddoresearch.
They take noisy and directed conversations to the
meetingroom.
Figure5'1.Completedofficelayout(CourtesyofKen
WhatIfindinterestingis howpeopledeclaretheirmental
Auer,RoleModelSoftware)
stateastheymovebetweenzones.Whentheywalkoutof
theprogrammingzone,theyaredeclaring,"Ineedabreak
(forsomereason)."Whentheywalkintothekitchen,they
indicate their availability for social chitchat. When they
walk into the library, they indicate their need for quiet.
And when they walk back into the programming zone,
they indicate that they are once again back in full force
andreadytomakeheadway.
Delightedwithmyfindings,ItoldalltheabovetoKen.
He replied, "Of course. You mean you didn't include the

23
Sw DevasaCooperativeGame page 24

4'
Methodologies:Evolution
FiveyearsagoIdidnotmakeaconsciousseparationbetweenmethodologyandproject
management.It'snotthatImixedthetwomyself,butIdidn'twarnothersagainstit.This
isthetimeforthatwarning.
Thefirstsectioninthischapterarguesforseparatingprojectmanagementstrategies
fromprocessormethodologypolicies.
Thesecondsectionaddressesthetrickyquestion:oncethesetwoareseparated,and
supposingtheorganizationhasawiderangingportfolioofprojectstorun,whatcanbe
saidaboutmethodologiesacrosstheorganization?
The third section contains my best current description of how to talk about incre
mental,iterativeandcyclicalprocess.
Thefourth sectionaddresseshowto write down your team's methodology in just an
afternoonortwo.

24
Sw DevasaCooperativeGame page 25

METHODOLOGIES(II) 24
METHODOLOGIESVERSUS STRATEGIES 26
METHODOLOGIESACROSSTHE ORGANIZATION 26
PROCESSESAS CYCLES 27
DESCRIBING METHODOLOGIES MORE SIMPLY 29

25
Sw DevasaCooperativeGame page 26

MethodologiesversusStrategies
Afterrunningaseriesofsuccessfulprojects,itistempting Knowing all the above, the highly experienced leader
toextract the success factors from those projects and de maystilldecidetocastaspolicyselectedconventionsthat
clarethempoliciesforfutureprojects.Thisisadangerous usually work well, that are likely to work well for most
thingtodo,forthreereasons: projects,asawayoftrainingandguidinglessexperienced
We may have extracted the wrong "success" factor, project teams. This is sensible, as long as experienced
and are now setting as policy something that was ei leadersarearoundtotellwhentheconventionsareamis
ther incidental or even detrimental to the success of fittothesituationathand.
the project (which is what I suspect happened with However,theexperienced leaderis likelyto move on,
waterfalldevelopment). leavingtheorganizationwithanoutdatedsetofstrategies
Even if we extract the correct success factor for that hardeningintocorporatepolicies.Atthis point,thesocial
one set of projects, there is nothing to promise that conventions become ritualized procedures. The organiza
thatfactorwillbethesuccessfactoronthe next proj tionhasaShutypeofdescriptionforaRiclass ofactivi
ect(seethediscussionofbalancingstrategies onpage tiesandasRussRuferquipped,"Wecan'tmakeoneShu
???). fitall."
Theprojectmanager,ortheteamonthegroundinthe Ifprojectmanagementpolicies,practicesandstrategies
situation,is probably best suited to judge what is the donotbelonginthemethodology,wheredotheybelong?
beststrategytoapplyatanygivenmoment. Theybelonginastrategymanual,acollectionofproj
Strategiesthatgeneratedsuccessonasmallsetofprojects ectstoriesandstrategies(seeforexample AppendixAof
shouldnotbecastasglobalprocess ormethodologypoli SurvivingObjectOrientedProjects(Cockburn1998)fora
cies. Yet this is exactly what most people think method sampling of such strategies). The organization can use
ologiesarefor. suchacollectiontotrainjuniorproject managers and de
Amethodologyisjustthesetofconventionsagroupof velopment teams. This training will highlight the
peopleagreeto follow (less optimistically: therules they strengths, weaknesses and limitations of each strategy.
are told to follow). These conventions can touch on any Thestrategies,takenawayfrom the process policy hand
topic at all, from clothing to seating to programming to book,areplaced wheretheybelong, as part of the project
documentationtoworkflow. managementcraft.
The group's conventions are likely to shift over time. Project managersshouldbeevaluated,inpart,on how
This is proper. And, as simply a set of conventions, it is welltheyadjusttheirstrategiestothesituation.
quitepossiblethatthegroupwillneverwritedownthefull Itmayseemtocertainskepticalreaders that thesitua
listofconventions. tionIamdescribingisuniquetosoftwaredevelopment.It
At some point, someone may decide to write down a is not. In Simultaneous Management (Laufer 1999?),
selectedsubset of the conventions to apply to other proj whichdealsprimarilywithcivilengineeringprojects,Lau
ects.Atthispointthe methodologybecomes aformula,a fer describes how project managers have to move from
theoreticalconstructionthatabstractsprojectsandpeople. costprioritized to flexibilityprioritized strategies from
Necessarily,thepeopleandthesituationsonthenextproj one day to the next (and indeed, between any priorities
ectwillbedifferent. that may arise). That book is good reading for project
managersinanyfield.

MethodologiesacrosstheOrganization
Notwithstanding the appropriateness of extracting the Definitionsofcommonvocabulary.Peopleneedtobe
project management strategies from the corporate meth able to understand each other. They need to under
odology,andtherecognitionthatsometailoringisneeded stand just what is meant and what variations are al
withineachproject,executivesquitereasonablywanttheir lowedbyparticularphrases.Forexample:
projectstohavesomeconventionsincommon.Theywant Doesiterationonlymean"planningwindow,"oris
people to be able to understand what is happening when it required, when saying "iteration" that code is
they transfer onto another project. This requires having writtenandunittested ornot only integrated, but
someconventionsacrosstheorganization: tested,documentedandreadyfordeployment?

26
Sw DevasaCooperativeGame page 27
What is really supposed to happen in an iteration ("two months"), or how reliable the schedule should
planning meeting? Is the demo to the customer to be("whenthescheduleis estimatedtobewithin10%
happeninsidethatmeetingorbeforeitaretheuser accuracy"),andwhatsortofinformationtheyaretobe
stories supposed to written before it or during it given.
doesitcontaindesigndiscussionorisdesigndone Baseline project management strategies. The organi
later? zationmayrequireeveryprojecttorunanExploratory
What does delivery mean? Does it mean real de 360 (see Cockburn 2004cc) before receiving com
ploymenttothefulluserbase,testdeploymenttoa mittedfunding.It mayrequireeachproject todeliver
friendly user, or deployment to a machine in the systemincrementstorealuserseverythreemonthsor
testdepartment? less. It may require automated testing, and perhaps
Iwascalledinoncebecauseeveryteamusedthoseterms test coverage policies. These policies may be chal
differently, and they could neither understand what other lengedonaprojectbyprojectbasis.
peoplemeantnorwhattheyweredoingontheirprojects. Amongthestrategiesmostoftenmistakenlyputwithinthe
Definitions of common formats. Although two teams methodology are the sequence and timing of gathering
may not have to create the same work products, it is information.Itiscommontorequirethatallrequirements
usefuliftheyusecommonformatsforwhateverwork begatheredbeforeanydesignis done,orthatalluserin
productstheydohaveincommon. terfacedesignbedonebeforeanysoftwarearchitectureis
Every project should probably have a vision and done.By now it should be clear that any strategy calling
scopedocument. for"allofonebeforeanother"hasseverelylimitedappli
Every project needs a way to report its status. cability.
Finding ways to represent status for all possible Even sophisticated developers and managers fall into
projects is very difficult (see "A Governance this trap. In teaching how to write use cases, I describe
Model For Agile and HybridAgile Projects" how to select what to write, and the format in which to
(Cockburn 2005) for a progressreporting format write. People even experienced people immediately
thatcoversalotofprojects). jumptothe conclusionthat Iwant all of the use cases to
The Unified Modeling Language (UML) helps bewrittenbeforeanydesignisdone,orthateachusecase
people use a common language when drawing a should be written to completion at one time. Neither is
domainmodelorsequencechart.Theorganization true.
mayaddadditionalrules to how those models are Thechoiceofhowmuchofoneusecaseorhowmany
presented (naming conventions, complexity in a usecases to writeat onetimeshouldbereevaluatedcon
single drawing, use of vertical and horizontal tinuallyduringaproject.Thealertteamwillcomeupwith
placement,andsoon). different answers at different moments on a project, and
Communication requirements. The testing and mar certainlydifferentanswersondifferentprojects.Thisisin
ketingdepartments need advance notice of upcoming keepingwiththecooperativegamemodel.
productreleases.Theorganizationmaysetpoliciesin
place about how much advanced warning they get

ProcessesasCycles
Mostpeopledescribethedevelopmentprocessasalinear projects, agile projects particularly well. The version in
processovertime,asIalsodiduntil2001.Thesedescrip Figure101isintendedtoshowboththelinearaspectsof
tion werenevercorrect,or were too complicated to read. theproject(readtheactivitiesclockwisearoundeachring)
Somepeoplesimply draw abig circle, or perhaps circles andthecyclicalaspects(goaroundthe inner rings multi
connectedtoeachothereitherinabiggercircle.Theseare pletimesforeachouterring).Alinear,ortimebasedun
either look wishywashy or are again too complicated to foldingofFigure101isshowninFigure102.
use. The generic circle doesn't map to a calendar in any Neitherthecircularnorthelinearversioniscompletely
way that helps a project manager. Around 2001, Don correct, because there are interactions between the inner
Wellssolvedtheproblem,inpart,byillustratingXPusing andoutcycles.Forexample,bothiterationsanddeliveries
nested cycles at different time spans for different prac contain planning, reflection and celebration. Of course,
tices. one typically does not hold two planning sessions at the
Figure 101 shows an incremental development proc startofthefirstiterationinadeliverycycle,ortworeflec
ess using nested cycles. This nestedcycle idea fits most tionsandtwocelebrationsattheendofthelastiterationin

27
Sw DevasaCooperativeGame page 28
a delivery cycle. One merges and adjusts them accord Project
Wrapup Charter
ingly.Tryingtoshowtheseinteractionson eitherformof
Delivery
diagram is too complicated. In practice, people have no Deliver,Reflect,Celebrate(delivery) Plan(delivery)
trouble understanding that the planning at the start of a Reflect&Celebrate(iteration)
Iteration
Plan(iteration)
deliverycyclewillincludebothdeliveryanditerationtime Day
horizons,andsimilarlyfortheendofcycleactivities.This Dailysmoketest Dailystandupmeeting
Integration
iswherepracticeisforoncesimplerthantheory. Integrate&test
Design
Episode
Checkin&Test Design&Code

Figure101.Nestedcyclemodelofanagileprocess
Project Project
charter Delivery Delivery wrapup

Delivery
Iteration Iteration deliver reflect

Iteration
plan Day Day Day reflect&celebrate

Day
dailystandup Integration Integration Integration

Integration
Episode Episode Episode build&test

Figure102. Thecyclesunrolled(needsfixingtoshowdeliveryplanning!!!???)
ReadFigure101asfollows: weekly activities, such as the Monday morning staff
Aprojectstartswithacharteringactivity,whichcould meeting, the daily standup meeting, and the daily
takefromanhourtoseveralweeks.Withintheproject smoketestofthesystem.Therearealsoregulardaily
aresomenumberofdeliveries,afterwhichtheproject activities, such as the daily standup meeting and the
endswithawrapupactivityofsomesort. dailyfullintegrationwithtesting.
Thedeliverycyclestartswithanupdatetotheproject Within and overlapping the daily and weekly cycles
plan,andcontains some number of iterations. It ends are integration cycles and design episodes8. Each de
withthedeliveryofthesystemtosomenumberofus signepisodeconsistsofdoingsomedesign,program
ers.Agileteamstendtoreflect aftereach delivery,to mingthe design(andtheunit and acceptance tests to
improvetheirprocessandtheproduct. match),checkinginthe new code and tests, and run
Each iteration starts with a planning session. The it ningthetests.Theprogrammers maygothroughsev
eration ends with a reflection workshop and, in the eral design episodes before checking in and integrat
best shops, a celebration event of some sort. For the ingtheircode.Thereareusually multiple design epi
lastiterationinadeliverycycle,itisprobablythecase sodes within a day, which is why I show the design
that the iteration reflection session is held after the episodeastheinnercycle.Someteamsintegratemul
delivery,aspartofthedeliveryreflectionworkshop.
Within an iteration, there are two cycles that operate
at their own, independent rates. There are regular 8
Thanks to Ward Cunningham for this term. See
http://c2.com/ppr/episodes.html

28
Sw DevasaCooperativeGame page 29
tiple times a day, other teams integrate every few can'tdeliverthesystemuntilthetests are run.They can't
days. runthetestsuntilthecodeiswritten.Theycan'twritethe
WhatIfindparticularlyusefulaboutFigure101isthatit codeuntiltheylearnwhattherequirementsare,andsoon.
allows us to capture periodic "operations" activities such Althoughthesearealltruestatements,theyarenot really
as the weekly status meeting and the daily integration in informative, and they particularly don't say the really in
thesameformatas"progress"activitiessuchaschartering terestingthingsthatneedtobesaid:
theprojectanddesigningnewfeatures.Eachcycleisquite Howmanyrequirements,at what level of completion,
simpleinitself,whichhelpsinthepresentationofanoth are needed before design can usefully get started?
erwisecomplexprocess. (The answers are usually "relatively few" and "rela
People,astheygoaboutduringtheday,havenotrou tivelylow",bytheway.)
bleinknowingwhatcycleeachactivitybelongsto.While How does feedback from the design team affect the
attendingthe weeklystatusmeetingor the daily standup amountofdetailputintothewrittenrequirements?
meeting, they know they are in an operations activity. How much of the system must be designed and pro
Whentheywalkout,theyknowtheyareenteringadesign grammedbeforeusefulintegrationandtesting can be
episode, and vice versa. It is not confusing to them that done?("Relativelylittle")
theyswitchbetweenmultiplecyclesinthesameday. Howmuchofthesystem,atwhatlevelofcorrectness,
Presenting the process as nested cycles has one more is needed before being useful to the users or suitable
benefit most people misinterpret a linear drawing of a for user review? ("Relatively little" and "relatively
process as being "waterfall," even when it is specifically low").
not. This misinterpretation is because the linear process There are two important points to take from this discus
drawings really describe a dependency graph between sion:
work products! The dependency graph should be read Consider processes as nested cycles. This simplifies
righttoleft, for its dependencies, not lefttoright for a their description, allowing capture of both progress
process. and operations activities, and allows incremental / it
The"process"diagramshowninsomanypresentations erativedevelopmenttobedescribedmuchmoreaccu
shows Gather requirements pointing to Do design (and rately.
Writecode),whichpointstoRuntests,andsoon,leading Don't confuse dependency diagrams for process dia
toDeliver system.Althoughtothe unwary it looks like a grams.
processdiagram,whatitreallyissayingisthatthepeople

DescribingMethodologiesMoreSimply
In Chapter 6, I describe Crystal Orange, Crystal Orange almost no one reads. Bill feared his task accordingly. I
WebandCrystalClearusingthree different formats.The suggestedthathesimplywritetheconventionsasalistof
CrystalOrangeWebformatwasthenewest,andIexperi sentences, and then cluster them into topics.This he did,
mentally recommended it as a faster and simpler way to and wrote to me a few days later, saying that he had
capturemethodologyrules. draftedtheentire,approximately12pagedocumentinone
Iamhappytoreportthatseveralpeoplehaveusedthat afternoon!Anotherafternoonofreviewwiththeteam(and
format,and have reported back to me that it works well, touchingupthetext),andhewasdone.
andfast. Greg Luck, then at Thoughtworks (working out of
BillBarnettatWachoviaBankwassettingupfivecon Australia), also picked up that documentation style, and
currentagileteamsforthefirsttime.Hisfirstgroupwere becameproficient atit.Hewas abletojoina project and
using an experimental set of conventions, so of course withinafewdayshavecapturedafirstdraftoftheirmeth
theydidn'twritethose down.A month later, when he set odology.
up the second group, the first team conveyed the current Whyis this important?ForBillBarnett,ashort,read
setofconventionstothesecondteam verbally,andagain able document was needed so each new team could go
they didn't write them down. But by the time the next throughitandseewhattheyhadtosetintoplace.
threeteamsweregettingstarted,bothmanagementandthe InGreg'scase,itwasmorefortheThoughtworksclient
teams themselves were asking to have the conventions thanforthe development team. The people on the devel
writtendown. opmentteamknewwhattheyweredoing.Theclientdidn't
Normally, writing down a methodology is something know what conventions the development team was oper
thattakesseveralmonths,resultsinalong document that atingunder.Byproducingadocument quickly,and mak

29
Sw DevasaCooperativeGame page 30
ingitshortandreadable,theteamwasabletoreassurethe "The traffic light (or other information radiator
clientaboutwhatwashappening,theclientdidnothaveto linkedtotheautomatedbuildmachine)turnsgreen
pay months of consultant salary for it, and other depart afterasuccessfulbuildandredwhenabuildfails.
mentscouldseehowtheywouldinterfacewiththedevel Soundbroadcasts(e.g.cheerorbabycrying)areup
opmentteam. tothediscretionofeachteam."
Hereisasummaryofhowtodothiswriting: "Teams located across time zones have a daily
Planoneafternoonforthefirstdraft,thenrevieweach standup meetingonceaday by telephone to pass
sentencewiththeteamandupdateit.Youmayneedto alongwhateachhasdoneorisplanningtodo."
updateitquarterlyastheteamconventionschange. Clusterthesentencesbytopic(thiscanbedonelater).
Ifyouareamembertheteamandhavebeenworking Some will describe basic workflow, who hands
in a consistent way for several iterations, you may whatsortofdecisionordocumenttowhom.
know enough to just sit down and do the writing. If Some will describeformats,such as the format of
youarecomingfromoutsidetheteam,gathertheteam thestorytrackingboardortheusecaseortheuser
fortheafternoonandcreatethesentencestogether. story.
Have a (fast typer) scribe use a word processor Somewill describecommunicationpatterns,times
projected onto a screen so everyone can see and ofmeetings,quiettime,andsoon.
comment on what is being written. You will Some will describe morale raising conventions,
probablywantafacilitatorinadditiontothescribe. suchas whenDoom getsplayed, or group volley
Capturethesentencesinalist. ball games, or the Friday afternoon wine and
The person doing the typing asks questions for cheesegathering.
clarification, the people in the room comment on Reviewthedocumentwiththeteam.
thecontent. Collect the team for about two hours. Go through
Don't get locked up in wordsmithing details, just thedocumentclusterbyclusterandcollectcorrec
gettheideasdown.Therewillbeareviewsession tions.
forcorrectingsmallerrors. Ifyouthinkyouwillhavetroublecompletingthis re
Write downonesentenceforeach convention in use. viewintwohours,getsomeonewhoisgoodatfacili
Thesecancoveranytopicat all.Herearesomesam tationtoleadthesessionand makesureit doesn'tget
plepossiblesentences: boggeddown.
"Everyonesitsinoneroom." Ifthereisrealdisagreement onsomepoint,appoint a
"Each multispecialist function team sits together separateworkingsessionbetweenjustwiththepeople
thedifferent functionteams sit as closely together whoareconcernedwiththatpoint,andmoveon.After
astheycanmanage." that workingsession,seeifyoucanget agreement to
"The marketing and sales representative visits the the changed session in the daily standup meeting or
teameachmorningtoseetheprogress,answerany byemail.
questions, and report on changes in direction of Reviewandupdatethe document afterthenext itera
newobservationsaboutthemarketandthecompe tionorafterthreemonthsatmost.
tition." That'sit,that'sthewholething.Nowtryit.
"Programmerscheckincodeseveraltimesaday."
"2:00to4:00p.m.is reserved for focus time each
day people who agree can work on a topic to
gether, but no meetings are called, and outside
callsareblocked."

30
Sw DevasaCooperativeGame page 31

5'
AgileandSelfAdapting:Evolution
Thischapterisquitelong,becauseourunderstandingofagiledevelopmenthasevolveda
greatdealsincethewritingoftheagilemanifesto.
Atfirst,peopleasked,"Whatdoesagiledevelopmentreallymean?"Thatwasaccom
panied by manyinteresting ways of misconstruing the message (which continue to this
day).Thenthequestionsbecame:"Whereisthesweetspotofagile,andwhatdoyoudo
outsideofthesweetspot?"and"Whatistheroleofaprojectmanagerinahyperagile
project?"
Weshalltakealookhereatthesequestions,alongwithhowagilemethodologieshave
evolved.
Alsosuitablefordiscussionisthewayinwhichtheagileapproachgetsappliedout
sidesoftwaredevelopment.Thecooperativegamemodelappliestobusiness,journalism,
law, and entertainment, as well as software development. Agile development applies to
thoseareas,butalsotocivilengineeringandconstructionprojects,suchashouseorair
portconstruction.

31
Sw DevasaCooperativeGame page 32

AGILEANDSELFADAPTING:EVOLUTION 31
MISCONSTRUINGTHE MESSAGE 34
"Iterationsmustbeshort" 34
"Agileteamsmustbecollocated" 35
"Agileteamsdon'tneedplans" 36
"Architectureisdead,refactoringisallyouneed" 37
"Wedon'tneedno*%@!managers!" 39
"Agiledevelopmentislowindiscipline" 40
AgilityandDiscipline 40
ToleranceforUncertainty 41
"Agileonlyworkswiththebestdevelopers" 42
"Agileisnew,old,failedanduntried" 43
EVOLUTIONOFTHE AGILE METHODOLOGIES 45
XPSecondedition 45
Scrum 46
PragmaticandAnonymous 46
Predictable,PlandrivenandOtherCenterings 47
TheoryofConstraints 48
Theimportanceofthebottleneckstation 48
Thetheoryofconstraints(TOC) 49
Criticalchainprojectmanagement. 49
LeanDevelopment 50
NEW METHODOLOGY TOPICS 51
Agileprojectmanagement 52
Testing 52
UserExperienceDesign 53
ProgramGovernance,BurnCharts,andSystemsEngineering 54
AGovernanceView 55
UseCasesandUserStories 58
UserStoriesOverloaded 58
UseCasesRevisited 60
MappingUseCasestoUserStories 60
PERSISTENTQUESTIONS 61
SweetSpotsandtheDropOff 61
FixedPrice,FixedScopeContracts 62
Agile,CMMI,ISO9001 62
AnotherViewofAgileandCMMI,byPaulMcMahon,Principal,PEMSystems 65
WhenToStopModeling(reprise) 68
TheHighTech/HighTouchToolbox 69
TheCenterofAgile 70
HowAgileareYou? 70
IntroducingAgile 73
IntroducingAgilefromtheTop10Lessons,byEricOlafsson,CEO,Tomax 74
AGILE OUTSIDE SOFTWAREDEVELOPMENT 76
Projectportfoliomanagement. 76
CustomerRelations 76
Contracts 77
RevisitingtheCustomContract,byEricOlafsson,CEO,Tomax 79
IntroducingChangeIntoAnOrganization 81
TheProcessMiniature 81
AnchoringNewBehaviors 81
CreatingChangewithStickers,byKayJohanssen,TestManager 81
ALargeChangesisManySmallOnes 82
LeanManufacturingatO.C.Tanner,byMikeCollins,VicePresidentLeanEnterpriseDevelopment,O.C.Tanner84
ProgrammersReadtheHarvardBusinessReview 86
Houseconstruction 87
Airportconstruction 88

32
Sw DevasaCooperativeGame page 33
Bookpublication 89
ConferenceOrganizationandLimitsoftheAgileModel 90

33
Sw DevasaCooperativeGame page 34

MisconstruingtheMessage
Over the last five years, people have been quoting agile "Iterationsmustbeshort"10
rhetoricwithoutadoptingtheelementsthatmaketheagile
approachwork.Thissectionismylittleattempttocorrect A macho culture has developed around making iterations
someofthemisquotesoftheagilemodelthatoverzealous shorter and shorter. Teams that fall into this trap end up
wouldbeagiledevelopersinflictupontheirmanagers. with iterations that are too short to complete features
Before getting into ways to misconstrue the message, within.Theiterationdevolvestoamereplanningperiod.
let'sfirstreviewwhatthemessageissupposedtobe(orat Atelltalesignofthattheiterationsaretooshortisthat
leasthowIthinkaboutit). theteamgetspreoccupiedwiththeworditeration.Wesee
First, create a safety net for the project, one that in teams charting oneiteration'sworthof work without see
creases the chances of a successful outcome. This inghowthevarious specialists'workfitstogetherorhow
safetynetconsistsofthefollowing: theoutputoftheiterationsgrowtowardausefuldelivery.
Everyone ontheteam sits within a small physical The mistake is assuming that short iterations are uni
distanceofeachother(osmoticcommunication). formly good. An iteration should, in theory, permit the
They team uses an automated tool suite that inte following:
grates the code base every short while (continu The business experts work out the details of the fea
ously, each half hour or each hour), runs the test turestobebuiltinthisiteration.
suite,andpoststheresultonaninformationradia Theprogrammersprogramthem.
tor. Theusers,businessexpertsandtesterscheckthatwhat
The team, working in small increments so they got built is adequatelycorrect,andcomment on what
checkincodeandtestsseveraltimesaday,creates needstobechanged.
unitandsystemtestsfortheautomatedintegration The programmers change the software to take those
systemtorun. commentsintoaccount.
The sponsor and key users visit the project team They repeat the last two steps until the business ex
often(dailyoronceaweek)toofferinsights,feed perts,usersandsponsorsfeelthefeaturesaresuitable
back,anddirection. fordeployment.
The team delivers running, tested features (RTF)9 Now imagine a fairly normal team of business experts,
torealuserseveryweek,month,orquarter. programmersandtesters(UIdesignexpertswillnoticethe
Following each delivery, the sponsors, key users usualabsenceofUIdesigners!)whohavechosenanitera
and development team get together and review tionlength oftwo weeks.Theteamfinds it cannot do all
theirmission,thequalityoftheirproduct,andtheir five steps in just two weeks. So, they decide to pipeline
workingconventions. theirwork:
After the safety net is set in place, see what can be Inthefirsttwoweekcycle,thebusiness expertswork
removed from the development process. Typically, outthedetailsoffeatureset1.
requirements documents can be lightened, planning Inthenexttwoweekcycle,thebusinessexpertswork
documentsput intoa simpler form, and design docu outfeatureset2andtheprogrammersprogramfeature
mentation done in a different way. Also typically, set1.
moretraining needs tobe brought in, more test auto Inthenexttwoweekcycle,thebusinessexpertswork
mation done, designs simplified, and community dis outfeatureset3,theprogrammersprogramfeatureset
cussionsincreased. 2,andthetesterstestfeatureset1.
ThepointIwishtomakeisthatsimplifyingtheprocessis Theyrunintoaproblem immediately:The groups are all
arewardtheteamgetsforputtingthesafetynetintoplace. workingondifferentfeaturesets.Discussionthat felt like
Manywouldbeagile developers take the reward without collaborationwhentheywereworkingonthesamefeature
everputtingthesafetynetinplace. set now feels like interruption. When the testers in the
Here are some of the harmful misquotes of the agile third iteration ask the business experts a question about
manifestoIhaveheard.

10
This issue is discussed at length in the article, "Are Iterations Hazardous to
9
AneattermcoinedbyRonJeffries(JeffriesURL). YourProject?"(Cockburn2005z)

34
Sw DevasaCooperativeGame page 35
featureset1,theyforcethebusinessexpertstoremember While it is clear that working with a distributed team
issuesexaminedtwocyclesago,amonthintheirpast. makesagiledevelopmentharder,itdoesn'tmeanyoucan't
Toprotectthemselves,sotheydon'tgetbotheredwhile use the agile model. The wouldbeagile distributed team
they work out their new decisions, the business experts must put more energy into its communication and team
write documents to give to the programmers and testers. buildingstrategies,andfindtimestogettheteamtogether
Similarly, the programmers create documents to hand to facetoface.
thetesters. Automationtoolsandhighspeedcommunicationtech
Inpipeliningtheirwork,theyhavecreatedatimebar nologies help.Webcamerasand microphones attachedto
rier, which can be crossed only using archival forms of workstationsletpeopletoseeandtalktoeachotherinreal
documentation,whichaswesawinChapter2,areexpen time.Instant messagingletsthemtradecodeinreal time.
sive, tedious, and relatively ineffective forms of commu Net meeting software lets them pair program together.
nication. Automatedbuildandtesttoolsletpeopleindifferenttime
Some agile experts are really opposed to lengthening zonesworkfromthesamecodebase.
the iteration, and this for good reason. As the iteration Distributedteams mustbecarefultoworkinsmallin
lengthens, people have a tendency to delay their work, crements, integrating and testing multiple times a day.
pushing it all toward the end of the iteration. As Dan Because communication is not as fast, synchronizing the
Gackle once wrote, describing their team's use of one codebasebecomesmoreimportantastheteamgetssepa
monthiterations: rated.
""Meander, meander, meander, realize there isn't A distributed team must put more energy into simpli
muchtimeleft,freakout,getintense,OKwe'redone. fyingthesystem'sarchitecture(CockburnCutterref).The
Repeatmonthly." reason has to do with Naur's "Programming as Theory
Good agile coaches steer carefully to avoid these two Building." Since the communication channels between
traps, shortening the iteration to get results quickly, people are constrained, it is more difficult for them to
lengtheningittogetpropercommunicationandfeedback, build a shared theory of what they are developing. The
keepingpeoplefocusedonmakingprogressatalltimes. more complicated the architecture is, the more compli
cated the theory is, and the less likely they will work to
"Sowhatshouldwedo?" the same decision principles. Conversely, with a simpler
Becomepreoccupiedwiththeword"delivery." architecture,theyhaveagreaterchancetokeepthetheory
Understand that each iteration builds toward the next intactacrossdistanceandintermittentcommunication.
delivery,andknowexactlywhateachiterationcontributes Even with all that, there is still no substitute for per
toeachthenextdelivery.Withthisinmind,determinethe sonal,facetofaceencounterstobuildpersonalsafetyand
length of the iteration from factors having to do with trust.Gooddistributedteamsgettogetherinitiallyandpe
knowledge of the domain, the technology, the user base, riodically for both technical work and social interaction.
and the communication patterns. Consider at what pace Through these gettogethers, they build shared mental
theteamcandeliverrunning,testedfeaturestorealusers, modelsoftechnicaltopicsandpersonaltrust.
while also collecting and incorporating feedback from Partofthetroublewithdistributeddevelopmentisthat
those users. Balance brevity of iteration with the quality executives and managers have never learned how to de
andcompletenessofteaminteractions. velopsoftwarehere.Theycometothinkthatperhapsthey
Retain in all cases is the idea that a feature is not knowhowtodevelopsoftware there,orifthereisgoingto
"done"untilthekeyusershavehadachancetoseeitand beamess,itisbetteroutofsight,andifthereis goingto
change it at least twice. Although this is not in the agile beafailure,thefailurewillbelessexpensiveifithappens
manifesto,itisacriticalpolicyforthesoftwaretobecon there. What I am interested in is learning and teaching
sideredsuccessfulinuse. howtodevelopsoftware here,foranyhere.Oncewelearn
this,thenwecandevelopsoftwareboth hereand there.
"Agileteamsmustbecollocated" Idon'texpecttoreversethetrendofdistributeddevel
Distributed teams lose the high levels of communication, opment. I do wish executives to consider more of the is
trust, and project safety afforded by collocation. Project sues involved, particularly the higher communication
managerswhoonceledcollocatedteams but thengot as costs.
signeddistributedteamsrepeatedlycommentto meabout Asuccessinthisregardwaswhenoneexecutive,who
thelossoftrustandthe difficulty inrebuildingit.This is was running projects split between Pennsylvania and
independentofwhethertheywereusinganagileapproach North Carolina, turned to her colleague, and said
ornot. (roughly):"Ithinkthatwecouldhaverunthatlastproject

35
Sw DevasaCooperativeGame page 36
just in Philadelphia. Even though Jim (the best program Except oncertainexploratoryprojects, there is almost
mer)isinNorthCarolina,wecouldhaveusedMartin(in alwaysenoughinformationtomakeacoarsegrainedplan
Philadelphia)insteadandsavedalotoftrouble."Shewas that is aligned with the project and the organization's
balancingtheincreasedexpertiseshecouldgetinmultiple overall vision. This coarsegrained plan serves to make
sitesagainstlowercommunicationscostsandhigherteam coarsegrained cost and time estimates. Those estimates
productivityshecouldgetwithacollocatedteam. are badly needed by the sponsors to weigh the project
"Sowhatshouldwedo?" againstotherpossibleinitiatives.
We worked to repair the situation as we could in the
Pay even closer attention to the agile values than collo Declaration of InterDependence. The third principle in
catedteams do.Simplify the architecture. Add new face theDOIstates:
toface communication opportunities. Use an automated "Weexpectuncertaintyand manage foritthrough it
buildmachineandcheckyourcodeineveryfewhours. erations,anticipation,andadaptation."12
Keepyoureartothegrapevineandpickupnewideas Thisphrasehighlightsthatuncertaintyisafactorthatcan
beingtriedinotherteams. not be completely eliminated, but can be mitigated with
"Agileteamsdon'tneedplans" the feedback mechanisms in standard use by agile teams
(iterations, reflection, adaptation), plus making use of in
Earlycritics oftheagile movement worriedthat we were formationthatisalreadyavailableanticipation.
dropping project planning, which would be dangerous to
It remains to be seen whether upper management will
theproject.Sadly,Ihaveseenexactlythis(droppingplan
accept that uncertainly cannot be eliminated. It also re
ning)happenalltoooften,and withthe expected damag
mains to be seen whether agile zealots will accept that
ingconsequences.
anticipationhasvalue.
Itseemsthatquiteanumberofoverzealous wouldbe
In practice, agile teams tend to produce plans at two
agilistssaytotheirmanagers,"Ifwearesufficientlyagile,
levels: longterm, coarsegrained plans, and shortterm,
we don't need plans we can always react quickly
finegrainedplans13.
enough.Ifweneedplans,wearejustnotagileenough."I
have lost count of the number of executives who tell me On one 18month, $15m fixedprice project, we
that this is howtheirprogrammers present agile develop workedfrom240casualusecases14,alistofexternalsys
menttothem. tems that would have to be touched, an estimate of the
numberofdomainclassandscreensthatwouldhavetobe
The final value comparison in the agile manifesto
built,andareleaseplanthatconsistedofadozenbubbles
states: "Responding to change over following a plan."11
with dependency arrows between them, with lines mark
That is followed by the tempering statement, "While we
ing the five deliveries that would be made. Such coarse
valuetheitemsontheright,wevaluetheitemsontheleft
grained longterm plans are typically used for projects
more."Planningisusefulinbothcases.
greaterthanthreemonths.
The value comparison in the agile manifesto is in
The shortterm, finegrained plan is used for time
tendedtocompare
frames between one week and three months. Inside the
makingaplanandperiodicallyreconsideringwhether onemonth time frame, work items are typically broken
therealitycurrentlyfacingtheteamisbetterservedby downintopiecesbetweenhalfadayandthreedayslong.
keepingtothatplanorbycreatinganewoneagainst
Thesetwolevelplanshaveseveraladvantages:
makingaplanandcontinuallytryingtogetbackonto
it. They paint an overall picture of the project and still
allowroomformovement.
Whensomeaspect ofthe project doesn't work out as ex
The longterm, coarsegrained plan show the overall
pected,asuddenstaffchangehitstheteam,orsomeexter
direction, the timing, the approximate cost, and how
nal event changes the sponsors' priorities, the team must
theiterationsfittogethertodeliverthebestvalueover
decide whether to get back to the written plan, or to
thelongterm.
changeboththegoalandtheplan.Itisnotpartoftheagile
Theshortterm,finegrainedplanisusedtocoordinate
manifestotoassert whichis betterto get back onto the
teamsindetail.
planortocreateanewone.Itisapartoftheagile mani
festo to assert that one should make that choice deliber Eachlevelcanbeupdatedquickly.
ately.
12
http://pmdoi.org
13
ExamplesofeachareshowninCockburnCC2004,pp??????.
14
"Casual"usecasesarewritteninonlytwo paragraphs.Theyaredescribedin
11
http://agilemanifesto.org (Cockburn weuc).

36
Sw DevasaCooperativeGame page 37
Theteamcanbalancethe needs of setting overall di "Architectureisdead,refactoringisallyouneed"
rectionwithtrackingdetailedwork.
Similartonot needing plans is the overzealous view that
Any change in a longterm plan invalidates a large architecture is not needed: "If you are sufficiently agile,
amountof workinadetailedplan,andwecanbecertain youdon'tneedanarchitectureyoucanalwaysrefactorit
that there will be changes in the longterm plan. By ex onthefly,"saythesepeople.
panding the detail of the plan just prior to starting an it
erationoradeliverycycle,wereducereworkinplanning. Let'slookat bothsides oftheargument,withtheidea
that the extreme of either probably is not good for most
"Sowhatshouldwedo?" projects (but possibly is good for some project some
Createacoarsegrainedlongtermplantoknowwherethe where).
target is, and a finegrained shortterm plan for the next Good agile developers start with simple architectures
week,monthorquarter. and then evolve them. I have seen good developers start
withsimplisticintercomputermessagingmechanismsand
Sidebar: HelmuthvonMoltke latersubstitutecommerciallyprovidedmessagingsystems
without difficulty. This pattern of development is called
Agilistsoftenmotivatetheiraversiontodetailedlongterm
plans by quoting the German military strategist Helmuth WalkingSkeletonwithIncrementalRearchitecture(Cock
vonMoltke:"Nobattleplansurvivescontactwiththe en burnCutterref,CockburnCC).
emy." The advantage gained is that the team, sponsors and
users have a system up and running early. From there,
I found this a compelling quote, until I learned that
they can steer the feature set, the architecture, the staff
therewere twoHelmuthvonMoltkeswhomighthavesaid
it. composition,the use of technology, and the development
process. The cost to the strategy is that the team must
Moltke the Younger (Helmuth Johann Ludwig von makechangestothesystemwhiledevelopmentcontinues.
Moltke, 1848 to 1916) has been (controversially) blamed
for Germany's loss in the Marne campaign and conse Thecounteringargumentisthatamorecomplexorigi
quentlytheFirstWorldWar. nal architecture would probably also be wrong in unex
pectedwaysandwouldalsoneedtobechanged.
"AsChiefoftheGeneralStaffMoltkewasresponsible for
thedevelopmentandexecutionofthestrategicplansofthe I have seen and heard of projects saved by deploying
GermanArmy.Thereisconsiderabledebateoverthenature an early, simple architecture and changing it later after
ofhisplans.Criticsfromthesocalled"SchlieffenSchool" they saw where its shortcomings were and I have seen
arguethatMoltketookhispredecessor'splan...modifiedit and heard of projects that failed due to an overly ambi
without understanding it, and failed to execute it properly tious initial architecture that could never be fully devel
during the First World War, thus dooming German ef opedand deployed at all. I therefore consider the cost of
forts."15 upgrading a simple initial architecture as nothing more
If Moltke the Younger said that no battle plan survives than the insurance premium for increased project safety
contact with the enemy, then those opposed to the agile andforreducedriskaffordedbyhavinganearly,running
viewpointwouldrespondthatthiswasspokenbysomeone system16.
whoclearlyhadn'tplannedwellenough. Changing the architecture is possibly a good thing in
On the other hand, Moltke the Younger's uncle, Hel itself. I ran across the following argument somewhere
muthKarlBernhardvonMoltke(1800to1891,knownas along the way, and have examined it closely with some
MoltketheElder),didn'tloseanywarsforGermany,was friends.Wethinkitissound.Seeifitmakessensetoyou.
very successful in battle and was eventually promoted to
Field Marshall. If it was Moltke the Elder who said the
quote,thentheaboveretortcan'tbegiven,and"Nobattle
plansurvives contact with the enemy" meaningfully sup
portstheviewthat even the best plans need frequent up
dating.
Fortunately,itwasMoltketheElderwhosaidit.

15
http://en.wikipedia.orfg/wiki/Helmuth_von_Moltke_the_ Younger and
16
http://en.wikipedia.org/wiki/Helmuth_Karl_ Alongerdiscussionofpayingextraforflexibilityispartofthearticlesseries
Bernhard_von_Moltke "LearningfromAgileSoftwareDevelopment"(CockburnCrosstalkagileref)

37
Sw DevasaCooperativeGame page 38
Changestooexpensivetomake(deadproduct) butovertime,thetwotradeplaces,asshowninFigure5'
1.
Changesslowthebusinessdown
Cost Inotethattheincreasedcostofunderstandingthesys
to temas it grows in complexity is part of what Peter Naur
update without
constant with
talks about as "theory building" in Appendix B. It is an
the
software
refactoring constant intrinsiccost,meaningthatitcan'tberemoved.
refactoring
Sofarintheargument,wehaveseenthatstartingwith
a simple architecture is good and refactoring is good.
Where'stheproblem?
The problem is that sometimes the development team
Numberofchanges has information available that can reduce the refactoring
Figure5'1. Thegraphicalargumentthatbusinessesget cost. Ron Crocker's example illustrates(Cockburn cutter
heldupbynotrefactoringsystemsconstantlyearlierthan archarticleref):
whentheyrefactorconstantly(seetext). RonCrockerwas lead architect at Motorola on a new
mobilephoneplatformthatcoveredfromthetransmission
Figure5'1showsthecostofrefactoringversusnotre towers to handheld and PCbased devices. They were
factoringcodeovertime.Thecoreideais that whenpeo facedwithmeonecorearchitecturalquestion,whetherto
plemakechangestothecode,theyaddsmall,extrabitsof designthemobilephonestohandlebothcircuitswitching
complexity, perhaps an extra branch condition or code and packetswitching traffic right from the start, or just
duplication. These little bits of complexity are not inde circuitswitching. They suspected they would need both.
pendent,butstarttointertwine.Anewbranchconditionis The refactoring approach would have them design the
based on a previous branch condition, code duplication system to handle circuit switching, to add the capability
gets copied, modified and gets its own new branches. forpacketswitchingonlywhenthatbecamestrictlyneces
Oncetheselittlebitsofcomplexitystarttointertwine,the sary,andtorefactortheirarchitectureatthattime.
totalsystemcomplexitygoesup,notlinearlyasitwouldif Ron'sdevelopmentteamconsistedof250peopleinsix
theywerecompletelyindependent,butexponentially. countries,andIknewthatthiswasafactorinhisdecision
The cost for updating the software looks like interest to design for both right from the beginning. So I asked
growthonafinancialloan:(1+c+u)n..Here,cistheneces Ron to estimate the cost of communicating the new re
sarycomplexityaddedtothe code through the new busi designunderthesimplestcircumstances,thattheirproject
nessrules,uisthecostforunderstandingtheunnecessary consistedonlyof30people,alllocatedinthesamebuild
intertwining across the changes, and n is the number of ingonthesamefloor.Aftersomepause,heestimatedthat
changes put into the code. Even if u is a small number, they might have been able to migrate the developers to
over thousands of changes across a period of years the understanding the new architecture in "merely" a few
cost to understand and modify the code grows to a point weeks.
where the system simply can't be updated in the time "ButwhywouldIwanttodothat?"heasked,meaning,
frameneededbythebusiness. whywouldtheywanttocosttheentireteamtwoweeksof
The graph shows how it comes about that modifica theirtime,whentherequirement wasknownfromthebe
tions to a software system start out easy, but become ginning?
harderandharderovertimeuntilfinallytheprogrammers In fact, with 250 people in six countries, the cost of
tell the business owners, "We can't make any more up communicating the revised architecture would have been
gradestothissystem.Wehavetostartover." enormous. Since the requirements were known from the
Refactoringconstantlytocleanupthe code, the curve start, it made sense for his team to design for both right
becomes exponential with a slower exponential. It does fromthestart.Itis relevant to mention that his team had
cost time to clean up each new piece of complexity, but designedthesetypesofsystems before,sothey were em
thesecleanupactivitiesdon'tintermixwitheachother,so barkingonafamiliar,ratherthanunfamiliar,path.
the cleanup activity costs. The cost is (1+c)n.+ (r*n), On another project, the lead architect, who was con
whereristhecostofdoingtherefactoring.Thecodestill tracting out the work to an XP team, watched in frustra
growsmorecomplex,butthegrowthisslower,andsothe tionasthesubcontractorsignoredtheknownrequirements
system lasts longer before slowing down the business to support a variety of peripheral devices, and imple
(ratherlikepayinga5%loaninsteadofan11%loan). mentedaseriesofdesignsoneaftertheother,addingeach
Noticethatinitially,therefactoringcostisgreaterthan peripheraldeviceasasurpriseadditioneachtime.Hewas
the cost of understanding a few extra bits of complexity, frustrated because he knew they could have cut quite a

38
Sw DevasaCooperativeGame page 39
few revisions if only they considered the future require NourishmentfromExecutiveSponsors
mentsfortheperipheralsmuchearlier. (decisions,money)
This is where some balancing of the issues is called
for.
Community
We have learned in the last ten years that simple de (communication,amicability)
signs with clean interfaces really can be altered and ex Focus
tended with quite low cost. The cost is low enough that (knownpriorities,focustime) Incremental
very often, a simple, clean design followed by a targeted development
change comes out at a better overall cost than an overly & Reflection
complicated initial design that takes longer to implement People
andisdifficulttobothlearnandmodify. (abilities,motivation)
What we need to take into account is that good agile Figure5'2. Tencriticalfactorsinprojectsuccess
developers are quite experienced and have good design
Sponsorship:Without adequatesponsorship,the proj
reflexes.Theirdesignsaresimple,clean,andrefactoreas
ectwillstarveforresources.Sponsorshipconsistsof
ily. The refactored design is again tidy and clean and al
Moneyforstaff,trainingandequipment
lowsitselftoberefactoredagain.
Decisionsaboutdirectionandpriorities
Inexperienced designers are likely not to have such
The people: The people have to be both capable and
gooddesignreflexes.Theycanbenefit frombeingforced
willingtodothework.Thisincludes
tothinkthroughtheissuesofscalability,performanceun
dergrowingloads,andprobablechangesinrequirements. Ability meaningtalent,the latent part of ability,
and skills, thetrainablepart
Thethinkingtimeiswellspent,eveniftheydecidetoim
plementasimplerdesign. Motivation the willingness of the people to par
ticipate in both social and technical sides of the
Thishasbeenalongsection.Architectureis not dead, endeavor
andrefactoringisnotacureall.Thinkingabout designis
Incremental development with reflection: Without
still important, as is developing good reflexes about sim
incremental development, the team doesn't have a
ple,tidydesigns.
chanceto detect andcorrect problems in its direction
"Sowhatshouldwedo?" and process without reflection, the team won't actu
This quesiton one has no simple recommendation, as far allyredirectitself.Theseare
asIcantell.Differentpeoplethinkaheadtodifferenttime Incrementalgrowthandintegrationoftheproduct,
horizons. preferablywithdeliveries
Reflection after each increment about their direc
I like Ron Crocker's advice17: Create a simple archi
tion(includingtargetmarketandfeaturesets),their
tecture that handles all the known "big rocks" (require
rateofmovement,andtheirprocess.
mentsparticularlyhardtoincorporatelateintheproject).
Handle the "small rocks" as they appear during the proj Community:Thequalityofthecommunityaffectsthe
ect. speedofmovementofideasitisoneplacewheredy
namicshiftsinteamproductivitycanoccur.Commu
Agoodarchitectureissimpleandunderstoodbyallon nityincludes
theteam.Thistakesthinking.Atthesametime,goodag
Communicationpathsthespeed oftheproject is
ileteamshavedemonstratedthatwithcleandesigns,even
limited by the speed at which information moves
significantchangescanbemakeremarkablyquickly.
betweenpeople(ergseconds/meme,seep.???).
"Wedon'tneedno*%@!managers!" Trustissues (personal safety and amicability) if
peoplewon'tspeakorwon'tlisten,theinformation
Along with plans and architecture, overzealous agilists
won'tgetfromwhereitistowhereitneedstobe
dismiss therole ofproject manager.Here again, we need
tolookattheissuesinvolved. Focus,meaningbothdirectionandtime.
Prioritiesknowingthetwoorthreekeyitems to
From interviewing project teams and managing proj
workonatanytime
ectsmyself,I have made the following list of ten factors
Focus time having quiet time to get the work
criticaltoprojectsuccess,infiveareas(seeFigure5'2):
done
Figure5'3showsroleoftheprojectmanager.

17
(Cockburncutterarchref)

39
Sw DevasaCooperativeGame page 40
Sponsor(s) you choose to eliminate the role of "project manager,"
makesurethatallthesecriticalfactorsaretakencareof.
Interruptions
"Agiledevelopmentislowindiscipline"
Decisions
$ Visibility Notwithstanding the discussion in the 1st edition of this
book("CounteringwithDisciplineandTolerance,"p.52?
X and "XP and Discipline," p. ???), many people have
PM formed the impression that agile development is low on
discipline.
Communication Thebestagileteamsareextremelydisciplined,writing
Amicability developers test cases before they write new code, checking in and
Priorities integrating runningtested code every few hours, refac
Focus time toring their code to simplify it, showing their results to
Skills development
Motivation users every week, and reflecting on their work habits
Reflection everyweekoreverymonth.Ifindthesepracticesdifficult
tointroducein mostorganizations.Iamalways surprised
Figure5'3.Roleoftheprojectmanagerinmodern,agile
at how many agile groups manage to do them all, enjoy
projects
doingthem,andinsistondoingthem.
If the team does not make its results visible to the
Agilityand Discipline
sponsors, the sponsors will cut the supporting flow of
moneyanddecisions.Indeed,whenIlookthroughstories The idea that agility is not disciplined comes from
of failed agile projects, this is a dominant pattern that people working with a onedimensional comparison line
emerges:Theprojectteamdismissedtheprojectmanager, (see Figure 5'(2)). This view causes trouble because
did not create an adequate line of visibility to the spon people are forced to place agile development somewhere
sors, and the support got cut off a short time later. This betweencowboycodingandplandrivendevelopment.
visibilityproviding role need not be in the hands of the
projectmanageritjustusuallyis,becausethatispartof Cowboycoding Plandriven
thenormaljobdescriptionforaproject manager(PM). If Discipline
anagileteamwishestoworkwithoutaPM,theteammust
find another way to get the visibility and support they Figure5'(2).Theoldviewofaonedimensionalspec
need. trumofdisciplinebetweencowboycodingandplan
driven.
The PM also serves the team is by acting as a wall
againstinterruptions.Indeed,fromthetimeIwasajunior But it doesn't sit between those two choices at all.
hardware designer in the 1970s through today, I have There is another dimension in play, namely how much
heard developers say, "The only thing a project manager fluxorchangeishappeningwiththerequirementsandthe
providesmeiskeepinginterruptionsaway!" code(seeFigure5'(1)).
The largest part of a PM's job is "getting people to Cowboy coding (what I sometimes call "lost in the
worktogetherwhowouldotherwisebesittinginthecafe woods"development)involveschangingdirectionalot,as
teria arguing.18" This means working on communication, well as missing discipline. The changes in direction may
amicability,personalsafety,andmotivation. or may not be useful to the company. Plandriven devel
Finally, it is the project manager who helps people opment intends to slow down the changes by adding a
identify and get the skills development they need who certainlevelofdiscipline.
helps them clear time for focusing on work who makes Agile development permits greater changes in re
sureeveryoneknowstheirpriorities,thattheprioritiesare quirementsanddesign,byaddingacertainlevel of disci
aligned within the team and with the organization's who pline. There are numerous agile methodologies, some of
organizesandmayleadthereflectionsessions. which call for more discipline than others. XP probably
EvenafterwedropthebureaucraticloadofthePM to calls for the greatest amount of discipline among the
nil,thereisstillplentyforagoodprojectmanagertodo.If named agile methodologies (see "XP and Discipline, p,
???).CrystalandScrumarefairlydeliberateabout lower
18
ingtherequirementsfordisciplineaslowaspossiblebut
ThankstoCarlEllison,whospokethesemysteriouswordstomebackaround
1978. They have been rattling around my head for decades waiting for me to
bothstillrequiremoredisciplinethancowboycoding.Ju
makesenseofthem! dicioususeofagileprinciplesandtechniqueslettheteam
40
Sw DevasaCooperativeGame page 41
respond faster to changing requirements and design than The horizontal axis shows the level of ambiguity and
cowboycodingdoes. uncertaintythepeopleintheorganizationcantolerate.As
theycantoleratemore,theycanapplythemoreproductive
concurrent strategies. As they can tolerate less, they are
restrictedto simpler, less productive strategies (waterfall,
agile forexample).
development Eachproject requires acertainlevel ofproductivityto
cowboy complete in time. If the project requires a lower level of
flux

coding productivity, then a team with lower tolerance for ambi


guity and uncertainty can still complete the project with
their simpler strategies. However, if the project requires
thehighestlevels ofproductivity,thesameteamwillfail,
becausethepeopleareunableorunwillingtousethemore
plandriven productivestrategies(thatcallfortheextraambiguityand
development uncertainty).
Projectrequiresatleastthismuch

(usingflux&uncertainty)
productivitytosucceed
discipline eprojects
Figure5'(1).Amoreaccurateviewshowsdiscipline

Productivity
andfluxasseparatedimensions.Agiledevelopmentoccu
pies the highflux zone and permits a varying amount of
discipline.
Thus,agility does not go against discipline, but is an
independentselection.Onemanagementbookcapturesthe
oldschool
importance of having both: In Big Winners, Big Losers, projects
Alfred Marcus (2006) reports on his study of companies
Toleranceforambiguity/uncertainty
thatstayedsuccessfulacrossleadershipchanges.Hefound
theyhadallthreecharacteristics: Figure5'5. Somegroupscannotusehighlyproductive
strategiesbecausethosestrategiesrequiremoretolerance
Agility
forambiguityanduncertaintythanthegroupscanman
Discipline
age.
Focus
Focus, which provides knowledge of direction and the ThisiswhattheBoehmTurnerdiagrampointsatwith
abilityto not workonthings not relatedtothat direction, theCultureaxisseeFigure5'4,inthenextsection).Some
simplifies people's choices. Agility, which provides the organizations need order, or the fiction of it. Those or
abilitytochange directions quickly,drives effectiveteam ganizations are less suited to trying out agile strategies,
workhabits.Discipline,whichprovidesthecapacitytodo sincethe agile strategies will bring ambiguity and uncer
theunpleasant,keepstheteamdoingwhatworks. taintywiththem.Organizationswithhighertolerancewill
Agility, discipline and focus are as essential to an ef haveaneasiertimewiththeagileapproach.
fectivesoftwareteamastothecompanyasawhole. Figure 5'5 makes one more, very important, point.
Some projects require the more advanced, more produc
ToleranceforUncertainty tive,uncertaintygeneratingstrategiesinordertosucceed.
This is the appropriate time to offer a graph that Jim Others don't. If your organization's projects don't require
HighsmithandIdrewupinoneofourearlymeetings,but that extra level of productivity, then your organization
which we haven't published up to now (Figure 5'5). It doesn'tneedtheaddedstresscausedbyagilemethods.If,
relatestotheorganizationaltolerancetowardflux. ontheotherhand,yourprojectneedsthatlevelofproduc
tivity,butyourorganizationcan'ttoleratetheneededlevel
The most productive strategies operate with a high
level of flux, ambiguity and uncertainty. Incremental de ofambiguityanduncertainty,thenyou'reintrouble.
velopment, iterative development, and concurrent devel Ithinkthatthisgraphhintsatthelimitsofadoptionof
opment are three strategies in this line. Anyone who has theagileapproach
lived through a concurrentengineering project under
standsthehigherlevelsofflux,ambiguityanduncertainty
itgenerates.

41
Sw DevasaCooperativeGame page 42
"Sowhatshouldwedo?" Inverse ~A~B Doesn'tfollow
Donotchoosebetweenagilityanddiscipline.Youcan Contrapositive ~B ~A Follows
haveeither,orneither,orboth.
"Agileonlyworkswiththebestdevelopers" The cognitive illusion is that we find ourselves drawn to
theunsound,simplerinverseratherthantothemorecom
Manywritershaveofferedapeculiarobjectiontotheagile plicated, sound contrapositive (the length of the word
approach.Theyobservethat very bright designers articu contrapositivedoesn'thelp).
latedtheprinciples,andjumpfromthatobservationtothe Withthatrefresher,let'stakealookatanassertionthat
assertionthatonlyanallexpertteamcansucceedwiththe I have seen at the top of more than one speaker's slides:
agileapproach. "Aproblemwithagileprocesses isthattheyrequirecom
This objection is peculiar because the argument is so petentandexperiencedpeople."
riddledwithflaws that Iamsurprisedtofindit being of Proposition: "If I'm using an agile process, I need
feredatall,letalonebypeopleIrespect.Iinclude herea somecompetentandexperiencedpeople."
discussionofthispeculiarobjectiononlybecausesomany Thesimple,unsound inverseis:
peopleciteit. Inverse: "If I am not using an agile process, I dont
Themanifesto'sauthorsweremostlyconsultantsatthe need any competent and experienced people on my
time of the writing. As consultants, we and here I cer project."
tainlyspeakformyselfwerenevergiventheopportunity
Theimplicationbeing given is that if we use a nonagile
to work will "all expert" teams. Those are not the teams
process, we can avoid using any competent and experi
thatcallusforhelp.Itisthenonexpertteamswhocallin encedpeople.
the consultants. Therefore, we were writing from experi
enceinworking withteams havingafairlynormal distri Thiswouldbeanamazingresultifit weretrue!How
bution of expertise: maybe a good person or two, some ever, if we look at project histories, one of the simplest
youngnovices,somemediocrepeople.TheprojectteamsI observationsisthatprojectsofallshapesandsizesrelyon
interviewed in the early 1990s, from whom I learned the at leastafew competent and experienced people to set it
agile ideas, had those standard skill distributions. That upandpullitthrough.
skill mix did not change when I started consulting. The Inreality,nomatterwhatprocessweuse,wearegoing
agile approaches were learned from, debugged on, and toneedat leastafewcompetent and experienced people.
practicedwithteamshavingtheusualteamskillmix. So,theinversepropositiondoesn'tmakesense.
Besidestheabovepracticalobjection,thereisaninter Nowlet'slookatthecontrapositive:
esting logical flaw in the argument. It uses a rhetorical, Contrapositive: "If I don't have a few competent and
cognitive illusion19, to fool an audience into believing a experiencedpeople,Icantuseagileprocesses."
false result. The cognitive illusion is that we are quickly Oranythingelse,forthatmatter!Havingacertainnumber
drawn to believe theinverse of a proposition, when only ofcompetent and experiencedpeople onaproject is sim
the contrapositivelogicallyfollows. ply a critical success factor, no matter what the process
Hereis aquickrefresher.Suppose that when Jim eats type. This contrapositive is true but almost meaningless!
fishhegetssick. Andthereforesoisthesentence,"Touseanagileprocess,
Toformthe inverse(whichwon'tbetrue),negateboth Ineedsomecompetentandexperiencedpeople."True,but
partsandleavetheminthesameorder:"IfJim didn't basicallywithoutmeaning.
eatfishlastweek,thenJimdidn'tgetsicklastweek." Ihadaprojectconsistingonlyofnovices,Iwouldput
Onthesurface,thislooksreasonable,butwithabitof mymoneyonthemdoingbetterwithanagilethanaplan
thinking, we realize that Jim could have gotten sick drivenprocess.Ican'timagine novices comingup with a
fromsomeothercause. meaningful plan from the beginning, or delivering a suc
To form the contrapositive (which will be true), ne cessful project by sticking to that plan, or updating the
gate both pieces andreverse their order: "If Jim was planeverytimetheyfoundamistakeinit.Anagileproc
notsicklastweek,thenJimdidn'teatfishlastweek." ess will call for them to work together, integrate fre
Thisistrue,asthefollowingtablesummarizes. quently,testtheircode,showtheirresultstotheirsponsors
and users, and update their plans and working practices
accordingly.Withthisapproachtheyhaveabetterchance
Proposition A B "IfA,then B"
tolearnandimprovewithintheproject.
19 BarryBoehmandRichTurnercameupwithan inter
See InevitableIllusions (???),whichtalksaboutothercognitive(asopposedto
optical)illusions. estingvariationoftheobjection.Theywrote,"Youneeda

42
Sw DevasaCooperativeGame page 43
Personnel
higher ratio of competent and experienced people on an (%Level1B)(%Level2&3)
agile project than on a plandriven or papercentric proj 40 15

ects." 30 20

This statement is true, as far as I can tell, through an


20 25
interesting and sort of backhanded line of reasoning that Dynamism
Criticality
alsoappearstobetrue.Itgoeslikethis: (Lossdueto 10 30
(%Requirements
impactofdefects) change/month)
Onanagileproject,thereisverylittleextrapaperwork Many 0 35
1
to produce. Most of the time is spent writing code or Lives Single
Life
Essential
Funds Discretionary
10
5

writing tests. Poor performers stand out in this climate20. Comfort 30


Funds 50

moresuitedforagile
Theprojectcangetawaywithfewerpeople,becausethere 3
90
issolittleextrapaperworktoproduce. 10
70

Onthe otherhand,there is a lot of paperwork to pro 30

50
duce in the average plandriven process. It is a waste to 100

have top programming talent doing paperwork, and so it 30

300 moresuitedforplandriven
makessensetohirelowerqualifiedpeopletodoit. Size
10
Culture
Referringtothemaslevel1(forbeginners)andlevel3 (#ofpersonnel) (%thrivingonchaosvs.order)

(for competent and experienced) people, we see the fol Figure5'4. Starfishdiagramshowingtheshiftinghome
lowing. territoriesofagileandplandrivendevelopment,from
On an agile project, it is sensible to have a fewer (Boehm2003).
level1 to level3 people, 3:1 to 5:1 are ratios I have
seenworkwell. Withrespect tothe question oflevel1 to level3 peo
ple,we might note an implicit assumption in that axis of
On a plandriven project, it is advantageous to have
the diagram, that the organization is obliged to use all
more level1 people, so perhaps between 5:1 to 8:1
thoselevel1people.That is,someone obliges theproject
couldmakesense.
managers to find ways to keep all those people busy. If
BarryBoehmandRichTurnercapturethislineofthinking thatwerenotthecase,thenIwouldsuggesteitheroftwo
intheirbook,BalancingAgilitywithDiscipline21 (Boehm strategies:
2003).RecapturedinFigure5'4.theyshowastarfishdia Get rid of the extra level1 people and use an agile
gram withfive different characteristics ofa project situa processwiththereducedteamsize.
tion: Useanagileprocesswiththesmallestnumberofpeo
thenumberofpeoplebeingcoordinated plepossibletogetthejobdonelettherestofthepeo
thecriticalityoftheproject ple do anything they want just so long as they don't
theratiooflevel1tolevel3peopletherate of re interferewiththeprogressofthedevelopmentteam.
quirementschange Odd though this latter strategy sounds, I have met with
the tolerance of the organization to change (see two project teams that did just that, and both recom
alsoFigure5'5). mended the strategy highly. They said that payroll costs
Thisstarfishdiagramlookscorrecttome,andIcommend were fixed with respect to the number of people being
ittootherstostudy. paid,buttheirspeedwashigherwithoutthelevel1people
slowingthemdown.Thisunusualstrategyillustratesgood
sense in playing the cooperative game, though perhaps a
perverse attitude toward the organization's personnel de
partment.
"Sowhatshouldwedo?"
Get some competent, experienced people. Work with
20
agilityandfocusinallcases.Improvetheteam'sspeedby
One of the objectionstotheagileapproachin some organizations is exactly
that the low performers get revealed so quickly. If those people have political adding disciplined agile practices as the team can or is
clout,thiscanbeenoughfortheorganizationtorejectanagileprocess.Sadly,as willing.
humoristDaveBarrywrites,"Iamnotmakingthisup."
21
Itisanoddtitle.Agilityanddisciplinearenotoppositesto betradedagainst "Agileisnew,old,failedanduntried"
each other see "Agile development is low in discipline " on page 34???.
Withinthebook,theyshifttothetermplandriven,which is better but still not Itiscommontoobjecttoanideabysayingthat it is "not
my preference see "Predictable, Plandriven and Other Centerings" on page
55???.Thosetermsaside, they give an outstanding presentation of the tension
new"meaningthatithadbeentriedandfailedandsi
betweenplanningandmoving,andtheneedforuseofthelargemiddleground.

43
Sw DevasaCooperativeGame page 44
multaneouslythatitisnewmeaningthatwedon'tknow
ifitworks.WhenIheartheseobjections,IthinkthatTom
Waitshastheonlycorrectanswer:

"It'snew,it'simproved,it'soldfashioned"
TomWaits,"StepRightUp"

Everyideaintheagilecanon has beentracedas farback


as the 1960s and even the 1950s22. We find incremental
development, collocation, pair programming, frequent
integration, testfirst development, customer interaction
andsoon.
As far as I can tell, good developers have long been
using these ideas, but weren't articulate about what they
were doing. I ran across one personal account (reference
lost,sorry)inwhichthe writersaidthat hewas sostruck
bythesillinessofthewaterfallstylemethodologiesbeing
published in the 1970s that he didn't see the need to re
spond. He assumed they would fall into oblivion from
their own weight, and was shocked when people contin
uedtoreferencethemseriously.
My theory is that agile approaches have always been
used,butdidnotshowamarketadvantageuntilthe1990s,
whenbusiness andtechnologywerechangingsofastthat
only the agile practitioners were delivering systems in
timetothemarket.Certainly,thatwasthecaseintheearly
1990s,whenIwasjuststartingtodebriefprojectsforthe
IBM Consulting Group in order to construct a methodol
ogy for objecttechnology projects. In those initial inter
views,there was averycleardividinglinebetweenthose
projectteamswhoweredeliveringprojectsandthosewho
weren't. Those who were delivering were following the
values and principles expressed almost ten years later in
theagilemanifesto.
Abetterwaytothinkoftheagilemanifestoisthatthe
manifestoauthors"cherrypicked"averysmallset topay
close attention to out of hundreds of possibly important
things,. We were asserting, in essence, that these few
itemsoutweighedtherest.
It is natural that the items we chose had been around
for a long time. What was new was that we bothered to
nameaparticularandcriticalcombination,andtherewere
certainnewwrinklesontheoldpracticestooffer.
Agileisnew,it'simproved,it'soldfashioned.

22
See, for example, Craig Larman's Agile and Iterative Development (Larman
2003???),andFredBrooksdescriptionof"growingsoftware"inhis "NoSilver
Bullet"article(Brooks1999???)

44
Sw DevasaCooperativeGame page 45

EvolutionoftheAgileMethodologies
Thepeoplewhowrotetheagilemanifestothinkandwork XPSecondedition
in different ways, all at the Ri end of the scale (see the
ShuHaRi scale of skills development, pages ???). Writ The first edition of Kent Beck's "Extreme Programming:
ing the manifesto, they were looking to find what was EmbraceChange"(Beck1999?)changedtheindustry.His
common in their approaches and still preserve their right secondedition,producedjustfiveyearslater(Beck2004),
to differ. The agile manifesto successfully locates com rockedtheXPcommunityasecondtime,butforadiffer
monality across widely varying, strongminded people, ent reason he reversed the strong position of the first
and does so in such a way that other Rilevel people can edition, making the practices optional, independent and
findtheirownhomeandbeeffective. variable.
Thathasbeen,andcontinues tobe good.What itsen Inthefirstedition,hewrote:
tailsisthatthereisnoagreeduponShuformofagile de "XP is a lightweight methodology for smallto
velopmentforbeginnerstofollow. mediumsized teams developing software in the face
Indeed,as the onlineconversationbetweenJohnRusk ofvagueorrapidlychangingrequirements."
and Ilja Preu23 below points out, not specifying manda The book contains a Shulevel description of XP. Kent
toryShulevelpracticesiscoretotheagileapproach.Any wassaying,"Hereisausefulbundleofpractices.Dothese
specific set of Shu practices would be fragile over time things and good things will happen." Beginners need a
andsituations. Shulevelstarter kit, and the first edition served this pur
John Rusk: As Alistair mentioned, the Manifesto is pose.
the nonbranded resource. But, personally, because it Over time, it became clear that project teams needed
emphasizesvaluesratherthanpractices,Ididnotfind differentcombinationsofXPandthingssimilarto,butnot
ittobeanidealstartingpointforunderstandingAgile. exactly,XP.Also,itturnedoutthatmanyofthepractices
(Beginners want details, even if they can't handle standnicelyontheirown(important note:somepractices
them!)TheManifesto made much moresenseto me donotstandontheirown,but depend onotherpractices:
afterI'dlearntaboutseveralofthebrandedprocesses. aggressiverefactoring,forexample,relies oncomprehen
IljaPreu:Ithinkthereisadilemmaheretome,not siveandautomatedunittests.)
followingsomecookbook*is*attheheartofAgility. Notethedifferenceinwritinginthesecondedition:
And there's the dilemma: People just starting out need a "XP is my attempt to reconcile humanity in my own
Shulevelstarterkit.Theagileexpertswantfinallynotto practice of software development and to share that
be trapped by simplistic formulae. It's Russ Rufer's quip reconciliation."
again:"Wecan'tmakeone Shufitall." Thebookcontainstwobigshifts.First,herejectstheidea
Looking at the evolution of the agile methodologies, thatXPissomethingthatyoucanbein compliancewith.
we find a growing aversion to simple formulae and in It doesn't make sense to check, "Are you in compliance
creasing attention to situationally specific strategies (not with Kent's attempt to reconcile humanity in his own
accidentallyoneofthesixprinciplesintheDeclarationof practice of software development and sharing that recon
InterDependence).Sincemostofthebrandedagilemeth ciliation?"Hecorrectlynotesinthebookthatpeoplewho
odologiesareformulaicbynature,wefindagrowinguse areplayingintheextremewaywillrecognize eachother.
of unnamed methodologies, or even nonmethodology It will be evident to the people in the club who is in the
methodologies (a contradiction in terms, I know, but it club.
reflectspeople'sdesiretobreakoutoffixedformulae). Secondlyand moresignificantly,thesecond editionis
Let's take a look at the methodology evolution since writtenat theRi level. It contains a number of important
2001,changesintesting,the modernagiletoolbox,anda things to consider, with the advice that every situation is
longoverduerecognitionofthespecialtyformerlyknown different and the practitioner will have to decide how
as userinterface design. The evolution of the Crystal muchof eachidea,in what order,to apply to each situa
familyofmethodologiesgetsitsownchapter. tion. As predicted by the ShuHaRi model and the di
lemma captured by Ilja Preu, this causes discomfort in
peoplelookingforaShuleveldescription.
Beginnerscanstillbenefit fromthefirsteditionofthe
23
book by using it as their starter kit as they grow in so
http://groups.yahoo.com/group/crystalclear/message/586.Thanksto John and
Iljaforlettingmereproduceithere.

45
Sw DevasaCooperativeGame page 46
phistication, they can buy the second book and look for "Ourprojectwentfromfourmonthsatinitialestima
waystomake adhocadjustments. tion to delivering in just six weeks," he glowed at
me.
Scrum
Since I know that Scrum contains nothing specific
Scrum provides a Shulevel description for a very small thatwouldcausethatsortofajumpinproductivity,I
setofpractices anda Rilevelavoidanceofwhat todo in challenged him to tell me what happened in more
specific situations. Scrum tells people to think for them detail, and what caused the amazing change in
selves. fortunes.
Scrum can be summarized (but not executed) very Hesaidthatatthedailystandupmeetings,thekey
simply24: programmerkeptsayinghewasbeingpulled away
Theteamandtheprojectsponsorscreateaprioritized severaltimesadaytofixbugsinothersystems.
listofallthethingstheteamneedstodo.Thiscanbe Themanagerwenttoanexecutivehighenoughup
alistoftasksoralistoffeatures.Thisisknownasthe the management chain to be able to control both
productbacklog. projects' resources. He challenged the executive,
Each month,theteampulls off the top section of the saying that he had been told this particular project
list, what they estimate to be one month's worth of hadhigh priority, andthe programmer shouldn't be
pulledoutlikethis.Theexecutiveagreed.
work.Theyexpandittoadetailedtasklist,calledthe
sprintbacklog.Theteampromisestodemoordeliver The interruptions stopped. The key programmer,
theresultstothesponsorsattheendofthemonth. freed from interruptions, sat down and completed
Each day, the team meets facetoface for five to ten theprograminsixweeks.
minutestoupdateeachotherontheirstatusand what It seems the fourmonth estimation was based on his ex
roadblocksareslowingthem down.This is calledthe pectationofacertainlevelofinterruptions.Withoutinter
dailystandupmeeting. ruptions,he got done muchfaster(seethe project critical
Oneparticularpersonisdesignatedthescrummaster. successfactor,"Focus",onp.42???).
Itisthisperson'sassignment toremove, orget some Remember, success is not generated by methodology
one to remove, whatever roadblocks the team men magic nearly so much as by giving the people what they
tionsinthestandupmeeting. needtogettheirworkdone.
Scrum avoids saying how the team should develop their
software, but is adamant that the people act as mature
PragmaticandAnonymous
adultsinowningtheirworkandtaking care of problems. Andy Hunt and Dave Thomas, coauthors of the agile
Inthissense,itisanessentialdistillationoftheagileprin manifesto and authors of The Pragmatic Programmer
ciples. (Hunt2003???),havebeendefendingthatitisnotprocess
The importance of the first three elements of Scrum but professional and "pragmatic" thinking that are at the
listed above should be clear from the theory of software heartofsuccess.Theyaredefendingsituationallyspecific,
development described all through this book. The fourth anonymous methodologies, properly referred to as ad
pointdeservessomefurtherattention. hoc25.
Scrum calls for a staff role, the scrum master, whose In the five years since the writing of the manifesto,
purpose in life is to remove obstacles. Scrum is the only situationally specific methodologies have become more
methodologyIknowthattrainsitspractitionersintheidea thenormthantheexception.Agrowingnumberofteams
that success comes from removing obstacles and giving lookattherulesofXP,Scrum,Crystal,FDDandDSDM
thepeoplewhattheyneedtogettheirworkdone. and decidethat eachone insomefashiondoesn'tfit their
Thisideawasillustratedinthesection ontheCone of situation.Theyblendthemintheirownway.
Silence strategy. There, I described how a project went The two questions that those teams get asked are: is
from hopelessly behind schedule to ahead of schedule their blend agile, and is their blend effective? A bit of
fromthesingleact of movingtheleaddeveloperupstairs thought reveals that the first question is not really mean
andaroundafewcornersfromtherestoftheteam.Itwas ingful,that it is only the second question that matters. In
illustrated again in another conversation about another
project. A manager came up to me once to tell me how
wellScrumwasworkingforthem. 25
HereIamusing adhoc withitsproperLatinmeaning:"forthesituation."Ad
hoc isnotsupposedtomean"notthoughtout."Weseetheimportanceof adhoc
strategiesthroughoutthebook,andtheDeclarationofInterDependenceexplic
itlycallsforsituationallyspecificstrategies.
24
SeeKen Schwaber'stwobooks(Schwaber2002,Schwaber2004).

46
Sw DevasaCooperativeGame page 47
manycases,theansweris,"moreeffectivethanwhatthey cific sets of conventions or practices that improve some
weredoingbefore." aspectofateam'swork.
The alert reader is likely to ask at this point, What is One such set that I find interesting, but has not yet
the difference between an anonymous, ad hoc methodol been published, was described by Lowell Lindstrom of
ogyandCrystal,sinceCrystalsays totunethe methodol Oobaya Consulting. Lowell runs an endofiteration re
ogytotheprojectandtheteam?Thisquestionleadstothe flection workshop that is more thorough than mine, and
question:Whatisthepointoffollowinganamedmethod which I intend to start using. His contains three specific
ologyatall? parts,coveringproduct,progressandprocess.Hecreatesa
A named methodology is important because it is the flipchart for each and asks the team to reflect on each in
methodology author's publicly proclaimed, considered turn:
effort to identify a set of practices or conventions that ReflectontheProduct:What didtheusers andspon
workwelltogether,and whendonetogether,increasethe sors think about the product? What should be im
likelihoodofsuccess. proved,what added, what removed, and what are the
Thus,inXPfirstedition,KentBeckdidnotsay,"Pair priority directions for product evolution? This reflec
programming is a good thing do pair programming and tiontopicaddressestheteam'sdirectionandpriorities,
your project will have a good outcome." He said, "Pair keyforeverythingthatfollows.
programming is part of a useful package this package, Reflect on the Team's Progress: What did the team
whentakentogether,willproducea good outcome." Part memberssaytheywouldaccomplishduringthe itera
ofthedistresspeopleexperiencedwiththesecondedition tion, and what did they accomplish? What does that
was that he took away his stamp of approval from any difference mean? What do they want to promise for
particular packaging of the practices, leaving the con the next iteration? This reflection topic is subject to
structionofaparticularmixuptotheteam(inthis sense, changesindirectionfromthefirstreflectionquestion.
XP second edition becomes an ad hoc methodology). Reflect on the Team's Process: What worked well in
Whatgotlostwasanyassuranceabouttheeffectsofadd theworkingconventionsfromthelastcycle,andwhat
inganddroppingindividualpractices. does the team want to try differently? This is the
Crystalis myconsidered effort toconstruct a package Crystalreflectiontechnique(seep.???)andinCrystal
ofconventionsthatraisestheoddsofsuccess,andat the Clear(Cockburn2005CC)).Notethat what theteam
same time the odds of being practiced over time. Even chooses to change depends on the changes identified
thoughCrystalcallsfortailoring,Iput bounds onthetai inbothproductandprogress.
loring,identifyingtheplaceswhereIfeelthelikelihoodof Lindstrom's reflection package is a good addition to any
successdropsoffsuddenly. methodology. Combined with Scrum, it makes a good
When I look at people working with conventions starterkitforteamslookingtogetoutoftheShustageand
similarto Crystal's, the first thing I usually notice is that intothe Hastage.
theydon'treflectontheirworkhabitsverymuch.Without Predictable,PlandrivenandOtherCenterings
reflection, they lose the opportunity to improve. (They
usually don't deliver the system very often and they usu The term "plandriven" was coined by Barry Boehm to
allydon'thaveverygoodtests,butthosecanbothbead contrasttotheterm"agile".Tounderstandthetermandits
dressediftheyreflectseriously.) implications,weneedtolookat howthesesortsofterms
Inotherwords,thereisadifferencebetweenageneric centerateam'sattention.
adhocmethodologyandatailoringofCrystal.Ifeelthere "Agility"is onlya declaration of priorities for the de
is enoughsignificancetonamingthe key issues to attend velopment team. It may not be what the organization
to, and the dropoffs, to make the Crystal package worth needs. The organization may prefer predictability, ac
retainingasa named package. I include details of what I countability, defectreduction or an atmosphere of fun26.
have learned about the Crystal methodologies in Chapter Eachof those priorities drives a different behavior in the
9?. developmentteam,andnoneofthemisawrongpriorityin
Ifyouwanttoknowifyourtailoringislikelytobeef itself.
fective, read the list of practices in "Sweet spots and the
dropoff"(p.???)andinthetableshownin"Howagileare
26
you?"(p.???),andcomparewhereyourpracticesarewith At one university working on the human genome project, the students were
paid so little that the department only hoped that they wouldn't just quit. The
respecttothesweetspotsandthedropoffs. studentscould proposeany problemthey wantedto work on, chooseany tech
Theaboveline ofthinkingsuggests that other authors nology they wanted to use, set any work hours and methods that suited them.
They felt that having a "laid back" methodology was crucial to being able to
shouldcomeupwiththeirownrecommendationsforspe retaintheprogrammerstheyneeded.

47
Sw DevasaCooperativeGame page 48
Further,nomethodologyisinitselfagile(oranyofthe partially plandriven projects (Boehm 2002???, Boehm
other priorities). The implementation is what is or is not 2003???).Figure5'6showsanother.
agile.Thus,agroupmaydeclarethat theywishtobeag Figure5'6shows that foreachproject, there is a cer
ile,orwishtobepredictable,ordefectfree,orlaidback. tain type and amount of damage that accrues from not
Onlytimewilltelliftheyactuallyare.Thus,anymethod doingenoughplanning(havingaspacestationexplodeis
ology is at best "wouldbe agile", "wouldbe predictable" agoodexample).Thereisalsoacertaintypeandamount
andsoon27. of damage that accrues from doing too much planning
There is, therefore, no opposite to agile development, (losingmarketshareduringthebrowserwarsofthe1990s
any more than there is an opposite to jumping animals isagoodexample).
(imaginebeingabiologistdecidingtospecializein "non

over/underplanning
jumpinganimals").Saying"nonagiledevelopment"only
means having a top priority other than agility. But what

Damagefrom
Plandriven
wouldtheprioritybeforalltheprojectstylesthattheagile sweetspot

manifestowaswrittentocounteract?Noonehasbeenable
to get all those people in a room to decide where their Agile
centerofattentionhasbeen. sweetspot

Actually, agile is almost the wrong word. It describes


thementalcenteringneededfortheseprojects,butitdoes
n'thaveanearoppositecomparisonterm.Adaptivedoes.I
don'twishtosuggestthatagileshouldberenamed,andI
am careful to give a different meaning to adaptive meth TimeandEffortInvestedinPlans
odologiescomparedtoagilemethodologies:
Figure5'6.Differentprojectscallfordifferentamounts
Forme,andforsomeofthepeopleatthewritingofthe ofplanning(afterBoehm2002,2003)
agile manifesto,agile meant beingresponsivetoshifting
system requirements and technology, while adaptive Figure 5'6 shows that the agile approach has a sweet
meantbeingresponsivetoshiftingculturalrules.Wewere spot insituations in which overplanning has a high dam
discussingprimarilytheformeratthemanifestogathering. ageandunderplanning doesn't. The plandriven approach
Thus,XPfirsteditionwasagileandnotveryadaptive, hasasweetspotwhenthereverseistrue.Thefigurehints
RUPwasadaptiveandnotveryagile,andCrystalandXP that there are situations in the middle that call for a
secondeditionarebothagileandadaptive.Inthelastfive blendingofpriorities.This matches therecommendations
years, being adaptive has been seen as so valuable that inthisbookandtheDeclarationofInterDependence.
mostpeoplenowconsiderbeingadaptiveaspartofbeing In the time since the writing of the agile manifesto,
agile. people have been working to understand the blending of
Using the word adaptive for a moment allows us to the two. Watch over time as more plandriven organiza
lookatitsnearoppositecomparisonterm: predictable. tions find ways toblendtheagile ideas intotheirprocess
Inmyview,thepurposeofthatotherwayof working togetsomeofitsbenefits.
wastoprovide predictabilityinsoftwaredevelopment28. TheoryofConstraints
Wecan sensibly compare processes aimed at increas
ingpredictabilitywiththoseaimedatincreasingadaptive Goldratt's"theoryofconstraints"hasbeenbeingexamined
among agile developers. Three threads from Goldratt's
ness to changing requirements, and we can see what we
writingdeservementionhere.
might want from each. However, although some of us
mighthavepreferredtheword'predictable',BarryBoehm Theimportanceofthebottleneckstation
chose'plandriven'forthoseprocesses.
Iearlier ("Agile only works with the best developers" Inthebook TheGoal (Goldratt1985),Goldrattdescribesa
on p. 55???) described some the work that Barry Boehm manufacturing situation in which the performance of a
andRichTurnerhavebeen doing withpartiallyagileand factoryislimitedbyonestation.Heshowsthatimproving
efficiencyat the otherstations is awasteof money while
thatoneisstillthebottleneck.Heendswiththepointthat
27
Formoreonthis,see"AgileJoinsthe'WouldBeCrowd,"Cockburnwouldbe as the team improves that one station, sooner or later it
2003???
28
stopsbeingthebottleneck,andatthatmoment,improving
There is even dissention about how to provide predictability. Many agilists
claim that the agile approach confers greater predictability. The difference in itanyfurtherisawasteofmoney.
viewsisdiscussedindetailinthesectionon"BuyInformationorFlexibility"in
"LearningfromAgileDevelopment"(Cockburn2002.10 crosstalk).

48
Sw DevasaCooperativeGame page 49
Ihavefound a fruitful line of inquiry to consider that into a linear sequence produces a truer schedule (and an
one can "spend" efficiency at the other, nonbottleneck unacceptablylongone,usually!).Onecanquicklyseethat
stationstoimproveoverallsystemoutput.Thissurprising theschedule improves as theload gets removed from the
corollaryisdescribedinmoredetailonpages???and??? teamlead,evenwhenthetasksareassignedtopeopleless
ofthisbook,andin(CockburnICAM2005???). qualified.Sofar,thisisasimpleapplicationofTOC.
Fewmanagersbothertounderstandwheretheirbottle Second (and here is the controversial part), ask the
neckreallyis inthefirstplace,sotheyaretakingadvan people on the team to estimate the length of each task,
tageofneitherthemainresultnorthecorollary. thencut each estimateintotwohalves.Leave one half in
place as the new estimate of the task duration, cut the
Thetheoryofconstraints(TOC) otherhalfinhalfandputthatquarterintoasingleslippage
TheTOC(goldratt19??)isverygeneral.Itsays: buffer at the end of the project. Discard the remaining
Locatewhateveristheconstraintorbottleneck. quarter as "time saved" from the people's original esti
Target all efforts at improving the efficiency at the mate.
constraintpoint. The thinking is that if people are given the shortened
Maximize the utilization of the available capacity lengthoftimetodotheirwork,theywillsometimes meet
intheconstraint thattargetandsometimesnot,inastatisticalfashion.The
Dont make it do work that wont produce buffer at the end serves to catch the times they are not.
throughput29 Since not every task will need its full duration, the end
Donthaveitidleforanyotherreason buffercanbehalfoftheoriginal.
Invest in and increase the capacity of the con The hope is that people tend to pad their estimates to
straint. show when they can be "safely" done. Having once pad
Improvethatareasothatitisnolongertheconstraint. ded the estimate, they have no incentive to get the work
Atthatmoment,theconstraintissomewhereelse,and doneearly,andsowilltakeupmoretimethantheystrictly
thecycleofworkstartsover. needtogetthetaskdone.Bycuttingthe estimateinhalf,
theyhaveincentivetogoasfastastheycan.Bykeepinga
Itisnotsomuchthesimplestatement oftheTOC thatis
quarter of the time estimate in the slippage buffer, the
interesting, but all the special solutions being catalogued
project has protection against a normal number of things
fordifferent situations. A web search for "theory of con
goingwrong.
straints"anditsconferences willturnupmoreusefulref
erences than I can provide here. David Anderson pre Where I find the above thinking hazardous is that it
sentedacasestudyofapplyingthetheoryofconstraintsto touches upon a common human weakness, being very
software development in "From Worst to Best in 9 easy to abuse from the management side. Indeed, in the
Months"(Anderson2005). onlytwoprojectsthatIfoundtointerviewabouttheiruse
ofthistechnique,theybothfellintothetrap.
Criticalchainprojectmanagement. The trap is that managers are used to treating the
Goldratt's"criticalchain"(Goldratt2001cchain)is more schedule as a promise not to be exceeded. But in critical
controversial. "Controversial" in this case means that I chainplanning,theteammembersarenot supposedtobe
think it is hazardous, even though it has backing in the penalized for exceeding the cutinhalf schedule after
TOCcommunity.HereiswhyIworryaboutit. all,itgotcutinhalffromwhattheyhadestimated,onthe
basis that about half the tasks will exceed the schedule.
Thecriticalchainideasays to start by making a task
Criticalchainrelies onhaving enlightened managers who
dependency network that includes also names of people
understand this and don't penalize the workers for ex
whowillbecomeconstraintsthemselves.
ceedingthehalvedtimeestimates.
Forexample, in most software projects, the team lead
Mysuspicionisthatifthepeopleknowthattheiresti
usually getsassignedthe mostdifficult jobs, but also has
mates willget cut inhalf,andtheywillget penalizedfor
tosit inthe most meetings,and also does the most train
takinglongerthanthat half,thenthey will doublethe es
ing.AnormalPERTchartdoesnotshowthisaddedload,
timate before turning it in, removing any benefit that the
andsoitiseasytocreateascheduleinwhichthis person
buffer planning method might have offered. If they don't
needs to be in multiple places at once. Putting the team
double their estimates, there is a good chance that they
lead's name on the tasks, and putting that person's tasks
will,infact,get penalizedfortaking longer than the cut
29 inhalfestimate.
Paul Oldfield notes the interesting contradiction between this point and the
needforworkersto"sharpenthesaw":upgradingtheirskills,recuperating,and That is exactly what I found in the first critical chain
reflectingontheirworkpractices.I notethatpractitioners oftheleanapproach interview. The project manager on this fixedtime, fixed
take"sharpeningthesaw"veryseriously.

49
Sw DevasaCooperativeGame page 50
pricecontracthaddonethePERTchart,cutthe estimates 23). In each case, the more decisions are stacked up the
in half and created the slippage buffers as required, and greatertheuncertaintyindeliveryofthesystem.
managed the work on the critical path very closely. He Kent Beck drew a graph (Figure 5'7) that shows the
wasveryproudoftheirresulttheyhadnever hadto dip way that decisions stack up as the delivery interval gets
intotheirslippagebufferatall! longer.Hedrewitonalogscaletocapturethetimescales
Ihopeyoucanseetheproblemhere.Hehadgottenhis involved. To understand it, imagine a project in which a
developerstocuttheirestimatesinhalf,andthenhadrid request shows up in the morning, gets designed, pro
den them through weekends and overtime so that they grammed, tested within 24 hours. Let this be the unit
would meet all of their cutinhalf estimates without measureofdecisiondelay.
touchingtheslippagebuffer.Hewasproudofnotdipping Daysofwork
notyetinproduction
intothebuffers,eventhoughcriticalchaintheorysaysthat
he should have dipped into those buffers about half the
time.Missingthepointofthemethod,heandhisdevelop 5yearwaterfall(e.g.military)project=1,200days
1000
3yearwaterfallproject =720days
ershadallsuffered.
Thecompanyexecutivesweredelightedatdeliveringa 100
fixedpricecontractin3/4ofthetimeestimated.Afterall, Quarterlyincrementalreleases=65days
they turned an unexpected extra 25% profit on that con 3weekiterations(XP) =15days
10
tract.Thesadpartwas that they gave no bonuses for the
overtimeputinbytheprojectmanagerandtheteam.This
is what I mean by critical chain touching upon common 1 Dailyrelease(SwissXPproject)
human weaknesses. I suspect the developers will double
theirestimatesforthenextprojects. 0.1 (whatwouldthismean?)
Ifyouaregoingtousethecriticalchaintechnique,be Figure5'7.Decision"inventory"shownonsoftware
sure to track work time in hours, not days or weeks. projectsofdifferenttypes(thankstoKentBeck).
Tracking indays andweeks hides overtime work. Track
inginhourskeepsthetimeaccountingcorrect.Iftheman Theproblem,ashisdrawingcaptures,isthatthespon
ager in the previous story had scheduled and tracked in sors of a fiveyear waterfall project are paying for thou
hours, he would have had to use those buffers as critical sands of times more decisions and not getting validation
chaintheorysaysheshould. orrecoveringtheircostsonthosedecisions,forfiveyears.
The above doesn't mean that critical chain doesn't Theappropriateness(whichistosay,thequality)ofthose
work,onlythat it easyto misuse. I suspect it only works decisions decays over time, as business and technology
properly in a wellbehaved, hightrust environment, and change. This means that the value of the investment de
willceaseto workas soonas it startsto be misused, and cays.Thesponsorsareholdingtheinventorycosts,losing
peoplegamethesystem. returnoninvestment(ROI).
Asthedelayshrinks,fromrequesttodelivery,ROIin
LeanDevelopment creases because inventory costs drop, the decisions are
Agiledevelopershavebeenstudyingthelessonsfromlean validated (or invalidated!) sooner, and the organization
manufacturingtounderstandstrategies in sequencing and can start getting business value from the decisions
stackingdecisions.Thiswasdiscussedin"Reconstructing sooner30. Kent's graph shows how quickly the queue size
SoftwareEngineering"(p.???). increasesasthedeliverycyclelengthens.
As a reminder, inventory in manufacturing matches Oneofthelessonsfromleanmanufacturingistoshrink
unvalidated decisions in product design. When the cus thequeuesizebetweenworkstations.Thetargetistohave
tomerrequestsafeature,wedon'tactuallyknowthatitisa singlepiece,orcontinuousflow.It is noaccident that the
useful feature. When the architect or senior designer cre firstprincipleintheDeclarationofInterDependenceis
atesadesign decision,we don'tactually knowthat it is a "We increase return on investment by making con
correct or useful design decision. When the programmer tinuousflowofvalueourfocus."
writessomecode,wedon'tknowthatitiscorrectoreven Figure5'7alsoshowstherelationshipbetweenthequeue
usefulcode. size and delay. In software development, we can't easily
The decisions stackupbetweentheuserandthe busi see the size of the decision queue. However, the size of
ness analyst, the business analyst and designer
programmer,thedesignerprogrammerandthetester,and
30
thetesterandthedeploymentperson(seeFigures22and This line of reasoning is spelled out in great detail and in ways accounting
managerscanunderstandin SoftwarebyNumbers (???ref???).

50
Sw DevasaCooperativeGame page 51
thequeueisproportionaltothedelay,andwecanmeasure Crosstraining. Staff at lean manufacturing lines are
thedelay. crosstrained at adjacent stations. That way, when inven
Figure 5'8 shows how queue size and its analog, de tory grows at a handoff point, both upstream and down
lay, can be used in managing a software project. It plots stream workers can pitch in to handle that local bump in
the work completed by each specialist. In this sort of a queue size. Agile development teams also try to cross
graph, a cumulative flow graph, the queue size corre train their developers and testers, or at least sit them to
spondstoverticalsizeinanyshadedarea,andthedelayto gether.
the horizontal size in the same shaded area. If you don't One of the stranger obstacles to using agile software
knowhowtomeasurethenumberofitemsinyourqueue, development techniques is the personnel department. In
measure the length of time that decisions stay in your morethan one organization that I have visited, personnel
queues. regulations prevented a business analyst from doing any
coding or testing. That means that the business analysts
are not allowed to prototype their user interfaces using
Macromedia's Dreamweaver product, because Dream
weaver generates code from the prototyped UI, nor are
they allowed to specify their business rules using FIT
(Ward Cunningham's Framework for Integrated Tests),
becausethatcountedaswritingtestcases.
It is cleartothe employees inthese organizations that
therulesslowdownthecompany.However,evenwiththe
bestof will,theydon't havethe politcal power to change
therules(thusillustratingJimHighsmith'scorollarytothe
agile catchphrase, "People trump process." Jim follows
thatwith:"Politicstrumppeople").
"We'reallus,includingcustomersandsuppliers".The
Figure5'8.Cumulativeflowgraphforasoftwareproject agile manifesto points to "customer collaboration." Lean
usedtotrackpipelinedelayandqueuesize(Anderson organizationsextendthe"us"grouptoincludethesupplier
borcon).Theoriginalcaptionwas"CFDshowinglead chainandtheendpurchaser.
timefallasaresultofreducedWIP"[WIP=workinpro One (unfortunately, only one) agile project team told
gress] methattheywhentheyhiredanexternalcontractsupplier
to write subsystem software for them, they wrote the ac
DavidAndersondescribesthesegraphsinhisbookand ceptancetests aspartoftherequirementspackage (incre
experience reports (Anderson 2003???, Anderson 2004). mentally, of course). It saved the main project team en
He and others have built software development tracking ergy.They had extremely low defect rates, with an aver
tools that show the number of features in requirements age time to repair a field defect less than one day. They
analysis, in design, and in test, so that the team can see suspected that the subcontractor's testing procedures
whattheirqueuesizeanddelaysare.Davidwritesthatas wouldn'tbeuptotheirstandards.Bytakingonthemselves
of2006,"managingwithcumulativeflowdiagramsis the the burden of creating the tests they needed, the subcon
defaultmanagementtechniqueinMicrosoftMSFmethod tractor wouldn't waste their time shipping them buggy
ology shipped with Visual Studio Team System and the code,thedefectsinwhichthey wouldhavetofirstdetect
cumulativeflow diagram is a standard out of the box re and then argue over with the subcontractors. This alone
portwithVisualStudioTeamSystem." madeit worththeirtimeto writethetests themselves.Of
Queue sizes are what most people associate with lean course, it simplified the life of the subcontractors, since
manufacturing,but therearetwo morekey lessons to ex theydidn'thavetowritetheacceptancetests.
tract. Actually, there are certainly more lessons to learn. Their story is a good start,but only hints at what can
ReadThe Machine that Changed the World (sss yyy???) happenwhentheentiresupplychainis"us".
andToyota ProductionSystem(xxxyyy???)to start your
owninvestigation.HerearethetwoIhaveselected:

NewMethodologyTopics

51
Sw DevasaCooperativeGame page 52
This section is for discussing the evolution of project The result was published in January of 2005, and
management, testing, userinterface design, project gov calledthe"DeclarationofInterDependence31"orDOI.
ernance,andrequirementsgathering. TheDOIwaswrittentofitselfmanagedteamsaswell
as hierarchically managed teams. It is aimed at develop
Agileprojectmanagement
mentteamsoutsideandinsidesoftwaredevelopment,and
I earlier discussed the myth, "We don't need no *%@! for product development as well as project management.
managers!"(p.50???).Evenwithaselfmoderatingteam, Anyonereadingitwillimmediatelydetectthatitprovides
there is still a role for someone to monitor and enhance good guidelines for line management as well as project
focus, community, amicability, personal safety and com management.Itcontainsthethingsweexpectfromanag
munications within the team to give the project good ilemindset:payingattentiontoworkersashumanbeings,
visibility to the sponsors and to secure directional deci using short feedback loops and situationally specific
sions and funding from them and to keep distractions strategies.
awayfromtheteam(seeFigure5'3???). The DOI is described in detail in Appendix C. Ex
However,thereisstillakerneloftruthintheideathat tended support and discussion surrounding the DOI is
theprojectmanager'sroleisshifted,ifnotreduced,inag provided by a nonprofit group called the Agile Project
ile development. Good agile teams develop their plans LeadershipNetwork32 (APLN).
jointly, present their status visibly and publicly, and in
Testing
general have a better understanding of themselves as a
mutuallydependentcommunity. The newesttopicinagile methodologies is the growth of
Since the writing of the manifesto, some excellent automated testing and testdriven development as core
books have appeared on project management in the agile practices.Hereagain,XPhasbeentheleader.
context.Theseareallexcellentbooks: Five years ago I felt that automated testing was not a
AgileProjectManagement(Highsmith2004), criticalproject success factor.However, it becomes more
ManagingAgileProjects(Augustine2005),and critical as project teams shorten their iterations, work in
eXtremeProjectManagement(DeCarlo2004) crementallyandrefactormoreoften.
allhighlightthehumanaspectsofmanaging. Here is an example: A person in one of my classes
AgileManagement for Software Engineering (Ander asked me how to get started with agile development. I
son 2003) incorporates lessons from the theory of suggestedthathepickanyprojecthewasworkingon,and
constraints(seepage62???). shift to a oneweek iteration and delivery cycle just for
Agile Project Management with Scrum (Schwaber one ortwo weeks.In each week,justforthetrialrun, he
2004)coverstheScrumview. shouldtakeanewrequirement,designandprogramit,test
Agile and extreme project management have even andintegrateit,anddeployittosomeuserworkstation.
been entered as specific categories starting with the The person said he was immediately stuck. On his
2003 third edition of Wysocki's Effective Project project, the testing would take two days alone, so he
Management:Traditional,Adaptive,Extreme. wouldhaveonlythreedaystodorequirements,designand
From outside the circle of agile and software project coding.Hecouldn'tdoaoneweekiteration.Itwasatthat
managers,Laufer's(1997)SimultaneousManagement pointthatIrecognizedthatautomatedtestinghadbecome
is based onwork primarily on civil engineering proj criticaltoagilepractices.
ects, but with the same thoughts, recommendations Inproject visits,Ifindpeople havingtrouble with de
andstrategiesasthosecomingfromtheagileworld. veloping in increments, with integrating with other peo
Anumberofpeoplefeltthatthediscussionofhowtolead ple'scode, and with refactoring, issues that would not be
agileprojectswas being missed inthefervorsurrounding problemsiftheyhadautomatedtestsuites:.
theagile manifesto.This includedJim Highsmithandme Tomakethecreationoftestsmorepalatableandacces
asagilemanifestoauthors,plusoveradozenotherexperts sible to users, customers and business analysts, Ward
in product development, project management, and line Cunningham created the Framework for Integrated Test
management. Over a sixmonth period, we worked on a ing (FIT)33. It allows people to specify input and outputs
followontotheagile manifesto that would carry over to in a spreadsheet or HTML file, and to hook those quite
nonsoftwareprojects,andalsotoproduct (as opposed to simply to the application under development. Using FIT
project)management. oritsrelative,FITnesse,businessanalystscanwritefewer
31
http://pmdoi.org
32
http://apln.org
33
Seehttp://fit.org,http://fitnesse.org

52
Sw DevasaCooperativeGame page 53
specification documents, replacing those with user niques to support rapid UX design with incremental de
readable specification tests. This shift supports the agile velopment (Patton 2004, Patton 2005a, Patton 2005b).
manifestovalue ofrunningsoftware overdocuments (see Holzblatt and XXX have created a "rapid" form of their
"HexagonalArchitectureExplained"(Cockburn2004z/??) contextualdesigntechniquetosupport thesame develop
foramoredetaileddescriptionofcreatingasystemarchi mentstyle(Holzblatt2003?).
tecturethataccommodatesFIT). The UXquestionis complicatedbecause the field has
Testdriven development (TDD) started as a way just notsortedouthowmuchneedstobedoneinadvanceand
to make sure that developers wrote unit tests at all. Its whatcanbedoneincrementally,onthefly.Itisclearthat
practitionersfoundthatwhentheythoughtcarefullyabout changing the user interface with each deployment causes
theteststheywerewritingoneatatime,andhowtomake users discomfort. That argues for at least some upfront
eachtestpassjustafteritwas written,theycameupwith design. It some cases, people have shown that a broad,
different designs than they expected. They were simpler, lowprecisiondesignsufficesandsomescreen details can
cleaner,andeasiertochange.TDDhasbecomeoneofthe becreatedincrementallyovertime.
toprecommendationsfordevelopingnewcode. We can use the cooperative game model and lean
Inabitofirony,TDDcoaches findtheyhavetofight manufacturingprinciplestohelpunderstandwhatisgoing
against the "test" implications of the term they write onhereandhowtocreateastrategy.Herearetheissuesat
teststohelpthemdesign,butresistantdevelopersonlysee play:
thereferencetotesting.Anumberofalternativeacronyms Users will get upset if the design changes too often.
arebeingsuggestedtoreducetheassociationwithtesting. That speaks for creating a broad user model early,
My favorite is XXD (eXecutable eXample), pronounced evenifthedetailsareworkedoutincrementally.
"DosEquisdrivendevelopment"34. ThereisadependencybetweentheUXdesignersand
the programmers. The programmers can't program a
function until the UX designers understand what the
UserExperienceDesign functionshouldbe.Plus,thereisatimelagfromwhen
Topdesignersoftheexternallyvisiblesideofasoftware theUXdesignersgettheirinformationandwhenthey
systemnolongerconsiderthemselvesdesignersofmerely make their recommendations. If they have a broad
the "user interface", but of the "user experience." In user base and show their designs to the users several
keeping with their choice of words, I will refer here to timestorefineit,thenthistimelagcanbequitelarge,
user experience (UX) design rather than user interface oftenontheorderofamonth.
(UI)design35. Neitherofthetwoextremesislikelytobeagoodstrategy.
UX designers have largely been resisting the fine In some organizations the UX team drives the timeline,
grainedincremental development policies oftheagilede and insist on getting their design "correct and complete"
velopers.Manysaytheyneed to collect most of their in beforeinterfacing withtheprogrammers.This hurtsthem
formation before they can design a coherent user experi in two ways. First, the project is so delayed that quite
ence or interface. They say that if they are forced to de likelytheuserrequests willhavechangedbeforethesys
veloptheUXpiecemeal,theresultwillbeclumsy. tem is developed (it was a correct UX design, but no
There is much to be said for this position. However, longer is a correct one). Second, the programmers are
many projects don't have a timeline that supports gather likely to raise valid issues that cause changes to the UX
ingsomuchinformationbeforestartingdevelopment. design.
A second group of UX designers argue that the low In some organizations, wouldbe agile programmers
precisionUXmodelcanbecreatedinamatterofdays,not drivethe timeline, and insist that the UX design be done
months, and so incremental development can be applied. incrementallyintwoweekiterations,simultaneouslywith
Jeff Patton argues for this view, and has published tech programming. The UX designers complain that there is
not time to research their users, create a design and pro
34
gramit withinthetwoweekwindow.Constantly encoun
Notaccidentally, "DosEquis," Spanish for "two X's," is the name of a top
Mexicanbeer.Thanksto KentMcDonald,JamesShoreandJeffry Fredrick for tering new user situations, they have trouble creating a
helpingcomeupwiththisgreatterm! consistentusermodel.
35
Thislittle bit of title inflation is due to the watering down of the title "user
interfacedesigner"attheturnofthemillennium.Mostorganizations gave(still Balance the need for lead time with the timing of the
give)thattitletopeoplewhohaveneithertalentnortraininginthespecialty.As incremental development to get a consistent big picture.
areaction,trueUXdesignersrefusetobeclassifiedas"mere"UIdesigners.This Strategize about what those lead times are, how much
is a shame in all directions. One the one hand, UI design should refer to all
aspects of appearance and use, not just the text or colors. At the same time, concurrencycanbe employedbetween UX designers and
companies find people with talent in this specialty and should develop their programmers,andhowmuchneedstobelaiddowninone
skillsinit.

53
Sw DevasaCooperativeGame page 54
single,initialdesigntocreateaconsistentuserexperience. was scheduled for 1 workmonth on a 100 work
Wherepossible,usethehexagonalarchitecture(Cockburn monthproject,butreallytook2workmonthstocom
???) to decouple the system functions from the presenta plete, credit the team with 1% growth in "earned
tionofthosefunctions. value"onthegraph.
Alertreaderswillnoticethatatthispoint wehaveleft A similar pair of lines are created for the financial side,
the realm of methodologies and entering the realm of using expected and actual costs per task. They show the
project management strategies. What I hope is that the rateatwhichtheprojectisburningthroughthebudget.
teamwilldiscuss thetensionbetweenoverallconsistency The literature on earnedvalue charts is full of four
and incremental development, and pay attention to the letteracronymsstandingfortheworkestimated,thework
leadtimes required between the users, the UX designers, completed, the difference between the two, and so on.
and the programmers. Then experiment, reflect, and ad Whatisimportanthereisthattheearnedvaluegraphpro
just. vides one way of seeing at a glance the actual speed of
ProgramGovernance,BurnCharts,and movement.
Expectedcomplete...
SystemsEngineering Module10designed
...afterQ4 100%functionalitydesigned
Agile development is sometimes rejected out of cultural ...afterQ3
Module9designed
reasons.Onesuchculturalmismatchiswithsystemsengi Module8designed
Module7designed
neering, which deals with the design and construction of ...afterQ2
Module6designed
large systems, usually with mechanical, hardware and Module5designed
...now ExpectedCompletenow
softwarecomponents.Systems engineers typically accuse Module4designed
Completenow
agiledevelopersofbeingsloppyintheirthinking. ...afterQ1 Module3designed
Therearetworealdifficultiesinapplyingagileprinci Module2designed
Module1designed
plestotypicalsystemsengineeringprojects:
Since the systems contain mechanical and hardware Jan Feb Mar Apr May Jun Jul Aug Sep Oct

components,thefeedbacktimefrom designtoimple Figure5'9.Sampleearnedvaluechart(showingprogress


mentationtoevaluationislongerthanwithsoftware. lines,notfinanciallines).
The projects are typically large and contain multiple
layers of subcontractors, and so it is extremely diffi Figure5'9showsaseriesofdesigntasksforasystem
culttogetrealusersorcustomerstoviewthegrowing consistingoftenmodules.Themonthsare markedonthe
system. horizontal axis with small triangles. The fat dashed gray
lineshowstheexpecteddesignschedule,theshorter,solid
Itwasthereforearealtreattodiscoveronepoint ofnear
black line shows the actual progress made to date. The
commonality that helps bridge the culture and communi
verticalaxisshow%progressupto100%.
cations gapbetweenthetwo worlds.That is the "earned
value" chart in the systems engineering world and the I have added one thing to the normal earnedvalue
"burnup"chartintheagileworld. chart in order to set up the discussion on governance
comingupshortly.Theverticalaxis inFigure5'9shows
Hereis a simplified explanation of creating an earned
whatshouldbecompletedattheendofeachquarter,what
value chart, to show how it fits with the agile burnup
shouldbecompletedbytoday'sdate,andwhat is actually
charts(asimplewebsearchwillturnupmanytutorialson
completedattoday'sdate.Thisprojectiongivesanexecu
thesubject).
tivesummaryoftheproject status,without the details of
Writedownandsequenceallthetasksthatneedtobe theexactitemsbeingworkedon.It shows theanticipated
done. relativeprogress expectedbyquarter and where the team
Estimatehowlongeachwilltake.This numberis the is now compared to where it should be. We shall make
"value"ofthetask.Itisnot"value"inamarketvalue moreuseofthisprojectionshortly.
sense, but rather in the sense that completing that
piece of work brings the project that much closer to
completion.
Usingthesequenceandtime estimate,graphtheesti
matedtaskrateonagraphwithtimehorizontallyand
completiontoward100%vertically(seeFigure5'9).
As each task completes, no matter how long it actu
allytook,credittheprojectwiththescheduledamount
of valueforhavingcompletedthe work.That is, if it

54
Sw DevasaCooperativeGame page 55
Expectedcomplete... ronment" (Alleman 2003), and Mike Cohn's Agile Esti
...afterQ4 100%functionalityintegrated Module10designed
matingandPlanning (Cohn2005).
Module9integrated
...afterQ3
Module8integrated
Few people notice that the value that gets granted is
Module7integrated notthemarketvalueofthefeatureorfunctionbutonlyits
...afterQ2 estimated completion cost. In this sense, it is not "value"
Module6integrated
...now ExpectedCompletenow
Module5integrated at all, it is "cost". Some (rare) teams are working with
Completenow Module4integrated their users and sponsors to assign market values to each
...afterQ1 Module3integrated featureorfeaturecluster.Doingthis makesveryclearthe
Module2integrated difference between something that takes a long time to
Module1integrated
develop,andsomethingthatisvaluabletodevelop.Where
Jan Feb Mar Apr May Jun Jul Aug Sep Oct
they can do this, those teams are able to create true
Figure5'10.Equivalentburnupchart. "earnedvalue"charts.
Here is the matching simplified description of how to AGovernanceView
createaburnupchart.
Write down and sequence all the system features or "Programgovernance"referstoasteeringgroupofevalu
ators who meet periodicallyto watch overanset of proj
functionthatneedtobedeveloped.
ects, or "program" in systems engineering jargon. When
Estimatehowlongit willtaketo design,develop,in
thesteeringcommitteegetstogethermonthlyorquarterly,
tegrateandtesteachfeatureorfunction.This number
theyhavealotofdatatosortthrough.Whattheyneedisa
isthe"value"ofthetask.Itisnot"value"inamarket
quickwaytoseethestatusofeachproject andspot what
value sense, but rather in the sense that completing
needsattention.
thatpieceofworkbringstheprojectthatmuchcloser
tocompletion. Theverticalaxisprojectionontheburnupchartshows
Usingthesequenceandtime estimate,graphtheesti the information in an efficient way, and has the remark
matedcompletionrate on a graph with time horizon ablepropertythatitcanbeusedforbothincrementaland
tallyandcompletiontoward100%vertically(seeFig waterfallprojects.
ure5'10). Figure5'11shows howtoget fromthe burnup chart
As each feature or function gets completed and inte to a very compressed rendering of the project's predicted
grated,nomatterhowlongitactuallytook,credit the schedule and current status. Figure 5'11(a) shows the
projectwiththescheduledamountofvalueforhaving verticalaxistakenfromFigure5'10.
completedthework.Thatis,ifitwasscheduledfor1 (Twonotesareinorderbeforecontinuingwiththede
workmonth on a 100 workmonth project, but really scriptionofFigure5'11:First,Ichosea12monthperiod
took2workmonthstocomplete,credittheteamwith because it is common period and it makes the quarterly
1%growthin"earnedvalue"onthegraph. marks come out tidily. Second, I chose to show percent
Asimilarpairoflinescanbecreatedforthefinancialside, complete. I could have chosen to show number of use
usingexpectedandactualcostperintegratedfeatureset. cases,numberoffunctionpoints,ornumberofuserstories
instead. Which to use depends on who you are showing
ItisnoaccidentthatIcopiedthetextfromthedescrip
themtoandwhatyouwouldliketoshow.)
tionoftheearnedvaluechart,northatthetwographslook
almost identical. The point I wish to make is that the Expectedcomplete...
earnedvalue chart in systems engineering can be con ...afterQ4(100%) Q4
vertedtoaburnupchartintheagileworldassoonasone ...afterQ3
(very significant) change is made: No credit is given to Q3
completingrequirements, design or programming!Credit
accrues only when the function or feature is integrated ...afterQ2 Q2
into the body of the system and passes testing. This is a ...now now?
much morereliable markerofprogress than merely com Actuallycompletenow
pleting a paper design. It also requires the use of incre now
mentaldevelopment. ...afterQ1 Q1
Several other people have written about burn charts
and earned value charts. See, for example, John Rusk's
"AgileCharts"(Ruskurl),GlenAlleman's"MakingAgile
Development Work in a Government Contracting Envi (a) (b)

55
Sw DevasaCooperativeGame page 56
Figure5'11.Theverticalaxisoftheburnupchartcon Figure5'12.Fourprojectswithdifferentstrategiesand
vertstoacompressedviewofprojectstatus. status.[[AC:fix!separateABfromCD]]
Just to the left of the "expected complete" arrows of Figure 5'12 shows the strategy and status of each of
Figure5'11(a)isacompressedrenderingofthesame in fourprojects,shownninemonthsthroughaoneyearplan.
formation.Thetenlittletickmarksplacedverticallymark ProjectsAandBareusingthesamestrategy: develop
out 10% complete steps up to the 100% complete mark. and integrate about 40% of the total functionality in the
The hollow triangle marks the amount of functionality first quarter, then about 63% in the second quarter, then
expectedtobecompletebytheendofthefourthandfinal about 90%inthethird quarter,and finishing it off in the
quarter (it is, of course, at 100%). The three other black fourthquarter.Presumablythis strategy is intended to al
triangles marktheamountof functionality expected to be lowplentyoftimeforfeedback,testingandrevisioninthe
completelyintegratedattheendofquartersone,two,and finalquarter.
three,respectively.Notethat the existence of the triangle ThedifferencebetweenprojectsAandBisthatAison
marks the time value (Q1, Q2, Q3, Q4), and the vertical schedule, and B is behind (it hasn't even finished the
placementofthetrianglemarkstheamountoffunctional functionsscheduledtohavebeencompletedat theendof
itycompleted. thesecondquarter).
The amount of functionality expected to be complete ProjectsCandD,bothonschedule,haveverydifferent
"now" is shown by the placement of a longer horizontal strategies. Project C intends to develop very linearly, de
line.Thislinemovesupwardcontinuallyas thetime flies veloping and integrating about 25% of the functionality
throughtheyear. eachquarter.ProjectDissetuptoruninahybrid(semi
Theamount offunctionalityactuallycompleted"now" waterfall, semiagile) fashion. The team expects to inte
is show by the shaded thermometer bar. The bar grows gratelessthan10%ofthefunctionalityinthefirstquarter
upward only as new functionality gets integrated and (presumablythey will be gathering requirements and set
completed. tingupthearchitecture at that time).They will still have
(Second note: For projects in which a significant lessthan25%ofthefunctionalityintegratedbytheendof
amount ofdocumentationis requiredas part ofthe deliv thesecondquarter,then60attheendofthethirdquarter,
erable,creditfor"done"isonlygivenwhenthecoderuns andtheyplantocompletethelast40%oftheworkinthe
andallthedocumentationiscompleteforthatfunctional fourthquarter.
ity.) JohnRuskwroteinwithanideatoshowbothfinancialand
Therearethree particularly nice things with the trian progressmarkersatthesametime.Drawtwo renderings of the
gles,lineandbarinFigure5'11(b)besidesjustcompact triangle,lineandbar,oneforprogressandoneforcost(coloror
ness: shadethemdifferently,ofcourse).Figure5'13illustrates(itisa
loteasierwhenincoloronascreen,insteadofblackandwhite
They can show a myriad of development strategies, inthisbook).
fromwaterfalltoagile,andanywhereinbetween.
Theycanbeoverlaidonasystemarchitecturediagram
toshowprogramstatus.
They can be slightly modified to show the relative
status of requirements, UI design, programming and
documentation, again, for very different project
strategies.
Let'slookatthoseoneatatime.

Figure5'13.Fourprojectswithvaryingprogressandcost
status(courtesyofJohnRusk).
Thenicethingisthatyoucandiagnosewhatiswrongfrom
seeingthetwobarsatthesametime.InFigure5'13weseethat
Aisontrackforprogressandcost.Bisbehindscheduledueto
underresourcing (the cost is just as low as progress). C is on
track for progress but the team is working overtime or extra
teammembershave been added (cost is above prediction). Ds
A B C D costsareasplannedbutprogressisslow.

56
Sw DevasaCooperativeGame page 57

ProjectZewa Status: 2006.05.15


timeperiod:2005.012005.12

App1 App2 App3


[Harmon] [Reese] [Marks]

Workstation

UIShell[Jones]

CommonUI[Smith]
Security[Sanchez]

AppSpecificBackEnd

DB1[Rich]

DB2[Carmac]

AppIndependent BackEnd

DBsvcs[Rich]

Security[Sanchez]

Legend
App Intendeddoneafter
eachinternalrelease
Application component
Component Actual vs.Expecteddone
>$1Mbudget
Common Ontrack
component Component component Notsignificantlybehind
<$1Mbudget Component
Significantlybehind

Figure5'14.Fullprogramstatusforaprograminvolvingthreeapplicationssittingonacommonarchitecture(Cockburn
2005g).
systemisbehind,Iwon'tworryaboutitasmuchasif
The next thing that can be done with the governance a large one is behind." On that project, we also had
graphicisthat it canbeoverlaidonasystemarchitecture system migration issues to show, and used additional
diagram to give a total program snapshot. Figure 5'14 coloringandmarking.
showssuchapicture(thefigureisquitebusy,andthe in Whenthesteeringcommitteesees aproject that is be
terestedreaderisreferredtotheoriginalarticleinwhichit hind,they willnaturally want to turn to a detail page for
isdescribedindetail(Cockburn2005g)). that project.The third piece of good news is that we can
Briefly,therearethreeapplicationsbeingdevelopedon use the same marking mechanism to show the accom
acommonarchitectureconsistingofaworkstationportion plishmentsofeachsubteam.
and a backend portion. Some of the backend portion is Figure 5'15 shows subproject detail for two projects
applicationspecificandsomeisapplicationindependent. usingverydifferingstrategies.
Therearethreethingstonoticeaboutthegraphic: ProjectA'steamisusingaconcurrentdevelopmentap
Thethermometerbarsarelaid horizontally instead of proach. Their graph show that they intend to complete
vertically,forreasons ofspace.This does not change about a quarter of their requirements in the first quarter,
their reading. Time and completeness flow to the almost twothirds by the end of the second quarter, and
right. about90%bythe endofthethirdquarter.TheirUIteam
Weareabletoshowthestatusofeachsubproject in willrunjustbehind,completinglessthanaquarterofthe
theprogram,andwecanimmediatelysee whichsub UI design work in the first quarter, then about half, and
projects are ontime, a little behind, and significantly over three quarters in the next two quarters. The pro
behind.Thisisexactlytheinformationthegovernance gramming team will run just behind them, completing
boardwantstoseeataglance. roughly20%,45,78%respectivelyinthosequarters.
We can show even more information than discussed The team of project B is using a waterfall approach.
so far. The technical lead for the program for which Thatteamplans toget therequirements completed in the
this graphic was first developed wanted thethickness firstquarter,theUIdesigncompletedinthesecond quar
ofthecomponentstoindicatehowmuchmoneywasat ter,andtheprogrammingdoneinthenexttwoquarters.
stake in each. As he said, "If a small project or sub

57
Sw DevasaCooperativeGame page 58

Requirements each choice point, programmed that up, and showed the
resulttothedesignatedcustomer.
A UIdesign
Thereare,however,manysituations wherethose con
Programming ditions arenot present:shrinkwrapped products, systems
withaverylargeordiversesetofusers,orsystemsbeing
deployed into large, multicultural organizations. In these
Requirements situations,theverynotionofaskingthecustomer,orget
B UIdesign tingaquickanswertoaquestion,don'tmakesense.
Programming
Herearetwoexamples from organizations I have vis
ited:
Figure5'15.Detailsheetsfortwoprojectswithdifferent A set of hospitals, some small, simple and remote,
strategiesandstatus(fromCockburn2005g). some large, urban and sophisticated, were collecting
requirementsfora new medical system to use by the
Bothstrategiescanbeshownonthesamegraph,sim
patient bedside.Not only were the different hospitals
plifying the job of reporting status on multiple projects
concerned about their respective hospital rules, they
using differing mixes of waterfall, incremental and con
had to include into the requirements the differences
currentdevelopment.
between emergency and regular care, inpatient and
More on the use of these projections and the use of outpatient care,and between the different specialists:
colorisgivenin(Cockburn2005g). doctors,nurses,pharmacists,andassistants.
UseCasesandUserStories A state government organization was working to
changeandstreamlinetheiroperatingprocessesindif
XP brought with it the idea of marking requirements in ferentofficesaroundthestate.Thenewsoftwarewas
shortphrases(userstories)onindexcards(storycards)It to support both the (slowly) evolving recommended
isimportanttonotethattheshortphrasesonthecardsare processandthevariationsallowedforthedifferentlo
not "the requirements," they are markers that promise a cations.
conversation about what is associated with the phrase on
the card. In this sense they are efficient markers and to Inthesesituations,it oftentakes weeks toget the answer
kensinthecooperativegameasdescribedinChapter1. toaquestionabouthowtheuserinterfaceshouldwork,or
thedetailsofaseeminglysimplebusinesspolicyquestion.
However,unwarybeginners,mistakingtheearlyXPas
defining agile practices, mistakenly thought that all agile Sadly, I have heard numerous people on stage telling
thefollowingsortofstoryinanexperiencereport:
development mustbedone withrequirementscapturedas
userstoriesonstorycards. We did very well with our XP/agile project, except
thatwecouldn'tseemtogetthe right Customer on
UserStoriesOverloaded theproject.Itoftenhappenedthatwewouldaskthe
Customer a question, and it would take several
TheproblemisnotthatXPcontainsapracticeofmarking weeks before she came back with an answer. Our
requirements in short phrases on index cards. That is a project ran into many delays as a result. We can
useful practice in many instances. The problem is that recommendthatyougetaproperCustomeronyour
since XP was so popular, many people just starting with projecttoavoidthesedelays.
agiledevelopmentthoughttheywereallowed onlytowrite Afterhearingthisrefrainonanumberoftimes,itdawned
requirementsassinglesentencesandonlyonindexcards, on me that the problem was not with their customer, but
thatanythingelsewouldunagile(andthereforebadinthe withtheirprocess.Theyhadbuiltintotheiritthemiscon
eyes of their peers). Just as story cards make a strong ception that there was one person anywhere who could
strategyincertainsituations,theymakeaweakstrategyin giveadefinitiveanswerto business policy questions that
others. werelikelytocrossmultipledepartments.
XP was created and tested in situations with a small Thesolution to the problem is not to look for an om
userbase.Developerscouldanddidsimplyasktheirusers niscient customer, but to base the project's strategies
what they wanted. With short delivery cycles and only a aroundtheconceptthatsomequestionswilltakeacertain
few users, seated close by, it was not necessary to spend (long)timetoanswer.Thetrickis to ask those questions
muchtime writingdowndetails and sorting through con far enough in advance so that the delay in getting them
flictsintherequests.Theteamsimplywrotedownthekey answered doesn't delay the project. I call that "look
phrases, asked the designated "customer" what to do at ahead."

58
Sw DevasaCooperativeGame page 59
(This is agoodtimetoreinspect Figure 23. Imagine Atthetimeofthiswriting,thereisadiscussiononYa
in that decisionflow diagram that asking the customer a hoo's "agileusability" discussion group about just this
question is putting an inventory item into their queue. point.Onepersonis askingforideas on how to integrate
Some of these inventory items take a short time to com hundredsoftinyuserstoriesintoacoherentwhole,sothat
plete,whileotherstakealongtime.) hecancomeupwithadecentuserinterfacedesignforthe
Therearethreepointsof damagefromusinguser sto system. UI design requires context to be done properly
riesandstorycardsinthewrongplace: userstoriesdon'tprovidethatcontext.
Lackoflookahead Forafeatureinisolation,forauser story in isolation,
Lackofcontext or(forsystems engineeringtypesofcontracts)fora shall
Lackofcompleteness statementinisolation,thecontextisinformationthatcan't
Thefirstpoint ofdamageistheonejustmentioned:it re bederivedfrom otherinformation.Onlythe mostexperi
liesondevelopers being able to get quick answers to the encedbusinessorusageexpertscansewtogetherthehun
detailedbusiness policyquestions thatariseastheycode. dreds ofsentences intoacoherent andsound whole.This
Thereareorganizationswheresoundanswerscan'tbede isexpensiveanddifficultworktodo.
cided quickly. The team needs a better form of look Thethirdpointofdamageis lack ofcompleteness.As
ahead,todetect earlieron what questions arelikelytobe the developers ask questions, the answers generate more
asked, which will be easy to answer and which will take userstories,often morethan wereanticipated.On a plot
time. ted burnup chart (as Figure 5'16), the total number of
Thesecondpointofdamageislackofcontext.Awell stories keeps rising as they encounter unexpectedly com
writtenuserstoryisaveryshortdescription,oftenjustone plexbusinessrulesandsplitstories.
sentencelong,ofsomethingauserwantstohavethesys storypoints
temdo:"Italicizetext","Addalinetoaninvoice","Com 170
putetheadditionalovertimepayforanhourlyemployeeH 160
150
hoursat1.5timesRrateofpay."TheshortestuserstoryI 140
haveheardofistheoneword"Kaboom"onanavalartil 130 Growingpredicted
lery projects, meaning "Take a shot and tell me where it 120 totalsize
hit."
110 Scopecreep,misestimate,
100 ornormal?
Agoodthingaboutuserstoriesisthattheycanbesub 90
divided into tinier and tinier pieces to fit within shorter 80
70
and shorter iterations, and still be considered valid user 60 Completed
stories. On one project, a user story was written: "Select 50 todate
text."As theteam went toimplement it inan early itera 40 Predicted
30 completion
tion,theydecidedtosplit it intotwosmalleruserstories, 20
"Select text with the mouse" and "Select text with the 10
keyboard".Theirintention,quitereasonableforthat proj 0
ect,wastogetsomethingworking earlyand growit over Iteration1 2 3 4
time.Havingonewaytoselecttextearlymeanttheycould Figure5'16.Growthinestimatednumberofuserstories
developotherpartsofthesystemseparatelyfrom extend neededtocompletetheproject.
ingthetextselectionmechanisms.
Onaprojectthatissuitedtotheuserstorymethoda
Theonlyrulesforauserstoryarethatithasuservalue, smallproject writtenforafew,localusers this is not a
theteamcandraftanestimate ofhow longit willtaketo problem. The development team simply delivers a new
develop,andthatestimatefitswithintheiriterationperiod. systemeveryfewweeksandthesponsorscantellwhether
There is nothing in the idea of a user story about how they are happy with the rate of delivery. They view the
muchvaluetotheuseritcontains. ongoing work as a flow of cash for value, and steer ac
Being able to split user stories into very small slices cordingly.
generatestroublewhentherearehundredsorthousandsof On a fixedprice, fixedscope project, however, the
user stories. The developers and users find themselves burnupchartinFigure5'16presentsamajorproblem.Is
lookingatsentencesthatareveryhardtorelatetobusiness that sharp growth in the size of the system due to scope
situations.Theyare presented without an operations con creep,poorinitialestimates,orsimplysplittingstoriesina
text,andwithoutbeingrelatedtoeachotherwhichones normalway?Iwatchedanagileteamattempttocomplete
comefirst,whichonesurroundothers,andsoon. afixedprice,fixedscopeproject bidinwhichthis prob

59
Sw DevasaCooperativeGame page 60
lemarose.Theclientsidesponsorsfeltthey werenot go the situations that the developers will have to deal with
ing to get the system they had been promised the con relatedtotheusecase.Brainstormingis doneina matter
tractorsideexecutives felt that theywerehavingto over ofminutes.Thelistofextensionconditionsthenactsasa
performonthecontractthedevelopersfeltthattherewas completenesscriterionforthesystem'srequiredbehavior.
too much scope creep and the users felt that the project Theproject teamcan(andshould)strategize overthat
wasnevergoingtogetdelivered. listtodecidewhichextensionconditionsshouldbedevel
oped in which delivery cycle. They can (and should) at
UseCasesRevisited
tachdevelopment estimatesandperceivedbusinessvalue,
Usecasessolvethoseparticularthreeproblems However, even at "low, medium, high" levels, to understand what
we must first repair the bad reputation use cases have theyareconstructingforthebusiness.
pickedupfromthepeoplewhowritethempoorly. Intheagile environment,ausecaseprovidesthecon
Mostorganizationsproduceinteractionusecases36 that text forwhat is wantedoverall,but it is not the case that
are long (think 20 30 pages), contain as much screen the team delivers all of it at once (Dave Churchill called
design detail as the writer can include, and are hard to theinitialdelivery"asparseimplementationofausecase,
read.Itisnowonderthattheyhaveabadreputation. withasubsetofextensionconditions")
Thatreputationappliesonlytointeractionusecases.A Inexaminingtheextensionconditions,theteammakes
gooduse cases is short (think 13 pages37),readable, and an assessment of how hard it will be to gather the infor
containsnoUIdesign.Iusedtocallthemintentionaluse mation needed to complete the requirements associated
cases, but I actually prefer Larry Constantine's term, es witheachcondition("low,medium,high"isoftenagood
sential use cases (Constantine 2001). Interaction and es enoughmeasure).Thoserequiringalotofinvestigationor
sential use cases are worlds apart in terms of easeofuse discussion should be started earlier, ahead of when the
andeconomics. item is scheduled for development. Extensions estimated
On the $15M project mentioned earlier, we had over to have a quick response time can be left alone longer,
200 use cases that served as the contract basis for the possiblyuntilthestart oftheiteration.Interms ofFigure
fixedprice,fixedscopeproject.Eventhere,theusecases 23, the team adopts is a workscheduling strategy that
were essentialuse cases written in "casual" style38,about arrangesforinformationtoreachthepersonneedingitina
twoparagraphsofsimpleprose.Theywereupdatedatthe timelymanner.
startofeachthreemonthdeliverycycletopickupthelat Context
estbusinessneedsanddevelopmentdetails. Sincethestory line of the system's use is captured at the
Essentialusecases,twoparagraphsortwopageslong, same time as the system's behavioral features, use cases
can be drafted, read and updated easily. The team can providethecontextneededforeachfeatureinthesystem.
writethemallupfront or incrementally, each to comple Kite or highlevel use cases give context to individual
tion or one scenario at a time, at a low or high level of usergoal use cases39, and the usergoal use cases give
precision at any moment. Implementation can begin im contexttospecificuseractions.
mediatelyorbedeferred.Costandvaluecanbeestimated
MappingUseCasestoUserStories
on a lineatatime basis or on a usecase basis. In other
words, you can arrange their construction and use ac GerardMeszarosworkedouthowtofitusecasesanduser
cordingtoyourproject'spreferredstrategies. stories together (Meszaros 2005).The problem he solved
Wellconstructed essential use cases solve the three isthis:
problemsmentionedearlier: A user story may be a request for new functionality,
Completenessandlookahead extensionoffunctionalityordata,orimprovedusabil
Theextensionconditionssectionoftheusecaseisaplace ity(UIdesign).
wheretheusageandbusinessexpertscanbrainstormofall A use case does not contain data or UI design infor
mation.
36
Oddly,althoughInamedthesethingsbackin1994,specificallytotellpeople Auserstorymustbesmallenoughtobeimplemented
notto writethem, thatnomenclature never made itinto any of my public arti in less than an iteration, however short the iteration
cles.PerhapsIcanfixthatmistakenow.Inanoddtwistoffate,offshoredevel maybe.
opment has caused a need for interaction use cases as the carrier of high
precision,lowbandwidthcommunicationacrossculturesandcontinents. Ausecasemaycontain10,20,or30userstories,but
37
IfIgotonlyoneruletoimposeonanorganization,itwouldbe,"Everyteam itisnotthecasethateachstepinausecaseis auser
delivers running, tested features to real users every three months." If I had to
nameasecond,itwouldprobablybe:"Nousecaseexceedstwopages." story: it may take several use case steps to capture
38
See Writing Effective Use Cases (Cockburn 2001) for description of briefs,
casualandfullydressedusecases,levelsofprecisionin writing,andlow,me
39
dium,andhighlevelusecases. (Cockburn 1995sucwg,Cockburn 2001uc).

60
Sw DevasaCooperativeGame page 61
what is a single user story, or one use step may be and assign them to development teams for specific itera
complicated enoughthat it needs tobe split into sev tions.
eraluserstories. Thetoolallows theusertotypeanythingintheCOW
The first user story to implement is the simplest descriptionandassociatethat withausecaseorastepin
conceivable path through the main success sce theusecase,and,independently,withateamandwithan
nario, leaving out any complications whatsoever. iteration.
Thisisauserstorythat maps tomultipleusecase Thetool has three panes, with draganddrop between
steps. panes.
Most of the leftover steps and most of the exten Pane 1: A tree view of use cases and COWs (a use
sionconditionsmaptooneuserstoryeach. cases cancontainotherusecases,anda use case can
Some steps describe business rules or behaviors containCOWs).
difficulttoimplement,eitherofwhichmayneedto Pane2:AlistofCOWsassignedtoteams.
be split into several user stories, implemented in Pane3:AlistofCOWsassignedtoiterations.
differentiterations.
With this tool, the team can write and evolve their use
This is the mismatch between user stories and use cases: cases, and develop them according to any strategy they
some user stories are in the use cases and some are not. like. They can always tell what portion of a use case is
Thatmakes it difficult to"convert"usecases to user sto implemented,tomakesurethatthefunctionalityprovided
ries. toauseris"fitforbusinessuse."Theycanseethecontext
Gerard'ssolution is simple and clever. He names four surroundingeachCOW.Theycangenerateburnupcharts
typesofuserstory: showingtheirrateofprogress.
New functionality. Implement the simplest possible (Beforeyou write measking for a copy of the tool, it
path through the main success scenario of the use wasdevelopedforinternaluseonly,andtheaboveisallI
case.Chooseittobeasnarrowaspossible,tofitinto am allowed to say about it, except that it took about a
youriterationlength. month to prototype and another month to get into use.
New rule. Implement part of a business rule, usually With moderndevelopment environments,this sort oftool
fromanotherstep or extension in the use case (occa isnotalargetask.)
sionally not in the use case at all, as with complex Forthosewhodonothavesuchatool,thereisaneven
businessrulesthatliveintheirowndocuments). simplermethod:
Newdata.Implementpartofadatastructure(whichis Printoutthe(1or2page)usecaseandpostitonthe
probablynotintheusecaseatall). wall.
Improved usability. Correct or refine UI features, Highlight with yellow highlighter the sentence or
whether they were part of the original plan or come sentencesbeingimplementedinthisiteration.
fromuserfeedback. Annotatetothesidethedatastructureorbusinessrule
Gerard solved the conceptual problem of relating use associated with any complex step and highlight it
casesanduserstories.Wenowhavetoolingproblem. similarly.
One organization constructed a special tool to help Highlight the sentences with blue (or green) high
themtrackthe mapping.People writeuse cases and non lighter as they get completed. They will now appear
behavioral requirements to define project scope. They green.
break those down into user stories, or chunks of work Withthismethod,peoplewillalwaysknowwhattheyare
(COWs)as the team refers to them (the team recognized workingonandwhathasbeencompleted.Bestofall,they
the trouble with the term "user story" and changed their willbeabletotellwhat portion of a meaningful user ac
vocabulary). They attach effort estimates to the COWs tivityisavailableandwhatportionisbeingleftout.

PersistentQuestions
Overthelastfiveyears,thesamesortsofquestions keep agile"means,andhowtotellwhethertheirorganizationis
arising: the limits of the agile model, agile's relationship agileatall.
with the Software Engineering Institute's Capability Ma Thisistheplacetoconsiderthosequestions.
turityModel(SEI'sCMMI),withISO9001conformance,
SweetSpotsandtheDropOff
withcustomerrelations,withdomainmodeling.Theyalso
ask how to introduce agile into a company, what "more When applying good practices, there is a gradient and a
steepdropoff.Alongthe gradient,doing moreandbetter

61
Sw DevasaCooperativeGame page 62
isgood,butonlyalittlebitbetter,butacrossthedropoff, dient as possible. Thus, the original XP called for estab
doinglesscanbecatastrophic.Isuggestthatgettingallthe lishingthecenterofeachsweetspot.
key practices above the dropoff is more important than ThegoalofCrystalisprojectsafety,withregular,ade
gettingjustoneortwoofthemtothetopofthegradient. quate deliveries. Therefore, Crystal only calls for estab
Recallthefivesweetspotsofagiledevelopmentmen lishing the top of the dropoff. Every improvement from
tionedonp.???: thereislefttothediscretionoftheteam.
TwotoEightPeopleinOneRoom Think about where your practices are relative to the
OnsiteUsageExperts dropoff. Consider that getting all of the practices above
OneMonthIncrements thedropoffismoreimportantthangettingjustoneortwo
FullyAutomatedRegressionTests ofthemtothetopofthegradient.
ExperiencedDevelopers FixedPrice,FixedScopeContracts
It is not the case that if you have those sweet spots in
place, then you can use the agile model. Rather, it is the Mydebutasaleadconsultantwasonan18month,$15M
case that to the extent that you can get closer to those fixedprice,fixedscopecontract, with eventually 45 peo
sweet spots,thentheeasier it is to take advantage of the pleonthe development team.Ifoundonthat project that
agilemodel,andthelighterandfasteryoucanmove. alltheideas we later wrote into the agile manifesto were
neededtopulloffthecontract:incrementaldevelopment,
Forthefirstone,collocation,weseethat ifthepeople
reflection,frequent integration,collocation,close user in
are not in the same room, but in adjacent cubicles, com
municationisnotasgoodthisisthegradientbutitstill volvement (wesucceeded without automated tests, which
adequatefor eventheCrystalClearmodeltowork.Once thesedaysIwouldtryhardertogetinplace).
peoplemovefartherapartthanthelengthofaschoolbus40 Most fixedprice, fixedscope contracts are priced ag
andaroundacornerortwo,theircommunicationbecomes gressively, and typically require large amounts of over
so constrained that very particular dangers arise this is time. The problem is not rapidly changing requirements,
thedropoff. but development inefficiency.Fortunately,theagile ideas
Similarly,itisnotreallynecessarytohaveafulltime, increase development efficiency, and there is almost al
onsiteexpertuserinordertogetgoodusageandusability ways wiggle room in the development process that the
information.Ihaveseenprojectsdoverywellwithexpert teamcanexploittoincreasetheirefficiency(See"Process:
userstwohoursaweekonsitewithphonecallsduringthe the4th Dimension"(Cockburn2004pt4d)).
rest of the time. This is the gradient. Less than once per Thus, I came to the writing of the agile manifesto
monthisonthelowsideofthedropofftherejustisnot through the door marked "efficiency" instead of the door
informationandfeedbackfromtheexpert,andtheproject marked"changingrequirements."
is indangerof deliveringthe wrong system41. Most proj Ifyouareworkingonfixedscopecontracts,remember
ectsnevergettoseearealuserexpertatall. twothings:
Oneweek, onemonth and threemonth deliveries all Attheendofeachiterationordelivery,ifyouneedto
lie on the gradient. Oneyear deliveries are off the drop keep the scope constant, simply don't change the re
off. quirements! There is nothing in the agile manifesto
Continuous, daily, even everyotherday integrations that says you havetochange requirements at the end
all lie on the gradient. Weekly integration and manual oftheiterationonlythatagiledevelopmentfacilitates
testingareoffthedropoff. requirements changes in those situations where it is
appropriate.
Having all competent and experienced developers is
The contract putsa bounding box on the time, scope
reallygreat.Onecompetentandexperienceddeveloperfor
and money you can apply. Within those limits, you
everythree not so outstanding or young and learning de
cancollocatetheteam,workincrementally,payatten
velopers is still onthe gradient. Having only one compe
tion to community and communication, automate
tentandexperienceddeveloperforsevenortenoftheoth
testing, integrate often, reflect and improve, and in
ersisoffthedropoff.
volveusers.
Understanding the gradient and dropoff helps us un
derstand the different agile methodologies being pub Agile,CMMI,ISO9001
lished.OneofthegoalsofXPistogetashighupthegra Rich Turner highlighted for me the key difference be
tween the CMMIand the agile methodologies: The agile
40
SeetheBusLengthCommunicationPrinciple,p.30??? methodologies are focused at the project level, whereas
41
Seetheresearchstudydescribedin(Cockburn1998,pp.????)on"userlinks" theCMMIisfocusedatthe organizationallevel.
ascriticaltoprojectsuccess.

62
Sw DevasaCooperativeGame page 63
Thereareadditional,philosophicaldifferencesthatcan Itistypicaltoadoptthedefined(theoretical)modeling
bedebated,but one mustfirsttakeintoaccount that their approach when the underlying mechanisms by which
targetsaredifferent. a process operates are reasonably well understood.
Anagile initiativeaddresses the question:How do we When the process is too complicated for the defined
make this software on this project come out well? A approach, the empirical approach is the appropriate
CMMIinitiativeaddressesthequestions:How well is the choice.
organization doing at being what it wants to be? Do the For a defined or theoretical process to work two things
differentgroupshaveincommon what theyaresupposed mustbetrue.First,predictionmustbepossiblethesystem
to have in common? Do they train newcomers to behave mustbepredictableinitsresponsetovariations.Secondly,
inthewaysthegroupwant?Andsoon. onemustknowandbeabletomeasurealltheparameters
Thus,itisnotameaningfulquestiontoaskwhetherXP neededtomaketheprediction.
is a CMMI level 3 methodology, because XP does not I don't think either is satisfied in software develop
containanyrulesabouthowtotrainanXPcoach,howto ment.First,wedon'tyet knowtherelevant parameters to
detectwhetherpeoplearepairprogrammingorrefactoring measure. The purpose of the agile movement and this
(orwhytobotherdetectingthat).Yetthosearethethings book has been and still is, to some extent, to get people
theCMMIwantstheorganizationtothinkabout. (includingresearchers)topayattentiontonewparameters,
such as quality of community, amicability, personal
Sincethe writingoftheagile manifesto,anincreasing
numberofagilepractitioners havebeenasked to help in safety, and factors affecting speed of communication
stall agile processes across an entire organization. Inter ("ergsecondspermeme").
estingly,wefindourselves askingthesame questions the Secondly, even when we get far enough to name the
CMMIassessmentprocessasks:Isyourteamreallydoing relevantparameters,Ithinkitquitelikelythatteambased
daily standup meetings, and how can you tell? What is creative activities such as software development are cha
thetrainingforanewScrum master?Whereare your re otically sensitive, meaning that a tiny perturbation can
flection workshop outputs posted? Where is your infor cause an arbitrarily large effect. As one example, I once
mationradiatorshowingtheresultsofthelatestbuild? watched in amazement as a highlevel employee quit the
organizationinangeroverwhatseemedtosomeofusasa
It may be time for agile practitioners to take a close
look at the lessons learned from the CMMI as relates to seeminglysmalloffhandcomment.I'msureshehadbeen
creatingcommonprocessesacrossanorganization. inflicted with this comment and ones similar before, but
onthisday,thesamecommentwasjustonetoomuch,and
Taking into account that the targets are different, we shequit.
findthat
TheCMMIladderisbuiltontheassumptionthat both
GettinganagiledevelopmentshopassessedatCMMI
conditionsaresatisfied42.Thisassumptionis embeddedin
level2or3maynot be so difficult, especially as the
levels 4 and 5. At level 4, the organization captures nu
SEI is starting to train assessors to work with agile
mericalmetricsabouttheprocesses.Atlevel5thosemet
processes.
rics are used to optimize the process. The assumption is
Deep philosophical differences remain between the thatgainingstatisticalcontrolofthesoftwaredevelopment
CMMIapproachandtheagileapproach.
processisthekeytodoingbetter.
There are two very fundamental, philosophical differ
The second philosophical difference between CMMI
ences betweenCMMI and agile that generate tension be
andagileisthis:
tweenthetwoworlds.
The CMMI places optimization of the process at the
Thefirstdifferenceisthis: finallevel,level5.Agileteams (teams usingCrystal,
TheCMM(I)isbasedonastatisticalprocessassump in particular) start optimizing the process immedi
tionrejectedbytheauthorsoftheagilemanifesto. ately.
Process engineering literature categorizes processes as Attheverymomentofstartingtheiragile work,theteam
eitherempiricalortheoretical(alsocalleddefined).Inthe will be challenged to ask themselves how they can do
process engineering literature, a theoretical or defined better.
process is onethat is wellenough understand to be auto
In asking how to do better, the statistical process as
mated (quite a different definition of defined than the sumptionshowsupagain.Inwhatfollows,Iwillspeakfor
CMMI uses!). An empirical one needs human examina
tionandintervention.Thetextbookby Ogunnaike (1992)
42
hasthistosay: Ilja Preumentionsthatthe book MeasuringandManagingPerformancein
Organizations [[ref???]]hasinterestingmaterialaboutwhatdysfunctionsariseif
youworktosuchanassumptionwhereitiswrong.

63
Sw DevasaCooperativeGame page 64
Crystalinparticular,inordernot to speak incorrectly for theirprocess,andwon't bedamagedfor being turned
anyoneelse. up.
In the reflection workshop or postiteration retrospec Reflectionworkshops.Gettingtogethereach monthto
tive,theprocess andthe project's condition are evaluated discusshowtodobetterwillnotendangeranyprocess
by people's emotional responses in addition to numerical assessment.Thetrickypartcomes iftheteamdecides
metrics. itneedstochangesomepartofthetheirprocesstodo
Myworkingassumptionisthatahuman,asadevice,is better,andthatchangeputsthem out ofstepwiththe
particularly good at taking in a lot of lowgrade analog greaterorganization'sprocess..
informationalongvariouschannels,andsummarizingitin In other words, a CMMI organization should, theoreti
a feeling or emotional statement. Thus, when a person cally, have no trouble in adopting the key recommenda
says they feel "uneasy" about the state of the project, or tionsoftheagileapproach.Mostorganizationsstrivingfor
"uncomfortable" with the last iteration's communication CMMIassessement that Ihave talked to are unwilling to
patterns,theyare,infact,sayingagreat deal, even when dothosethingsbecausetheydon'tseethemascompetitive
they can't provide numerical values or details. It is the drivers.
veryfact of feeling uncomfortable that the team must at The agile organizations I have visited generally have
tendto. no interest in CMMI certification at all, viewing the
This view, which seemed out of fashion at the time I CMMI ladder as a simple waste of money. That is, they
first formulated it, has been getting attention in recent don'tneedthe CMMI certification to get contracts, but it
years. Several books have been written around it, most willcosttimeandmoneytogetthatcertification.
notablyBlink(Gladwell2005???),??Thefirebook???and ThewayIunderstandthesetwoviewsisthatorganiza
SketchesofThought(Goel1995). tions that profit from having a CMMI level3 assessment
Fromsharingtheirfeelingsaboutwhatisgoingon,the for certain government contracts are not competitively
teamisinapositiontostartimprovingtheirworkinghab hamperedbynothavingthelevelsofproductivityandre
its long before they get statistical data, and even before sponsivenessofferedbytheagileapproach.Organizations
theyareconsistentintheirhabits.Thisisafundamentally operating in a highflux, competitive environment and
differenttotheCMMImodel. needing the agile approach for organizational survival,
There is one final, significant point to be made about can'taffordtoordon'tseethevaluetospendthemoneyor
combiningagileandCMMI:Itappearstobeeasiertoin time to create the process superstructure required to get
corporate agile practices into an organization already as theCMMIlevelcertifications.
sessed at CMMI level 3 or higher than to move an agile Thedifferencehereisbased,notonphilosophy,butin
projectteamintoCMMI. prioritiescreatedbythebusinessoperatingenvironments.
A CMMI level3, level4, or level5 organization has The CMMI question transfers to the equivalent ques
alreadydemonstratedtheabilitytoadoptaprocessorgani tionabout ISO9001certification.ISO9001certificationis
zationwide to train the people and the leaders in their easier,in onesense:there is only one step on the ladder.
roles.Theagileelementstheywilladdareunlikelytoen Thestatisticalassumptionandthelateoptimizationobjec
dangerthatratinginanyway: tionsthereforedon'tapply.
Collocation.Theteammaynotbecollocatedinitially, Onecompany,ThalesResearchandTechnology(TRT
butiftheychoosetocollocate,thatwillnotaffectany UK), as part of its Small Systems Software Engineering
otherpartoftheirprocess. activity,ranatrialprojectusingtheCrystalClearmethod
Daily standups. Getting the team together daily to ology,andhadanISO9001auditorevaluatewhatitwould
talkaboutwhattheyaredoingshouldnotaffectanyof taketogetthatproject'sprocesstopassanISO9001audit.
theteam'sotherritualsordeliverables. The report is too long to reprint here it is presented in
Incremental development. Many CMMIcertified CrystalClear(Cockburn2004cc),pp.??????.The inter
shops do not do incremental development, but work estedreaderisencouragedtoexaminethatreport.Thesort
ing in increments should not break any part of their ofcommentweseefromtheauditor,thoughisofthisna
process. ture:
User viewings. Having one or more users visit and Inordertobefullycompliantwiththisclause ofISO
givefeedbacktothedevelopmentteameachweekisa 9001,whiteboardrecords[ed.note:theyusedprinting
good practice, and will not affect any part of their whiteboards]] would need to indicate who was in
documentedprocess. volvedwiththeviewingsandworkshops.Inaddition,
Continuous builds, automated regression unit and theSponsorand/orUsershouldbepresentatsomeor
acceptancetests.Theseareprobablyrecommendedin allinordertoensurereviewerindependence. Actions

64
Sw DevasaCooperativeGame page 65
should be clearly identified to enable tracking at the
nextworkshop.Thewhiteboardrecordswouldneedto
bekeptforthe mandatoryrecords of review required Another View of Agile and CMMI, by Paul
byISO9001.(Cockburn2004cc,p.320???). McMahon,Principal,PEMSystems
In other words, there was not a problem in using design
WhileinsomecasesIagreeitiseasiertoincorporate
andreflectionsessionsatwhiteboards,aslongaseveryone
agile practices into an organization assessed at CMMI
presentsignedtheirnames onthewhiteboardanddatedit
level3orhigher than to move an agile project team into
(andtheneitherphotographedorprintedit).
CMMI, my experiences indicate that this is not always
When the team updates their working conventions, as true.
called for in Crytal, they would presumably similarly
I am helping a number of organizations with high
print,signanddatethenewlist.Theywouldthenusethat
CMMImaturity(Levels3,4,5)becomemoreagile.ButI
asthenewprocesstoevaluateagainst.
am also helping small organizations, which started out
agile, use the CMMI model for process improvement.
Last year I participated on a formal appraisal for a small
companythatisverySCRUMorientedandtheyachieved
aCMMIlevel3rating.IfyouusetheCMMImodelasit
wasintendedIdontbelieve you havetomovetheteam
intoCMMI.
TheCMMImodelisareferenceframeworkforprocess
improvement. It isnt a set of required practices. In the
caseImentioned,wedidntchangethebehaviorinsidethe
smallcompany,exceptinisolatedinstanceswherechange
wasclearlybeneficial.Forthemostpartwedemonstrated
wherewhattheydo(largelyScrum)meetstheintentofthe
Level 2 and Level 3 reference practices. To accomplish
this requires a good understanding of the CMMI model,
includingtheuseofwhatisreferredtoasalternateprac
tices.
Asanexample,theagiledailystandupmeetingscanbe
viewedasanalternatepracticewithintheCMMImodel.
Thesedailymeetingsalongwiththefollowupactions by
theScrumMastercanachievetheintentofanumberofthe
specificpracticeswithintheProject MonitoringandCon
trolProcessArea.
Userviewingsmeetpartoftheneedforstakeholderin
volvement which is an important aspect of the Project
Planning and Requirements Management Process Areas
andtheGenericGoalswithintheCMMImodel.
With respect to reflections workshops, the CMMI
modelactuallyrecognizesthatchangeisagoodthing.It
expects the team to capture lessons learned and improve
the process. So reflections workshops support lessons
learnedfeedbackandimprovement asrequiredwithinthe
generic goals of the model. The one subtle difference is
that if you are going for Level 3, then improvement rec
ommendations that come out of the team should not be
limited to the team, but should also be communicated to
the organization level so other teams in the organization
canbenefitfromwhatyouhavelearned.
Attaining CMMI Level 3 doesnt have to mean more
detailed process definitions. It means that the processes
that work for an organization are shared across that or

65
Sw DevasaCooperativeGame page 66
ganization and adhered to. Nothing says they cant be trying to get out of a required practice. This can be a
agileprocesses.Institutionalizationisanimportantpart legitimateconcern,butitshouldntbeusedasareasonto
of the model, which means the processes dont break change what is already working in a successful agile or
downintimesofcrisisandarentignoredwhennewpeo ganization.
plearebroughtin.Inmyviewitisofteneasiertoinstitu Althoughitistruethatsomeorganizationsstrivingfor
tionalize agile practices because agile teams usually be CMMIassessmentareunwillingtoemployagileprac
lievestronglyinhowtheydotheirjob. tices, my experience indicate that many organizations in
As another example, the agile company I have been volvedwithDoDworkareactuallyverywillingandinter
helping has an open communication culture where lead ested.
engineers arent afraid to walk into a senior managers I have worked with multiple large U.S. Defense con
officeassoonastheyknowtheyhavearisk,orjustneed tractors who came to me, already having achieved a
help. The team members are also encouraged to raise CMMILevel3,4or5rating,but wantingtoinfuse more
risksatthedailystandupmeetings,andtheyoftendo. agilepracticesintotheirworkprocesses.Theirmotivation
At first, based on the Risk Management Process Area hascomefrommultiplesourcesincludingcustomerinter
in the CMMI model, we created a form to capture risks est,developerinterest,anda belief that to continue to be
moreformally,but theformwas not well received in the successfulandmaybetosurviveincreasedagilitywill
organization. So instead we defined a risk process that berequired.
capturedexactlywhattheteamdoes,andthentrainednew A question I am hearing frequently from large DoD
personnelintheorganizations expectedriskmanagement contractorsis,Howcan weinfuse moreagile operations
behavior.Wedidrequirethattheycapturetheirrisksina into our existing processes? In one case, we created an
periodicbriefingtoSeniorManagement,butwecontinued agiledevelopersguidetohelphisprojectstailortheirtra
to encourage the informal and immediate communication ditional company process assets employing agile prac
thatwasalreadyworkingwell. tices.
Ourleadappraiserhadnotroubleatallwithprocesses The DoD acquisition community has also expressed
like Risk Management that clearly were institutionalized interestthroughquestionslike,Howcanweget ourpeo
across theorganization,and met the intent of the process pletrainedinagilemethodssowecanbemoreeffectiveat
areasaslongasthedirect artifactsandaffirmations evaluatingtheagile implementations of our contractors?
substantiated the effectiveness of the process (direct arti In this case, we are training acquisition community per
factsandaffirmationsarediscussedbelow). sonnelandprovidingevaluationsandrecommendationson
Myexperience has been that when we try to formal DoD projects that are already moving toward increased
ize effective processes too often this results in negative agility.
sideeffects because we unintentionally change what It is certainlytruethat many Organizations operating
works. As an example, if we required formal written in a highflux, competitive environment and needing the
meetingminutesontheagiledailystandupmeetings,peo agile approach for organizational survival, can't afford to
plewouldbelesslikelytospeakopenly,basedonmyex (ordon'tseethevalueto)spendthemoneyortimetocre
perience.Ihaveobservedthistypeofbehaviorchangeon atetheprocesssuperstructure.
numerousoccasions. But, at the same time, my experience indicates you
Another way to look at what we did was to capture dont necessarily need a process superstructure to
what the successful people in the organization were al achieve a high CMMI Process Maturity Rating. Let me
ready doingin this case mostly Scrumand then share explainwhyIbelievethis,andwhysomanyorganizations
itacrosstheorganization.Thisisaneffectivewaytouse stillgotheprocesssuperstructureroute.
theCMMImodelandagile methods together. These ex ToattainastagedCMMILevel3involves 18process
amples demonstrate that agile practices can actually help areas and 140 expected specific practices. Today, many
achieve CMMI goals, if the model is used correctly as a CMMIbasedprocessimprovementinitiativesfocusonthe
framework. stepwiseproceduraldefinitions whichcanbeimplied(al
Beawarethatoneofthekeystothisworkingistogeta though erroneously in my view) from the specific prac
CMMI appraisal lead who understands how the CMMI tices.Thisapproachoftenleads organizations toproduce
modelissupposetobeused,andunderstands agile meth explicit objective evidence for each expected specific
ods.Forexample,youneedtohavealeadappraiserwho practice.Theseeffortsfrequentlyleadtoteamfrustration
isnt afraid to use alternate practices as they were in andreducedperformance.Commentssuchas,ourproc
tendedbythemodel.Someleadappraisersdiscouragethe esses dont reflect what our people really do, and, our
useofalternatepracticesoutoffearitwillbeperceivedas

66
Sw DevasaCooperativeGame page 67
processes force us to do nonvalue added work, are not Thereisalotofnegativetalktodayconcerningtheef
uncommon. fectivenessoftheCMMI model.One of mygovernment
I believe this approach goes wrong based on the way clients told me that he doesnt care anymore about the
objectiveevidenceis handled.Objectiveevidence(OE)is CMMI rating because he cant see the difference in the
criticaltotheappraisalmethod,butmorethanonetypeof performance of an organization that says its level 5 from
OE is allowed. To achieve an expected specific practice onethatsaysitslevel2.Myviewisthattheproblemisnt
an organizations adherence to the practice must be veri withthemodel,butthewaycompaniesapplyit focusing
fied by an appraisal team through what is referred to as on the rating, rather than its real intent. In my opinion
directand indirect artifacts. agile methods can actually help us use the CMMI model
Direct artifactsrelatetothereal intent of the practice. asitwasintendedforrealprocessimprovement.
Examplesarerequirements,design,codeandtestartifacts Ourphilosophy,withthesmallagilecompanythathad
(Note here that the model doesnt dictate the form these a business goal to achieve CMMI Level 3, was not to
direct artifactsmusttake,northe orderin whichthey are drive the team to perform any unnatural, or nonvalue
produced). Indirect artifacts are a consequence of per added acts in preparation for the appraisal. The teams
forming the practice, but they are not the reason for the affirmationsandthedirectartifactsbecametherealproof
practice,noraretheyrequiredbythepractice.Examples the products they produced, their satisfied customers,
aremeetingminutesandstatusreports. and their business success: the business is currently
But this is where I have seen many process improve growing30%ayear.
ment initiatives goofftrack.Too often I have found or
ganizations being driven to perform unnatural and non
value added behaviors to produce unnecessary indirect
OE,ratherthanmaintainingfocusontherealtarget,qual
ityproductsproducedfortheircustomers(directOE).
My point is that indirect artifacts (e.g. meeting min
utes, status reports, and so on) are not required by the
model. I am not saying that meeting minutes and status
reports are not important, but I am saying you can use
whatarecalledaffirmationsduringanappraisalinstead.
This means you interview people and they tell you what
theydo.
Forexample,theappraisalteamcaninterviewanagile
teamandtheprojectteammemberstelltheappraisalteam
what they do. As an example, a response from a team
member might be, We hold daily standup meetings
where the team members report status and the team lead
listensandthenremovesobstacles.
Theappraisalteamtakes notes on what they hear (af
firmations). These notes are then used as evidence that
the organization is meeting the intent of many specific
practicesinthemodel.We dont havetoforceunnatural
and nonvalueaddedbehavior, and extra timeconsuming
work to create unnecessary artifacts to get ready for a
CMMIappraisal.Thedirectartifactsandtheaffirmations
aresufficient.
So why then do many large DoD contractors spend
huge amounts of money to get ready for a CMMI ap
praisal?OnereasonIhaveobservedis manycontractors
dont trustwhat theirpeople willsayinthose interviews.
Theythereforeforcethecreationofhugeamountsofindi
rectevidence(e.g.meetingminutes,statusreportsetc.)to
reducetheriskthatsomeonemightsaythewrongthing
anditmightleadtoanunsuccessfulappraisal.

67
Sw DevasaCooperativeGame page 68
developinsightabouthowelaborateamodeltobuild
orwhethertobuildamodelatall.
WhenToStopModeling(reprise) The difficult part of this advice is that it requires you to
Ifyouarenot doingany modeling at all on your project, periodicallystop,thinkaboutwhatyou'vebeendoing,and
thereisastrongpossibilitythat youcanbenefit bythink discuss with yourcolleagues about whether to turn up or
ing carefully about the structure of your domain (the do turn down the dial labeled modeling. There is no correct
main model). If you think that your models need to be answer.Thereisonlyananswerthatbetterfitsyoursitua
complete, correct and true before you start coding, then tionthansomeotheranswer.
youarealmostcertainlydoingtoomuch. TheansweriscomplicatedbytheShuHaRilevels of
At the time of writing the first edition of this book, thepeopleintheroom.SomeRilevelpeople willstepto
most people modeled either too much because they thewhiteboardorCASEtoolandmodelalmostasfastas
thought modeling was good or not at all, typically be theycantalk.Other Rilevelpeople will do the modeling
causetheydidn'tthinkaboutitatall.Onceagiledevelop in their spoken language, in their tests (using TDD or
ment became fashionable, overzealous wouldbe agilists XXD43),andintheircode.ARilevelperson'sadvicetoa
proclaimedthat modelingwas bad.Onceagaintheygave Shulevel person is likely to be to copy the Rilevel per
incorrectadvice. son'sstyle.Thatmayormaynotsuitthe Shulevelperson.
Scott Ambler, in his book Agile Modeling (2002) set My suggestion is that Shulevel developers need to
out to correct both imbalances. He describes, for those modelanddiscussthosemodelswiththemostexperienced
whomodeltoo much,lighterandsimplerways to model. peoplearoundthem, inorderto learn how tothink about
Forthosewhodon'tbothertomodelatall,heencourages their models. As part of their professional growth, they
lightweight modeling to assist in thinking and communi canlearnto modelinbothUMLandintests. CRC cards
cation. andresponsibilitybaseddesign(Beck1987,Cunningham
Scott's approach lends itself well to the text I wrote on ???, Cockburn ???crc url, CRC book, Evans book, WB
page37??: book2)areverygoodwaystogetstartedwithlearningto
thinkaboutmodels.
Constructingmodelsisnotthepurposeoftheproject.
Constructing a model is only interesting as it helps The tangible artifact that exits the modeling activity
winthegame. can take many forms. snapshots of whiteboards, UML
The purpose of the game is to deliver software. Any
diagramsinaCASEtodrawingtool,collections ofindex
otheractivityissecondary.A model, as any commu cards taped to the wall, videotaped discussions of people
nication, is sufficient, as soon as it permits the next drawingandtalkingatthewhiteboard,alltheseareuseful
persontomoveonwithherwork. indifferentsituations44.
Theworkproductsoftheteamshouldbemeasuredfor Alwaysremembertopayattentiontobothgoalsofthe
sufficiency with respect to communicating with the game:deliverthissystemsetupforthenextroundofthe
target group. It does not matter if the models are in gameandthenextpeoplewhowillshowupforthatgame.
complete, drawn with incorrect syntax, and actually For comparison, here are comments from three other
not like the real world if they communicate suffi agile experts on the subject of how much modeling to
cientlytotherecipients.... do45:
Somesuccessfulprojectteamsbuilt moreandfancier Jon Kern: "I am subconsciously stomping out risk
models than some unsuccessful teams. From this, toagivenlevelsothatIcanproceedwithsomede
manypeopledrawtheconclusionthatmoremodeling greeofconfidence.Ifonepartofthemodelremains
isbetter. prettylightweight because you have done it before
Somesuccessfulteamsbuilt fewerandsloppier mod 100times,sobeit.Ifanotherpartofthemodelgot
very detailed due to inherent complexity and the
els than some unsuccessful teams. From this, other
need to explore the depths looking for "snakes in
peopledrawthe conclusionthatless modelingisbet
thegrass"well,thatjustiswhatitis!"
ter.
Neitherisavalidconclusion.Modelingservesaspart David Anderson: "I think I'd stop have enough
oftheteaminventionandpartoftheircommunication. confidence when three features fail to add any
There can be both too much and too little modeling.
43
Scrawling on napkins is sufficient at times much 44
XXDisdescribedonpage???.
moredetailisneededatothertimes.... Icollectedanumberofphotosanddrawingsasworksamplesin CrystalClear
(Cockburn2005cc).Thereisn't spacetoreprintallthoseagain here.The inter
Thinking of software development as a cooperative estedreadercanlookthroughthoseandotherworksamplesthere.
45
gamethathasprimaryandsecondarygoalshelps you Allthreefromhttp://blogs.compuware.com/cs/blogs/ jkern/archive/
2006/03/29/Depth_of_Initial_Modeling.aspx

68
Sw DevasaCooperativeGame page 69
significantnewinformationtothedomainmodeli.e. Agile teams use an interesting mix of hightech and
no new classes, associations, cardinality or multi hightouch tools, and an interesting mix of technological
plicitychanges.Notsignificantwouldbemethodsor andsocialtools.
attributechanges.Whenitlooks like the shape will
stand up to a lot of abuse without the need for re
The technological tools are interesting in their diver
factoringthenyouarereadytostartbuildingcode. sity.Therearethewellknownlowtech,hightouchtools:
lotsofwallspace,indexcards,stickynotes,flipchartsand
"However, in recent years I've done two layers of white boards. There are the wellknown hightech tools
domainmodeling.Thefirstwiththemarketingfolks for automated testing, configuration management, per
to help flush out requirements and help them un
formanceprofiling,anddevelopmentenvironment.
derstand the problem space better. I have a lower
barfor"done"inthisearlystage. Thereareautomationtoolsthathadlittleexistencebe
foretheagilewavehit,buthavebecomeindispensablefor
"The second phase domain modeling done by ar the modern agile team. Foremost among these are con
chitectsandsenior/leaddevshasthisverywellde
fined bar that the shape must hold because we tinuous integration engines such as CruiseControl. These
don'twanttopayarefactoringpenaltylater." runthebuildeverytwentyorthirtyminutes,runtheauto
mated unit and acceptance tests, and notify the develop
PaulOldfield:"Ihavesimilarexperiences[asJon] mentteam(inalltheirvariouslocations)abouttheresults
I always know when I know enough about the do
ofthetests(oftenbyannouncingwhosecodefailed).The
maintomove on, and when I need to know more.
The only time I have a problem is when I can't go
continuousintegrationengineholdstheteamtogetherboth
back for more information later. For me the key sociallyandacrosstimezones.
questionis,doIknowenoughtokeepmebusyuntil Therearethedistancecommunicationtools.These in
the next time I get contact? If I'm fronting for a clude instant messaging tools with conversation archival,
team, the question is very similar Do I know microphones and webcameras to get "realperson" inter
enoughtokeeptheteambusyuntilnexttime?" action, speakerphones for daily standup meetings across
Seewhatyourteamthinksistheappropriatethresholdfor timezones,technicaldocumentationoninternalwikisites,
modeling. and PCconnected whiteboards to keep records of design
discussions.Alltheaboveservetofillthe gapleft bythe
TheHighTech/ HighTouchToolbox absenceoffrequentpersonalencountersbetweenthepeo
The editors at CrossTalk magazine asked me to write an pleondistributedteams.
articleaboutwhattheagile"toolbox"contains (Cockburn Mostinteresting,however,arethespecificinclusionby
2005tools???). This turned out to be doubly interesting, agileteamsofsocialtools.Thetopsocialtoolsaretocol
because the agile toolbox contains both social and tech locatetheteamandattackproblemsinworkshopsessions.
nologicaltools,andbothhightechandhightouchtools. Othersocialtoolsrevolvearoundincreasingthetolerance
Hightech tools are those that use subtle or sophisti oramicabilityofpeopletowardeachother,givingthema
catedtechnology.Theseincludeperformanceprofilersand chance to alternate highpressure work with decompres
automated buildtest machines, and hightouch social. sion periods, and allowing them to feel good about their
Hightouch tools are those that address social and psy workandtheircontributions.
chological needs of people. These include daily standup Thefollowingisthelistoftoolsfromthearticle:
meetings,pairprogramming,groupmodelingsessionsand Social roles such as coach, facilitator, and scrum
reflectionworkshops. master.
People often find technology depersonalizing, so we Collocatedteams,forfastcommunicationandalsothe
tend to see hightech tools as lowtouch, and tend to see abilitytolearnabouteachother.
hightouchtools deliveredinlowtech.Thus, agile devel Personalinteraction,withinandacrossspecialties.
operswilloftenexpressaninterestinusinglowtechtools Facilitatedworkshopsessions.
fortheirsocialsessions,suchaspaperflipchartsandindex Dailystandupstatusmeetings.
cards("sowecantouchthem,movethem,andremember Retrospectivesandreflectionactivities.
the discussion by the stains on the napkins"). More re Assisted learning provided by lunchandlearn ses
cently, people are using highbandwidth communication sions,pairprogrammingsessions,andhavingacoach
technology to increase thetouch factor on distance com ontheproject.
munications (and indeed, the touch factor is one of the Pairprogramming,toprovidepeerpressure,aswellas
reasons people might prefer watching videotaped discus camaraderie, better pride in work, and energy load
sionsoverreadingpaperdocuments). balancing.
Asharedkitchen.

69
Sw DevasaCooperativeGame page 70
Toys,toallowhumorandreducestress. addressatthistime.Eventually,there'snopointinasking
Celebrations of success and acknowledgment of de "whereismoreagilefromhere?"
feat. HowAgileareYou?
Goldcardsissuedatanestablishedrate,toallowpro
grammers to investigate other technical topics for a Agile developers dreadbeingasked how to evaluate how
dayortwo. "agile"aprojectteamis.Partlythisisduetofearofman
Offwork get togethers, typically a Friday evening agementintroduced metrics. Partly this comes from an
visit to a nearby pub, wineandcheese party, even understanding that there is no "center" to try to hit, and
volleyball,foosball,orDoomcompetitions. there is therefore no increasingly high numeric score to
Postinginformation radiators in unusual places to at target.
tract attention (I once saw a photo of the number of SCORINGAGILITY POINTS
opendefectspostedinthebathroom!) Much to my chagrin and frustration, and over my
The interesting thing is probably less that agile teams do strenuous objections, the (really very experienced)
thesethingsthanthattheyconsiderthemessential tools. Salt Lake City agile round table group decided to
usethetableinthissectiontoevaluatetheprojects
TheCenterofAgile they were involved in. After they had assessed
themselves for each property in the table, they
What wouldit meantoget "closerto the center" of agile asked:"Butwhere'sthefinalscore?"
development?ThisisaquestionIoftenheardebated.The
troubleis,thereisnocenter46. Tomyfurther chagrin andfrustration, and over my
further strenuous objections, they found ways to
Most development teams are so far away from doing score numbers for each property(and argued over
agiledevelopmentthatitiseasyto givethema meaning them, to try to raise their scores). After they had
ful,"moreagile"direction: added up all the numbers and declared a winner,
decentralizedecisionmaking, one of them said, "But this is no good we got a
integratethecodemoreoften, high agility score and we haven't delivered any
shortenthedeliverycycles, softwareintwoyears!"
increase the number of tests written by the program Which, as far as I'm concerned, proves my point
47
mers, (seealsomyblogonthesubject ).
automatethosetests, Nonetheless, a manager, the sponsoring executive, or the
getrealuserstovisittheproject, team itself will want to track how it, or different teams,
reflect. are doing with their move into agile territory. Scott Am
Theproblemonlyariseswhentheteamisdoingrelatively blerwroteashort testthat provides a good starting point
well,andasks,"Whatismoreagile?",thinkingofcourse, (Ambler2005.12).Hewrote:
thatmoreagileequateswith better. "My experience is that if the team can't immediately
When we wrote the agile manifesto, we were seeking fulfillthefirsttwocriteria then there's a 95% chance
thecommon points among people who have quite differ thatthey'renotagile.
entpreferencesandpriorities. They
Forsome,testingwasimportant 1. can introduce you to their stakeholders, who ac
Forsome,selforganizationwasimportant tivelyparticipateontheproject.
Forsome,frequentdeliverieswasimportant 2.canshowandruntheirregressiontestsuite.
For some, handling latebreaking requirements 3.produceworkingsoftwareonaregularbasis.
changeswasimportant.
4. write highquality code that is maintained under
These are fine things to strive for, and they are typically CMcontrol.
missingontheaverageteam.Onceateamgetsathreshold
5.welcomeandrespondtochangingrequirements.
amountofeachinplace,however,itisnot clearwhichis
most important, which is the "center" of the word agile. 6.takeresponsibilityforfailuresaswellassuccesses.
None ofthoseis most important across all project teams. 7.automatethedrudGryoutoftheirwork."
Each team must decide what is most important for it to Thefollowingisamoredetailedwaytoexaminehowyou
aredoing.It cameduringavisit toacompanythat hada
46
numberofprojectstryingoutdifferentaspectsoftheagile
Rather like certain old European cities. The center of the city is the "old
town." But there is no center to the old town. It is just a maze of twisty little
passages, all different. Once you are there, it doesn't make any sense to ask,
47
"HowdoIgetclosertothecenterfromhere?" See http://blog onagilitypoints???(cockburn url)

70
Sw DevasaCooperativeGame page 71
approach. We characterized each project by how many
people were involved and the project's iteration length.
Since iteration length is secondary to frequency of deliv
ery (see "How short should an iteration be?", page ???),
weincludediterationlengthonlytocharacterizetheproj
ects,nottoevaluatethem.
We filled out this table, marking how frequently the
deliveries,thereflectionworkshops,theviewings,andthe
integrationshadhappened.Osmoticcommunicationgot a
Yesifthepeople wereinthe same room, otherwise we
wrote down the team's spread. Personal safety48 got 'No,'
'1/2,' or Yes, depending on a subjective rating. (If you
don'thavepersonalsafetyonyourprojects,canyouposta
'No'?)
For focus, we put down "priorities" if that was
achieved, "time" if that was achieved, or Yes if both
wereachieved.Forautomatedtesting,weconsideredunit
and acceptance testing separately (none had automated
acceptancetesting).
We marked some of the times with '!' if they seemed
outofrange.Seeinga'!'inoneplaceleadsyoutolookfor
a compensating mechanism in another part of the chart.
Forexample, both SOL and EVA had only one delivery,
after a year. Both received '!' marks by that delivery fre
quency.However,SOLhasacompensatingmechanism,a
user viewing every week. EVA, which had no compen
sating mechanism, did all the agile practices except get
tingfeedbackfromrealusers(missingbothdeliveriesand
user viewings). When that company finally produced a
product,theproductwasrejectedbythemarketplace,and
thecompanywentbankrupt(thisshouldhighlight theim
portanceof"Easyaccesstoexpertusers.")
UsethetableinFigure5'17togetalloftheproperties
above the dropoff (see "Sweet Spots and the DropOff,"
p.???),butdon'ttryforasummaryscore.Instead,usethe
tableto decide what towork onnext.Iwould,of course,
post the chart as an information radiator and update it
monthly.

48
From Crystal Clear, p. ???: "Personal Safety is being able to speak when
somethingisbothering you, without fearofreprisal.It may involve telling the
managerthat the schedule is unrealistic, a colleague that her design needs im
provement, or even letting a colleague know that she needs to take a shower
moreoften.PersonalSafetyisimportantbecausewithit,theteam can discover
and repair its weaknesses. Without it, people won't speak up, and the weak
nesseswillcontinuetodamagetheteam."

71
Sw DevasaCooperativeGame page 72

Project EBU SOL EVA GS BNI THT Ideal


#People 25 25 16 6 3 2 <30
FrequentDelivery 2weeks !1year! !1year! 1month 2months 4months! <3months
UserViewings 2weeks 1week !1year! 1month 1/iteration 1month <1month
ReflectionWorkshops 2weeks 1month 3weeks No No 1month <1month
OsmoticCommunica 1floor 1floor Yes Yes 1floor Yes Yes
tion
PersonalSafety 1/2 Yes 1/2 Yes Yes Yes Yes
Focus(priorities, priorities Yes Yes priorities priorities Yes Yes
time)
EasyAccesstoExpert No 1day/week No No voice, Yes Yes
Users email
ConfigurationMan Yes Yes Yes Yes Yes Yes Yes
agement
AutomatedTesting No No unit No No unit Yes
FrequentIntegration 3/week 3/week daily 1/week monthly 1/day continuous
Collaborationacross Yes Yes No No 1/2 Yes
Boundaries
Iterationlength 2weeks 1month 3weeks 1month 2months 1month <2months
Exploratory360 No Yes No No No Yes Yes
EarlyVictory Yes Yes Yes No No Yes Yes
WalkingSkeleton Yes Yes Yes No No Yes Yes
IncrementalRearchi Yes Yes Yes No No Yes Yes
tecture
InformationRadiators Yes Yes Yes Yes No Yes Yes
PairProgramming No No Yes No No No Maybe
SidebySideProgram No No No No No No Maybe
ming
TestFirstDevelopment No No Yes No No No Maybe
BlitzPlanning Yes Yes Yes No No Yes Yes
DailyStandupMeeting Yes Yes Yes Yes Yes No Yes
AgileInteractionDe No No No No No No Yes
sign
BurnCharts No Yes No No No Yes Yes
DynamicPriorityLists Yes No Yes No 1/2 Yes Maybe
Figure5'17.Awaytotrackprojects'useoftheagileideas.

72
Sw DevasaCooperativeGame page 73
will burn up a lot of money quickly, and fuel the resis
tancemovementfromthebeginning.
IntroducingAgile
Do seek support at both the highest and lowest levels
The question, "How do I introduce agile software devel of the organization. The programmers, at least, have to
opment into my organization?" has no tidy answer. Here want the change, and they need the input and support of
are three ways to rephrase the question to highlight the someoftheexecutiveteam.Eithergroupwithouttheother
differentunanswerablequestionsthisonecontains. willbecomeisolatedandunabletoproceed.
"How do I get my company to change its corporate Dogetoneprojectteamworkingsuccessfully.
culture?" Do staff that team with at least two people who are
"How do I get someone else to change their way of competent,respected,andcanpullofftheagileapproach.
workingtomatchmine?" Don'tshower that team will an undue amount of sup
"How do I convince my boss that his way of doing port and attention. The other teams will just feel left out
thingsiswrongandmineisright?" andgetannoyedatthatteam.
Eric Olafson, the CEO of Tomax whose move to agile Dogetexpertsintohelp.Placethemintheteams,not
development was described in Chapter 8 (see page ???), outsideasadvisors.
offeredanexcellentinsightintotheproblem.Hesaid: Doconsidertheusers and the executive sponsors part
"Youdon'ttransitionyourprojectstoagileprojects, oftheteam("There'sonly us").
youhaveto transformyourpeopletothinkinagile Do reflect on what you are doing each month, and
ways."
change your working convention to get better. If you are
Transitioning projects you can put on a schedule. Trans not changing something, trying out something new, each
forming people you can't. Many executives since then month for the first few months then you probably aren't
haveechoedEric'sinsight. gettingatasteofityet.
I wish I could write that in the last five years I have Do deliver real software to real users, quarterly, or
seen enough organizations move to agile development to betteryet,monthly.
formulateagoodsuccess strategy. Unfortunately, I have
Do prepare for a backlash to come from somewhere
n't,andhave,instead,becomewaryoflargeorganizational
youcan'tsee.
initiatives.Myownskepticalphrasingis:
Finally,onewordofcomfort:The higherlevel execu
"ForanyorganizationwideinitiativeX,Xgetsre
tivesprobablywantwhattheagileapproachoffers,which
jectedbytheorganizationalantibodies49."
is
AgiledevelopmentisjustonevaluewecanpluginforX.
"Earlyandregulardeliveryofbusinessvalue."
The failure often comes from a backlash effect that
Ihavenotyetmetanexecutivewhofindsthatatroubling
shows up after one or more projects have delivered suc
proposition.Theyusuallyagreethatthedevelopmentpro
cessfullyandsometimesevenbecausetheprojectdeliv
cess needs lightening, testing needs to be beefed up, and
ered successfully. Apparently, simply delivering projects
users more involved. The increased visibility given by
successfullyisnotsufficienttomakeachangestick50.For
agilestatusreportsareacomforttothem.Theyappreciate
more discussion on organizational change, see "Business
being able to make midcourse corrections. Early and
asaCooperativeGame"onpage11.
regulardeliveryofbusinessvaluehelpsthebottomline.
Canwesayanythingabout introducingagile develop
ment into an organization? The book Fearless Change
(Rising2003???)containssomeobservationsfromchange
groups. Here are some starter do's and don'ts from other
teams.Bearinmindthatmanyoftheseideashelpyouget
started,butnoneisadequatetomakethechangestick.
Don't make an executive proclamation that all devel
opment will be done using the agile approach and then
hiretrainingforeveryone inthecompany.This approach

49
ThankstoRonHolidayforthisoutstandingconcept("organizationalantibod
ies")!
50
ThisisagoodtimetorereadGeraldWeinberg'sThePsychologyofComputer
Programming (1999).Hiswritingscontainmanystoriesinthisvein.

73
Sw DevasaCooperativeGame page 74
about2pages
Introducing Agile from the Top 10 Lessons, by
EricOlafsson,CEO,Tomax
about2pages
about2pages

about2pages
about2pages

about2pages
about2pages

about2pages
about2pages

about2pages
about2pages

about2pages
about2pages

about2pages
about2pages

about2pages
about2pages

about2pages
about2pages

about2pages
about2pages

about2pages
about2pages

about2pages
about2pages

about2pages
about2pages

about2pages
about2pages

about2pages

74
Sw DevasaCooperativeGame page 75

about2pages

75
Sw DevasaCooperativeGame page 76

AgileOutsideSoftwareDevelopment
Agilesoftwaredevelopment calls forcustomercollabora eachsystem51 in eachincrement.This means that when a
tion.Collaboratingactivelywiththecustomerwillimme projectistrimmedorputonhold,itisalwaysinauseable
diately bring into discussion the company's contracts, state.Itmight happen that the organization never restarts
sales,maintenanceandcommunicationsrelationshipsin theproject,orchanges its direction. These are both valid
otherwords,thewholebusiness.Acompanythattakesthe outcomesofprojectportfoliomanagement.
agilemodelseriouslywillhavetomakeadjustmentsinall There is, of course, one remaining problem: the diffi
thoseareas. cultyinobtainingmeaningfulmarketdatatodecidewhich
Fortunately, the agile approach works well in most featurestomoveforwardintoearlyincrements,andwhich
business environments. Let us look at a series of cases tomovebackordrop.Ihavenotyetmetanymarketana
starting from the software arena and moving outward to lysts who can provide comparative market forecasts for
businessingeneral. productsdown to the feature level. Real project portfolio
managementrequiresthatthemanagementteambeableto
Projectportfoliomanagement. comparecostand benefit numbers at the feature level, in
Any large organization has a portfolio of projects under ordertodecidehowtobestbalancetheiruseofscarcere
way at one time. The management team should balance sourcesindevelopment.
theeffortbeingspentoneachprojectonaquarterlybasis, It probably will take a combined group of senior de
ifnot moreoften.Theyrunintotwo problems: staff spe velopers(toprovidethecostnumbersatthefeaturelevel),
cializationandfindingstoppingpoints. market specialists (to provide the return numbers at the
Inmostcompanies,onepersonbecomes the expert on featurelevel)andcreative management facilitation to en
onepieceofcode.Everytimeafunctionischangedinthat gage the group in discovery of interesting strategies for
piece of code, the organization is dependent on that one development sequences, in order to come up with good
persontodothework. answerstotheproject portfolioquestion.Note,as before,
One of the characteristics of agile development is in the importance of keeping the cooperative game and
creased communication, hopefully with osmotic commu "there'sonlyus"mindset.
nication. In some cases, as with XP shops, programmers CustomerRelations
work in pairs, and change programming partners fre
quently. This means that more people learn to work in Companiesthatdocustomdevelopmentmayhavetrouble
each part of the system. With rotating pairprogramming with agile development because their relationship with
partners,theorganizationcanshiftaprogrammertowork their customers doesn't support the point of view that
onamorecriticalprojectwhenneeded,with(possiblyless "there is no them everyone is us". When the contracted
qualified)peopleabletoworkontheothercode. company proposes that the customer visit the project
weekly to provide input and steer the priorities on the
Even without pairprogramming,it is stilla good idea
project, the customer replies, "But that's what we hired
to crosstrain people on each other's code bases. The un
you to do!" This is a loselose worldview. The customer
derstudy may be less proficient, but will still be able to
doesn'tgetthebestsystemtheycan,andtheprovideradds
carryouttheneededwork.
risktotheproject.
The second problem with project portfolio manage
Experiencedreaderswillrecognizethattheagilemodel
ment should be easier to deal with. With properly exe
ofcustomerrelationshipmatchesthatcomingfromToyota
cuted agile development, the system is put into a stable,
and lean development (toyota 1995?). One would there
shippable state every week, month, or quarter. At those
forehopethatclosecustomercollaborationwouldbeeasy
points, the people on the project can be moved to other
to achieve. However, my reading of the lean literature
projectsasneeded.Thereisadangerofthrashing mov
doesn't make me very optimistic on this score. Toyota's
ingpeoplebackandforthsooftenthattheylosetrackof,
customer and vendor relation model has not penetrated
or interest in, what they are working on but there is at
the minds of most executives even after decades of pub
leastthe optionofrebalancingtheproject portfolio to re
licity and exceptional results. I can only think that every
flecttheorganization'scurrentpriorities.
With properly executed agile development, project
teams will be working on the most valuable features of 51
Seethediscussionofworksequencingstrategies(CockburnCC2005,pp.??)
andtheuseofthe"iceberglist"(CockburnbcURL2004)fora more complete
discussionofthisidea.

76
Sw DevasaCooperativeGame page 77
additionalpushfromtheagilesidehelps.Tomax'sresults wasacaseofconvertingafixedprice,fixedscope,fixed
(see next sidebar) are heartening, because they show that timecontractintoatimeandmaterialscontractonthefly.
customerscanbecomeusedto,andthenexpect,topartici Adangerousbutwonderfulstrategyifyoucanaccomplish
pateinsteeringtheirprojects. it.
Contracts Timeandmaterials
Companiesthatdoworkoncontractarealwaysfacedwith Thisissimplyamatterofpayingforworkasitgetsdone.
the problem of price, scope, and time (this applies to all It is obviously the best format to use if the requirements
industries). Clients oftenwant allthreetobefixed,to re arevolatile.InonecaseIwon'tevencall it a project
duce their own risk. I see only (to date) only a few op the sponsor changed the requirements wildly, even up to
tions: daysbeforedelivery.Thecontractedcompanyalways de
liveredwhatevertheyhadrunningattheend ofthe quar
Fixedprice,fixedscope(andpossiblyfixedtime)
ter, and the sponsor always had complete control as to
Thisoptionistheoldone:Doyourbest,howeveryoudo what was onthe top of the priority list. Over a period of
it,tocomeup withanumberfortheproject.Once inside years,itbecamesimplyabalancedflowofusefulsoftware
theproject,squeezeallthefatoutoftheprocess,usingall inonedirectionandmoneyintheotherdirection..
thebestagiletechniquesyoucanmuster(see"Process,the Ifthesponsortruststhecontractedcompany,thisisthe
4th Dimension" (Cockburn 2005 Pt4D)) to deliver it as simplestcontracttouse.Thedifficultyisthatitrequiresa
well as you can. As far as I can tell, agile techniques do certainleveltrust.Whatsomecontractorsdoistorequest
not change yourabilityto estimatea project. Despite our a trial period. Using the agile approach, they deliver us
most fervent wishes, estimating a project is still a matter able functionality early, and so establish the trust of the
of previous experience, feel, and guesswork. Fixed sponsor for subsequent work (see the house construction
everythingprojectsmakesensewhentherequirementsare exampleonpage95???)
verystable.Theyarealsousedwhenthetwopartiesdon't
Nottoexceedwithfixedfee(NTE/FF)
trust each other, even though there is usually plenty of
leeway for one party to twist the situation to the other's This is the contract method used in the airport construc
disadvantageiftheywant. tion example on page 97???. It presupposed stable re
Fixedprice,fixedscope(andpossiblyfixedtime)but quirements. "Fixed fee" means that the contracted com
collaboratewiththecustomerstoalterscopeanyway panyisguaranteedacertainprofitmarginovertheirmate
rialsandsubcontractors'fees.Thisprotectsthecontracted
Ariskyapproach,Ihaveseenitdonesuccessfullyseveral company in case requirements are reduced or the work
times,twiceforcommercial projects and once for a state goes fasterthanestimated."Not to exceed"putsaceiling
government project. Jeff Patton (Patton 2004) describes onthetotalamountpaidtothecontractedcompany,which
workingcloselywiththecustomersatthestartoftheproj protects the sponsor in case the work goes slower than
ecttoidentifyneeds,wishesandpriorities.As theproject expected. With protection for both sides, both sponsors
proceeded, Jeff made sure they were always working on and contracted company can look for ways to speed the
themostimportantitems.Astheygotclosetotheendof work, and live with unfortunate events. The airport con
thetimeperiodanditwascleartheywouldcomeupshort structionproject on page 97??? used this form with Pay
onfeatures,hemadesurethat theitems left undone were mentonincrementalacceptance.
clearlytheleastimportantones.Thosethecustomereither
Fixedpriceperfunctionpointorstorypoint
forgaveorrolledintoafollowoncontract.
The government contract I tracked was again a fixed Whenthecustomerandcontractedcompanycanagreeon
everything contract. The team worked closely with the aunitofdelivery,suchasfunctionpointsorstorypoints,
users of the system, delivering and installing running, then they can settle on a price for each unit delivered. A
tested, usable software every month. After each delivery, numberofcontracthousesthesedays estimatethesizeof
theydiscussedwiththeuserswhethertocontinuewiththe a project in function points, create a price per function
contractaswritten,orchangedirectionsbasedonwhatthe point delivered, and then have an certified function point
users really needed. I found it remarkably brave of the auditorassess theactualnumberoffunctionpoints deliv
contractedcompanytofollowtheusers'requestsindevia eredinthe end.Thecustomerthenpays thatamount,not
tion,becauseinahostilesponsorshipsituation,theywould the originally estimated amount. This is a nice contract
havebeenatriskofnonpayment.However,theuserbase form, because it encourages the contracted company to
was sohappywiththeusefulness of the functionality de work more efficiently(toincreasetheirpayper delivered
liveredthat thecontractedcompanygot paidinfull. This

77
Sw DevasaCooperativeGame page 78
function point) and it allows the customer to change the monthlyprogresswouldgivethefinanciers abettersense
requirementsalongtheway. ofthestartupcompany'srealprogress.
ThesamecanbedonewithXPstylestorypoint(Cohn Incrementaldeliverywithpaymentonincrementalaccep
2005), except that there aren't any certified story point tance
examiners tojudgethefinalresult.BobMartinof Object
Mentor posted an interesting variant to get around this Thiscanbeusedwitheitherfixedeverythingcontractsor
problem: a base fee per story point, plus a lowerthan the NTE/FF contract. The sponsor expects incremental
usual(closetoorbelowcost)feeperhour.Thisbiasesthe deliveryofintegrated,testedsystems,constructsandruns
contracted company's to deliver early, but gives them acceptance tests at each delivery increment, and pays the
some protection in case work proceeds slower than ex contractedcompanyaftereachsuccessfulincremental ac
pected.BobMartindescribeditthisway: ceptance.Thiswasusedintheairportconstructionproject
"[A]greetopayacertainamountforeach point com (p.97??)andinSolystic'sFrenchPostOfficecontract (p.
pleted, plus a certain amount for each hour worked. 101???). Both project leaders told me that this payment
For example, let's say you've got a project of 1000 schedule has a wonderful motivating effect on the con
points. Let's also say that a team of four has estab tracted company. The requirement, of course, is that the
lished an estimated velocity of 50 points per week. sponsors have an understanding of incremental develop
This looks like about an 80 manweek job. At ment and can make acceptance tests for the incremental
$100/hour this would be a $320,000 job. So lets re deliveries.
ducethehourlyrateto$30/hour,andaskthecustomer Hereis asidebarabout revisitingthecustom contract,
for$224perpoint. byEricOlafsson,theCEOofTomax(whoalsoprovided
This sets up a very interesting dynamic. If the job the sidebar on page 85???). Tomax produces customized
really does take 80 manweeks, then it will cost the retailsystems.
same. If it takes 100 manweeks then it will cost A few years ago, Tomax worked to fixedeverything
$344,000. If it takes 70 manweeks it will cost contracts.Theywere,ofcourse,problematic,sincesome
$308,000.Notice thatthisisasmall difference fora thing was certain to change even within a simple, three
significant amount of time. Notice also that you, as month contract. Eric used the agile model to change the
developer feel strong motivation to be done early, company's relationship with its customers. They now
since that increases your true hourly rate." (Martin writes contracts so that the customer gets early results
2006) through incremental development, and can cancel or
I have not seen that model in action myself, but several change direction after each increment. In exchange, the
peoplehavewritteninrecommendingit. customer promises in the contract to make its experts
Venturecapitalfinancingmodel availabletothedevelopmentteamandtoactivelysteerthe
project'sdirection.
Thiscanbeusedwithanyoftheabovecontractforms.In
The contract converts the customer from "them" to
this model, the sponsor gives a round of financing for a
"us", part of the larger development team. The customer
certainamountofwork,andthecontractedcompanymust
gains early returns and greater steering control. Tomax
produceresultsinordertoget morefunding.Thesponsor
reduces itspricingriskandget betterinput from the cus
cancuttheirlosses atanytime iftheyarenot gettingthe
tomersidestakeholdersandusers.
resultstheyneed.Theycanpresumablyaltertheterms of
thecontractaftereach work period. The result of a work
periodneed not beworkingsoftware it could be a paper
study,orarequirementsdocument,oranythingthespon
sorselects.
Theventurecapitalfinancemodelworkswellwithag
ileproviders,sincetheagileproviderisusedtodelivering
useful,workingsoftwareearlyandregularly.
Ifinditanoddironythattheventurecapitalfinanciers
running startups that I have encountered don't take ad
vantage of their own model to the extent agile teams do.
The venture financiers let the evaluation markers occur
toofarapartintime.Ifthey attached funding to monthly
releases, that would oblige the startup team to think
through what it really can accomplish each month. The

78
Sw DevasaCooperativeGame page 79

about2pages
RevisitingtheCustomContract,byEricOlafsson,
CEO,Tomax
about2pages
about2pages

about2pages
about2pages

about2pages
about2pages

about2pages
about2pages

about2pages
about2pages

about2pages
about2pages

about2pages
about2pages

about2pages
about2pages

about2pages
about2pages

about2pages
about2pages

about2pages
about2pages

about2pages
about2pages

about2pages
about2pages

about2pages
about2pages

79
Sw DevasaCooperativeGame page 80
about2pages

about2pages

80
Sw DevasaCooperativeGame page 81
roundtrip(ref?).Afterthegestaltroundtripiscompleted,
the process exists as an entirety in the mind, can be
IntroducingChangeIntoAnOrganization viewedinternally,andimportantforushere,isabitmore
Introducingchangeintoanorganizationisscaryanddiffi familiarandlessfrightening.
cult.Agiledevelopmentisdoublyscarybecauseitsays:
AnchoringNewBehaviors
First,changethewayyoudothings
Next,keepchanging,forever. The process miniature also creates what sociologist Karl
This puts agile development fully within the topic of in Weick calls a 'small win' (Weick 1975??). Weick found
troducingchangeintoorganizations,averydifficulttopic, that small wins strengthen a group's strength and self
indeed. image. Good groups look for early, small wins to
strengthen their sense of team accomplishment. One of
The noted family psychotherapist Virginia Satir stud
these that system designers use is the Walking Skeleton
ied, among other things, people's reactions to change. A
architectural strategy ("a tiny implementation of the sys
key observation of hers was "if theres ever a question
tem that performs a small endtoend function" Cock
between comfort and familiarity, familiarity will almost
burn2005ccp.55???)).
alwayswinout."(Satir1999).Thatis,evenifthefamiliar
modeisinefficientanduncomfortable,peoplestaywithit. Oneofthesurprisestomewasthatpeoplegetmileage
outofsmallrewards,evenverysmallrewards.Evidently,
TheProcessMiniature thesealsocountassmallwinsinthemindofthereceiver.
A useful corollary of that observation is that things are Iwas onthereceivingend ofthis technique onetime:
easier the second time they are more familiar. This Acolleaguevisiting myhousesaw how myassistant had
shows onepossiblewayout ofthe unfamiliarity trap: the createda"project wall" showing all my ongoing projects
ProcessMiniature(CockburnCC2005). andtrips.Hesaid,"Wow,that'sgreat!Here,I'llgiveyoua
quarterforshowingmesuchagreatidea."Afewminutes
Aprocessminiatureisnothingmoreorlessthangoing
later he found something else that he liked and gave me
throughthenewprocedureinasshortatimeaspossible:a
another quarter. I found myself irresistibly drawn to of
minute,15minutes,anhour,adayor a week, depending
feringhimideasandlookingtoseewhichhethoughtwas
ontheprocess.
worth his little token offering. I managed to get six of
We can work through a simple example of the plan
thosequartersbytheendofhisvisit,andIstillkeepthem
ning game (XP planning game ref???) or the blitz
inaspecialplaceasamemoryofhisappreciation.
planning technique(CockburnCC)in15minutes.
Inthe"ExtremeHour"game52 peoplerunthroughtwo You might not thinkthat atokenas small as a sticker
iterationsofXPinonehour.Thereisaonehourver wouldhaveanyimpact onpeople's behavior, but justthe
act ofgivingandreceivingatoken ofappreciationorac
sionusedinshowingpeoplehowScrumworks.Icre
complishment has meaning to the receiver. Here is Kay
ated a theatre piece of Crystal Orange Web (see p.
???),runningthroughtwoiterationsofdeliveringreal Johanssen'sstoryofusingstickerstohelpcreatechange:
codeontheirsystemplatformin90minutes53. Creating Change with Stickers, by Kay Johans
In my usecase course, I run a onehour process sen,TestManager
miniature of gathering use cases, from defining sys
tem scope to stakeholders' interests, naming all use Ourcompany's product was a variety of internet services
cases,andwritingdefiningoneusecases completely, not amenable to commercial automated testing tools, so
toshowhowallthepartsoftheprocessfittogether. we needed a programmingintensive approach to auto
Onecompanyhad every new employee go through a matingthetests.AsTestManager,Iputtogetherateamof
full development and deployment cycle in one week fivetesters,mostofwhomhadsomecodingbackground.
to learn their company's process. After having com Frustratingly, we made no progress on automation.
pleted that initial miniproject, the new employee Everyday,wecametowork,intendingtoprogramanew
couldbeplacedonanyproject,inanystageofdevel automated test, but we could always see the backlog of
opment, and would have an understanding of what material that needed testing right now, manually. Being
wasgoingon. goodcitizens,weperformedthosemanualtestsinsteadof
Going through a process miniature creates in the mind startingprogramming.
whatGradyBoochneatlybutmysteriouslycalledagestalt I knew something had to be done, or we'd never get
ahead of this mountain of manual work. Since we were
52
runningiterations withXPlike "stories,"Icreatedstories
http://c2.com/cgi/wiki?ExtremeHour
53
http://c2.com/cgi/wiki?ExtremeHourWithActualProgramming for a test framework. After a few iterations, we had

81
Sw DevasaCooperativeGame page 82
hacked together a framework and about three tests. That
was as far as it went for a while. The mental switch re
quiredtofigureouthowtowriteeffectiveautomatedtests ALargeChangesisManySmallOnes
seemedtoogreat.Andthemountainofmanualtestingwas If people are afraid to make small changes in their
alwaysthere. habits,theyaremoreafraidoflargechanges.
My first strategy was posting posted a large, visible MikeCollins,anexpertatleandevelopment,addressed
chart with the number of tests on it. The number was this problem in an interesting way at the O.C. Tanner
three. Manufacturing Company in Salt Lake City (see the next
I waited for it to increase. We made little progress sidebar). In reading the sidebar, you many note that his
during the next couple of months. Interest seemed low. I method draws on Satir's idea of growing familiarity and
created stories for writing tests, and the team would Weick'sideaofsmallwins.
sometimes obligingly force a test out, or as often as not, Mikeunderstoodthatifheshowedupattheircustom
fail to complete their automated test story because they awardsmanufacturingfactorywithadesignforatenfold
spent extra time doing areally good job on their manual improvement in their system, he would encounter resis
testing stories. They were looking out for the customers, tance from employees and management. Instead, he cre
and I couldn't criticize them for that. Still, something atedanewproductionareawithaminorset of modifica
neededtobedone. tions,fromwhichtheygotanoticeablebutnotrevolution
Onedaywhileatthegrocerystore,Inoticedapackage aryimprovement.Hepostedtheresults,reflectedwiththe
of shiny stickers, I think they were colored stars. On a peopleinvolvedaboutpossibleimprovements,andcreated
whim, I bought the package and took it to work. At the a second trial production area that was both smaller and
start of the next iteration, I announced that anyone who faster.
completed an automated test would get a sticker. That WhenIfirstvisitedO.C.Tanner,theywereusingtheir
caught their interest. After they finished laughing, they thirdnew production area.The original and the first trial
signedupforthefewautomatedteststories withalacrity. productionareaswerestillinuse.Thenewoneusedabout
My impression was that they finally felt they were not aquarterofthefloorspaceoftheoriginal,andfilledcon
being perceived as "selfish" if they signed up to write tractsinaboutathirdthetimeoftheoriginal.
automated tests they had permission to do what they Atthetimeofthis writing,the entirefacility has been
wantedto do anyway. Even better, they were competing, convertedtofourthgeneration'minifactories'astheynow
playingthegame! callthem.Productionlead times have been reduced from
Overthenext few weeks,thechart of automated tests over18daystoabout6hours,withathreefoldincreasein
shotup,eventhoughtherewereno"prizes"for"winning" efficiency.Withthesmallerfloorspace,productionwork
andnoconceptofanenddateorfinalcounting.Theteam ersgetosmoticcommunication.Aninformationradiatorat
wasenergizedandenjoyedaspiritoffriendlycompetition theentrancetotheirproductionarealetsthemandtheir
andcooperation.Ididnothing morethancount tests and managers see what is being worked on as well as the
handoutstickers. productivityeffectsoftheimprovedsystem.Theyexpect
Someteam members collected stickers on their moni todoubletheirefficiencyagainduring2006.
tor for all to see. Others pasted them on 3 by 5 cards so What I found impressive was not so much the im
theycouldcarrythemtomeetingstobettershowthemoff. provements the team had made (which Mike might have
Thetesterwhohadnocodingexperiencegotalotofhelp. been able to accomplish from his prior experience and
..andendedupwiththemoststickers. lean manufacturing theory), as his patience in working
Before long, an online, automatically updated, full through a sequence of small changes and victories rather
colorchartreplacedmyhanddrawnbigvisiblechart.Test thangoingforonebigwin.Inoteinparticular:
problems and framework problems got solved quickly. Eachprocessgotgoodenoughbusinessresultstopay
Soonwehadarobustframeworkthatevenincludedatest foritselfasitproceeded.
scriptrecorder. Sincetheworkersintheproductionareawereinvited
Theteam grew confident, and set a goal for 550 tests to help set the direction of improvements, there was
bytheendoftheyear,whichtheyeasilyachieved. betterbuyinfromtheworkers.
I eventually stopped handing out stickers, but the en Both management and workers get usedto having an
ergy and confidence continued. One year later the team evolvingproductionprocess as a normal part of their
hadwellover1,000automatedtests. workingclimate.

82
Sw DevasaCooperativeGame page 83
Mike and I both noticed that he would almost certainly
have met too much resistance to succeed if he had pro
posedthethirdorfourthlayoutattheverybeginning.
Noticeinthebusinessliteraturethefrequentreportsof
a company achieving breakthrough results by making
manysmallchangesandreflectingonthosechanges.The
latestIreadwas about the Outback Steakhouse soliciting
ideasfromemployees,tryingthem out inselectedrestau
rants,andthendecidingwhichonestofranchise.
Theseideastendtocomefromwithintheorganization,
ratherthanfromanoutsider.This is the "wearetuningit
for us" principle, something I consider a critical success
factorfortheadoptionofnewprocesses.
There is one other factor that assists in installing
change:athreat tothecompany'ssurvivalfroman exter
nalsource.Thisiscoveredinthenextsection("Program
mersReadtheHarvardBusinessReview").

83
Sw DevasaCooperativeGame page 84
department to department. Most employees focused on
theirsingleskilljoband few of the employees made any
Lean Manufacturing at O.C. Tanner, by Mike suggestionsforchangeandevenfewereverparticipatedin
Collins, Vice President Lean Enterprise Devel anychangeeffort.
opment,O.C.Tanner To make the progress realized to date has required
The O.C. Tanner Company produces and ships about severalcriticalchanges:
9,000 employee recognition awards a day. Our work can Teams hadtobeimplementedinwhichthecollective
bestbedescribedasmasscustomization,inthatwepro creativethoughtofallcanbeharnessed.
videseveralmillioncombinationsofawardswithanaver O.C.Tannerwentfrom28productiondepartmentstoone
ageordersizeof1.3awardsperorder(91%oftheorders department of 11 teams. Each team is in and of itself a
areforoneaward). selfdirected minifactory capable of producing every
Five years ago, we started down the lean manufac awardcombination.
turingtrack.Overthosefiveyears, Working as a team member is not natural for those
the time from when an order is placed until we ship coming out of many of todays school systems. Think
thefirstpiecehasdroppedfrom18daystosixhours, aboutit.Schoolislargelyaboutcompetition,aboutgetting
qualityhasrisenfromalowof80%to99%, the best grade. It means that there must be both winners
ontimedeliveryhasrisenfromalowof60%to99%, andlosers.If,however,ateamistobesuccessful,thefo
cusmustchangetomakingeveryteammemberawinner.
workinprocess (WIP) has dropped from almost
500,000piecestolessthan6,000. Working as a team member requires that we greatly im
prove many of our skills, such as our communication
WIP used to be so large partly because we used large skills.Thischangeinthinkingisnotaneasychange.
batchsizesbetweenstations,butalsobecauseweranpro
Management had to move out of the management
duction quantities at 10% or more over the actual order
mindsetandmoreintoamindsetofleadership.
quantitytocompensateforthequalityproblems.Thelarge
WIP meant we had people working fulltime to move, Thejobofmanagement jobisnow muchlessofthe day
find,expediteandotherwisemanagetheWIPpieces. today management of work and much more one of fa
cilitating,teachingandsupportingtheeffortsoftheteams.
To measure our production improvement, we use a
QualityEfficiencyDelivery (QED) metric that averages The first change to managements thinking was to
improvementsinquality,efficiency,and ontime delivery learn that teams not only can, but most often will make
of the current year over the previous year. The improve better decisions than the manager. Most decisionmaking
mentscorewas34%ineachofthelasttwoyears.Thisisa and creative improvement therefore had to move to the
notableachievementgiventhatcurrentperformancelevels teammembers.
withbothqualityandontimedeliveryarenear99%,with Because the manager often has had greater experi
efficiencynearly3timesbetterthanitwas5yearsago. ence,heorshewillseethattheteamonoccasionis mak
Even though virtually every system, process and ingamistake.Itisleadershipthatallowsthemistaketobe
practicehasbeenrethought,themostcriticalaspectofthe made,recognizingthatwelearnmostlyfrommistakes.
change has been a change in how the people think about Soundjudgmentisofcoursenecessary.Themanager
theirjobs andthecompany.Changingpeople and culture must balance the potential learning that comes through a
is much more difficult than changing systems, processes mistake with the potential damage to the company. This
andpractices.Infact,toeffectivelychangesystems,proc changeinthinkingisalsonotaneasychange.
esses and practices requires that people and culture be Team members had to learn multiple job skills, and
changedfirstoratleastinparallel. were expected to participate in the many of the im
Most of the employees had been with the company provement efforts of the company. Most employees
formanyyearsandwerewellentrenchedintheroutinesof rotatebetweenassignmentsduringtheday.
their work. The company was reasonably profitable with Astheteammembers learntodothis,theyfindthat they
good employee benefits and few saw any reason for aremoreselfmotivated,moreinvolvedandmoresatisfied
change. withtheirworkexperience.Thejobsarelessmundane.
Initially,productionconsistedof28departmentswith Almost all of the employees will tell you that they
each department working more or less independently of wouldnevergobacktotheoldsystem.
the others. Within each department, employees generally Trainingwasakeyfactor.
had only a single or perhaps two job skills. Work was Trainingmeantnotonlyjobskilltrainingbutalsotraining
passed in batches from employee to employee and from in many other areas, such as team skills, communication

84
Sw DevasaCooperativeGame page 85
skills,creativeproblemsolving,coaching,conflictresolu
tion, etc. Training included handson efforts at making
improvementsandsolvingproblems,and eventheunder
standing and use of statistics, which is very often neces
sarytothemakingofgooddecisions.
Atfirstonemayevenquestionthewisdomofmaking
thesechanges.O.C.Tannerislearning,however,thatitis
onlywithtimeanditisonlybydoingthatanorganization
canbegintoseethebenefitsofstayingontheleantrack.
The change rate at O.C. Tanner is accelerating. We
expect efficiency to double again in the next 12 months.
Leadership,insteadofcontinuallypushingthecompanys
employeesformore,isnowfindingitselfinapositionof
not being able to support or even stay on top of the
amount ofchange nowtakingplace.It is an enviable po
sition.

85
Sw DevasaCooperativeGame page 86
weekly conference calls among the top executives
aroundthenation.
ProgrammersReadtheHarvardBusinessReview
Alert readers will recognize all of these as staples of the
An odd cultural shift has been the increasing number of agileapproach.
programmers and testers who are reading the Harvard Inotedtwomorekeypointsinthearticle,thefirstcon
Business Review (HBR). This is a direct consequence of cerninghowlongittakestogetaculturalchangetostick,
theirwatchingthebusinessconsequencesoftheirfrequent andthesecondabout theimportance of suggestions from
deliveries andtheirprioritization choices. Enough techni insidetheteam:
calleadshavewrittentometoalertmetosomearticlein "AyearandahalfafterNardellitookoverasCEO,he
theHBR that I ended up subscribing to it myself, just to andDonovanknewthattherestillwassignificantop
keepupwithwhattheagiledevelopmentcommunitywas position within the organization to the changes they
discussing. weremaking."
Asasampleexample,theApril2006issue(thetimeof "Assuming the rate of change is more or less right,
thiswriting)containstwoarticlesrelevanttothetopicsin how do you make it stick? . . . Where possible, get
thisbook. people affected by a change to help define the prob
Ram Charan's article, "Home Depot's blueprint for lemanddesignthesolution."
Culture Change" (Charan 2006) details Home Depot's Notehowsimilarthesepointsare to those raised by Eric
massiveculturalchangeprocess as it went from a decen OlafsonandMikeCollinsintheirsidebars.
tralized, entrepreneurial set of stores that could not or ThesameissueoftheHBRheldanarticleaboutglobal
would not collaborate, to a centrally orchestrated set of localization(Rigby2006):
storesthatdidcollaborate.ThenewCEO,RobertNardelli,
"Standardized offerings discourage experimentation
wasbroughtinfromGE exactlyto makethat sort ofcul
andareeasy forcompetitorsto copy . . . Customiza
turalchange. tionencourageslocal experimentation and is difficult
Nardelli had one force on his side their competitor, forcompetitorstotrack,letalonereplicate.Whenwell
Lowe's,wasgainingquickly,anditsoonbecameclearthat executed, location strategies can provide a durable
Home Depot's survival was at stake. Nardelli used that competitive edge for retailers and product manufac
forceto make manychanges veryquickly.While hard, it turersalike."
hadtheadvantagethatresultsalsoshowedupquickly. "...successfullocalizationhingesongettingthebal
When people complained about the pace of change, ance right. Too much localization can corrupt the
Nardelli was able to answer back, "Good point. Give me brand and lead to ballooning costs. Too much stan
fiveminutes.I'mgoingtogocallLowe'sandaskthemto dardizationcanbringstagnation..."
slowdownforus." The recommended strategy is to standardize within a re
This sort of external threat helps a lot in installing latedcluster of situations, and localize separately in each
change. cluster.
Keytotheirchangeprocesswastheinstitutionofmet Thisstrategymatchesthediscussionearlieroftailoring
rics.Ifounditinterestingtoreadthatmetricswereusedto methodologies toprojects(see "Methodologies across the
increasecollaboration,the"we'reallus"mindset: organization",page24???).
"At the same time, the metrics made clear and rein Several organizations I have visited came to the con
forced the collaborative behavior and attitudes that clusion that they could benefit from three base method
Nardelli and Donovan wanted to encourage. ologies (for each major project type they encountered),
. . . Companywide metrics also provided a platform andtheyshouldthentunethebasemethodologylocallyon
forcollaboration." the project. This allows them some scale advantages and
They used the metrics to show that they made a greater sometailoringadvantages.
profit when working together than working separately or TherearetwopointsIwishtodrawfromtheabove:
competingamongstthemselves. Modern agile programmers do care about how their
Theyinstituted work influences the organization, and are studying
anannualstrategicconference, business management withintheirprofessional devel
learning forums for managers in which they ran opmentasprogrammers.
simulations of various collaborative and competitive Agile development practices are applicable to busi
strategies,and ness management life in general, and vice versa, as

86
Sw DevasaCooperativeGame page 87
evidenced by writings in professional business writ the various choices. The contractor cut in with, "Why
ings. don'twe justruna giant beam right down the center and
hold the whole thing up while we excavate?" Note here
Houseconstruction
theapplicationofthe11th principleoftheagilemanifesto:
Manypeoplearguethathouseconstructionisn't(oris)like "Simplicitytheartofmaximizingtheamountofwork
software development. Since I have been making exten notdoneisessential."(seep.371???)
sionstomyhouseforseveralyears,Inowhavesomefirst
The architect adopted the suggestion, and after that, the
handevidencetooffer54.
architect, the contractor and the construction crew had
You can probably imagine how I would go about excellent conversations that merged their best ideas. To
making house extensions. They should be done incre this day they always trade construction ideas back and
mentally, using timeandmaterials (trustbased) plus forthalongwithhowthosemightchangethedesignofthe
venturecapital (cut your losses) funding, and in a close houseitself.
collaboration with both the architect and construction
Asurprisehitusonthefirstdayofconstruction.They
contractors.Youwouldberight.
knockedaholeintheconcretewallwheretheyweregoing
Inourfirstconversation,thearchitect suggestedcreat toexcavate,peekedin,anddiscoveredthatthebeamsun
ing a "master plan" of all the desired changes, and then derthatpartofthehouseranperpendiculartothosewhere
doing the work incrementally. I declined, because I was theyhadlookedunderthehouse.Thisruinedtheirplanfor
prettysurethat wewouldchangetoo muchfortheinitial thesupport beams, and showed that once again, civil en
plantohave meaningbythehalfwaypoint, andit would gineering is ahead of software engineering. It usually
endupbeingawasteofmymoney.Aseventstranspired,I takes software teams a week or two to invalidate plans.
wascorrect. Thesepeoplewereabletodoitwithinhours.
Wechosetoruneachideaasastandaloneproject,but AsweprogressedIquicklynoticedthat thecontractor
were careful to ask at each key moment, "If we were to keptchanginghis"fixedprice"bidfortheproject as new
extendin[someparticularway]nextyear,howwouldthat information appeared. I finally suggested we drop the
affectourdecisionnow?"Surprisingly,wefoundnocases fixedprice faade, and just work to time and materials.
where the future choice affected the present decision, in His reply surprised me: "If you are willing to carry the
cludingputtingapartialbasementunderthehouse. extrarisk,thatwillbefinewithus."Isaid,"Idon'tseeany
Our first project was to put a basement under our extra risk. You'll just change the price whenever some
house55. This turned out to be easier than expected, be thing changes anyway." He said, "That's true but most
cause our house was built on short stilts, to provide an peopledon'trecognizethat."Inexchangeformyaccepting
insulatingaircushionovertheground. the"extrarisk,"heloweredhisprofitmarginfrom13%to
Ratherthanexcavatethe whole basement, we decided 10%.Weeachfeltwehadbenefitedfromthischange.
to excavate only 1/3 of the basement. This gave us the Withthenewcontractinplace,hiscrewwasabletodo
basement entrance we needed, and left open the question anynumberofothersmallprojectsforus,suchaschang
whether we would extend the basement or build a side ing the kitchen counters, adding closets, and fixing the
wing to the house (in the next project). We learned that fence around the yard. Neither these, nor the other usual
there would be no cost savings for excavating more than surprises,twistsandturnsontheprojectworriedeitherof
weneedednow,evenifwechosetoexpandthebasement usanymore.
later.TheXP communitycalls this the YAGNIprinciple, Inoticedwithsomeinterestthatheandhiscrewhelda
for"YouAren'tGonnaNeedIt".Weexcavatedonlywhat daily standup meeting56 each morning to set their day's
weneeded.Threeyearslaterwestillhavenoplanstoex work goals. In this short meeting, they checked that they
tend the floor space, either above or below ground. knewwhattheywereworkingon,andhadthematerialsto
YAGNIisholding. getitdone.
Thearchitectandthecontractorlookedunderneaththe The project came to a successful conclusion, and we
housetoseehow to support the house while digging un gaveasmallbonustothecontractorandtheworkers.Un
derneath it. The architect launched into a dissertation on beknownsttome,ourpromptpaymentsmadeuspreferred
customers,whichprovedusefulforthenextprojects.
54
Yes,Iknowthisisnotnew house development. I know others who use the
The second project was to sculpt the yard, move in
Walking Skeleton (Cockburn 2005) and related agile strategies even with new stone slabs and do some general landscaping. Although
housedevelopment.
55
thiswasa"minor"project,thecontractorwasdelightedto
Iamtoldthatpeopleusuallyputthebasementin first.Puttingit inlast isan
unintended but amusing echo of the XP strategy to plan a project as though
56
featurescanbeimplementedinanyorder. PartoftheScrummethodology(Schwaber2005),alsousedinXP.

87
Sw DevasaCooperativeGame page 88
help.Hesentdiggingandmovingcrewstohelpwhenwe planningtechnique, and he said, "Oh yes, that's what we
neededit,andevenoperatedmachinerywhenhiskeymen do."
wereill.Thiswaspart ofus beingpreferredcustomers,a Atthebeginningoftheproject,hecollectsthesubcon
rollforwardbenefitfromthefirstproject. tractorsinaroom,andhasthembrainstormtheworkthey
The third project was to add a twostory porch to the willhavetodo.Theywritetheirtasks andtime estimates
sideofthehouse.Atthispoint,weweregladnot tohave on sticky notes, and post them on a large wall. They se
doneamasterplan,becausethis addition was completely quence the tasks on the wall until they have a sensible
differentthananythingwehadoriginallyhadinmind. startingworkingplanthatshowsbothtasksanddependen
By now, there was trust and good communications cies.Someonetranscribesthecontentsofthewallintothe
between the architect, the contractor and us. The small computerafterthesession.
wins with reflection, the venture capital funding model, IaskedJoewhetherhe hadanotion ofearlyintegra
thewillingnesstodancewiththesituation,wereallpaying tion in his project, and how he would motivate sub
off. The contractor passed along our preferred customer contractors to do that. He said they did do that, that
rating to his suppliers, so we got extremely fast service. the subcontractors get paid at integration milestones,
Healsotookituponhimselftoseethattheygaveusgood andthecashflowmotivatesthem.
rates,sowesavedmoney. Inreplytomyquestionaboutcontracts,heintroduced
Sincewecontractedbytimeandmaterials,itwasnatu me to "nottoexceed plus fixedfee" contracts (see
ral to have the subcontractors do additional projects "Contracts", page 91???) "Not to exceed" means that
aroundthehouseasweneededit.Thefinalbillforallthis thesubcontractorpromises not to exceedacertain fi
extrawork was muchlowerthan it would have been had nalamount."Fixedfee" means that the subcontractor
wecontractedeachoneseparately. is guaranteed a certain profit if the work takes less
Whilethecontractorsare finishing the side porch, the timethanexpected.Thus,thesubcontractor'sprofit is
architect is starting on a redesign of the front porch. His protected,andtheairport'sspendingbillisprotected.
designis quitedifferent than what heoriginally proposed I asked him about the agile notion of exposing bad
whenhewasenamoredofhismasterplan.Thatisbecause news early how would he get subcontractors to re
we nowhaveall the other major changes to the house in veal their problems early? He said that incremental
place,andhecanseehowtotiethemtogetherinthefront funding motivates them to integrate their work, and
approach. also to seek help when they ran into trouble. An ex
amplemightbeaninternationalshortageofsteel.
Thepointofthislongstoryistoillustratehowtheles
sons from agile software development transfer to a com I was concerned that even with those, subcontractors
pletely different field. Incremental development, archi arenot usedtoexposingtheirproblems tothepeople
tectural changes, daily standups, YAGNI, timeand hiring them, and it must take some time to get them
material contracts, venture capital funding, customer in used to it. He highlighted that he, as project coordi
volvement and steering, small wins, process miniature, nator, had to deliberately build a climate of trust
and developing collaboration and trust each of these withintheteam,sothattheywouldrevealtheirprob
proveduseful. lems.
Note the similarity of his working style with that de
Airportconstruction scribedinthediscussionofpersonalsafetyintheCrystal
There might be those of you who think that house con Clear(Cockburn2005,p.50?):
struction is too easy.Iwas delightedto meet an architect Skillful leaders expose their team members (and
who uses the agile processes in airport design and con themselves!) to these situations early, and then dem
struction. onstratewithspeedandauthenticitythatnotonlywill
OnaflighttoBoston,IsatnexttoJoeWolfe,whoan damagenotaccrue,butthattheleaderandtheteamas
swered,inreplytomyquestionabouthisoccupation,that awholewillacttosupporttheperson.
hedesignsairportterminals(TerminalEinSaltLakeCity One projectleader57 told me that when a new person
and the new Delta terminal at Logan Airport). Not being joined herteam,she wouldvisitthatperson privately
abletoresist,Iaskedhowheworked.Hisreplyastonished todiscusshisworkandprogress,and waitforthein
me,becauseherecountedalmostpointforpointtheCrys evitablemomentwhenhehadtoadmithehadn'tdone
talClearmethodologyexcept hewas doing it withsev ordidn'tknowsomething.
eraldozensubcontractorsonairportterminalconstruction!
IshowedhimmydraftofCrystalClear,includingtheblitz
57
ThankstoVictoriaEinarssoninSweden.

88
Sw DevasaCooperativeGame page 89
Thiswasthecrucial momentto her, because until he on what counted as a mistake versus what to leave as
revealedaweakness,she couldn't demonstrateto him author's style, the number of marks she had to make got
that she would cover for him or get him assistance. smaller, and the number of corrections I had to make to
She knew she was not going to get both reliable in her corrections got smaller. This was an improvement
formationandfull cooperationfrom him until he un overtheusualmode,inwhichthecopyeditormarksupthe
derstoodproperlythatwhenherevealedaweaknessor entire manuscript,andthentheauthorhas to unmark any
mistake, he would actually get assistance. She said partsthatarestyleinsteadofmistake.
thatsome people gotthe messageafter her first visit,
while others needed several demonstrations before
Onthefinalday,wemetatthehouseofthepage lay
openingup. out person. We several times found ourselves working
aroundanawkwardcolumnbreakandcorrectingsentence
I was stunned by Joe Wolfe's account of designing and structureatthesametime.Withallofus sittingtogether,
buildinganairport,asitdidn'tmatchmypreconceptionsat
sometimesIwouldreviseasentencetomakeitfitbeforea
all.Asafinalquestion,Iaskedhimifthiswayofworking columnbreak,sometimesthelayout personwouldreduce
wasnormalintheairportdesigningindustry.Hesaid,no,
theinterlinespacingbyasmallamounttomakethe extra
it wasn't, but he couldn't see how anyone could work in
linefitwithintheverticalspace.
anyotherwayandgettheterminalcompletedontime.He
addedthathehadbeenworkingthis wayforseveraldec This experience with book production taught me sev
ades, and his clients were so happy that he never had to eralthings.
lookforwork. Agile development practices work very well with
book production. We reduced production time from
Bookpublication fourmonthstothreeweeks.
Finally,onecanapplyagiledevelopmenttobookpub Thecopyeditorwasnevercomfortablewiththeproc
lication. I did this for the first edition of this book. The ess we used. One reason was that she never knew
normalbookpublishingprocess takes about four months. what state the book was in at any point in time (she
Since we had onlytwo months before the conference an was not accustomed to the high flux). However, I
nouncingthebook,Iaskedtomanagethepublicationpro came to realize that one of her pleasures in life was
cessmyself,usingtheprinciplesinthisbook. sittingdownwithapapermanuscriptandapotoftea,
and havingaquiet morning marking up the text with
The first thing I did was to select people all living in
herpencil.Workingonline, working one chapter at a
SaltLakeCitytheclosestIcouldgettofullcollocation.
time,andrunningouttomeetingswiththeauthordid
In a normal production process at that time, the manu
not suit her working style. (Does this sound like any
scriptwouldbemailedinpaperformfrompersontoper
programmersyouknow?)
son,withpencilmarksonitforchangestobemade.These
days,themanuscriptismarkedelectronicallyandemailed, There was an extra cost to working the way we did.
butthatonlypartiallyimprovesthematter. When she submitted her invoice, she wrote that the
invoicewashigherthansheoriginallybidbecausethe
HavingeveryspecialtylocatedinSaltLakeCityisnot author made last minute changes that cost her time,
yetosmoticcommunication,butatleastwecouldallmeet
andalsobecauseofthe extrameetings she had to at
at someone's house to discuss the manuscript. Naturally,
tend. (Does this sound like any programmers you
weusedelectronicmarkupandemailinsteadofpaper. know?) This matches the prediction of the economic
Thesecondchangewastoworkincrementally.Mostof model in Chapter 4 (p. ???). That model shows that
the editors I have encountered like to mark up the entire concurrentdevelopmentshouldbefasterbutmoreex
manuscript in one pass.This is largely a consequence of pensive than sequential development. We worked
people working separately across large distances. Know aboutfourtimesfasteratabouta10%costincrease.
ingwewouldmeetperiodically,wearrangedtobuildeach Finally, not everyone enjoys iterative and concurrent
chapterseparately.Imadeadependencygridmarkingthe development.Atonepoint,whenthecopyeditorwas
workneedingtobedonebyeachpersonsothat theillus resistingmeetingmetodiscussthe markup,Istarted
trator could work at a different pace and on different explainingthebenefitsofourgettogether.Shecutme
chaptersthanthecopyeditorandthepagelayoutperson.I off, saying, "I know I'm editing that chapter!" She
allocatedacertainnumberofreworkcyclesforeachper was happy afterwards to go back to her paper manu
son.Thisway,eachpersoncouldbebusydoingtheirwork scriptsandpotofteaandputagilebookproductionin
asindependentlyaspossiblefromeachotherperson. herpast(forthetimebeing!).
Imet withthe copyeditoraftershe markedupeachof
the first several chapters, so we could synchronize the
styleandnatureofthechanges.As weformedagreement

89
Sw DevasaCooperativeGame page 90
Conference Organization and Limits of the Agile We compared the feedback comments to the original
Model vision, and decided whether it was our vision or just
our implementation of the vision that needed correc
Icanthinkofonlytwoenvironmentalfactorsthatlimitthe tion.
applicabilityoftheagile model: distributedteams andin Some of the people organizing the following year's
abilitytouseincrementaldevelopment. conferencesataroundmyhousewithourfeetup(and
Distributing the team slows communication and feed some beer in hand), discussing the differences be
back, which makes it more difficult, though not impossi tween software development and conference organi
ble,tousetheagileapproach.Thiswasdiscussedatlength zation.Wewantedtoseewhatmightbedonetocopy
in"Agileteamsmustbecollocated"onpage39???.When intoconferenceorganizationwhatweknewworkedin
workinginadistributedteamsituation,morecaremustbe softwaredevelopment(noticeouruseofafacetoface
placedonfollowingtheagileprinciplesingeneral. settingandarelaxedatmospheretosparkinvention).
Any situation in which incremental development can't We decided to collocate most of the conference or
be done loses someofthebenefitsof the agile approach. ganization committee. We established the idea of a
Spaceexplorationisone. "designepicenter"fortheconference.Thedesignepi
Theincrementalversionofputtingamanonthemoon center could be in a different place than the confer
would be to put his foot on the moon in the first space ence.Thatwouldallowustochooseageographically
shot, and then to add other parts of his body and equip constrainedregionwherewecouldfindalltheneeded
mentonsubsequentspaceshots.Clearlythatdoesn'tmake track chairs. We selected London as the design epi
sense. What we employ instead is use of iterated proto center for 2004, and Silicon Valley as the one for
types:putting a whole man in orbit, putting a man and a 2005.
craft around the moon, and then, finally, ten years later, The Londonbased track chairs met periodically at
puttingawholemanonthemoon. pubs to discuss ways to better integrate the different
Notethatalltheotheragileprinciplescanbeusedeven conferencetracks.Iattendedafewofthese,andeven
inspaceexploration. I was surprised at the number of new, ideas that
Possiblythemostdifficultsituationtotrytoapplythe showed up at each meeting. The group made more
agile model is in organizing a conference, particularly progressinasingle eveningtogetherthaninamonth
with volunteers (as is often the case) located in different of emails. (The ideas were surprises that they made
parts of the world (as is often the case). There are no it suchprogress was not it was whythey met at pubs
erations, there are no increments, there is no opportunity inthefirstplace.)
forfeedback,therearenouserstogetfeedbackfrom. Oneofthebetterinnovationswastoborrowfromthe
Here is our story from organizing the Agile Develop apprenticeship model. We decided that the following
mentConferenceof2003and2004,andhowwe"ateour year'strack chairs would work as understudies to the
ownagiledogfood." Londongroup.Then,whenit was theirturntoact as
Beforewepitchedtheconferencetothefirstpotential trackchairs,theywouldcometothetopicwarmedup,
hosting group in 2001, we created a vision statement understanding the thoughts that had gone into the
for the conference that stated why a new conference variousdecisions(thisisborrowingfromPeterNaur's
shouldcomeintoexistenceandhoweachpartofitfit theorybuildingmodel,seeAppendixA).
into the overall purpose (ADC2003 URL). Clear vi Alessonfromthefirst ADC was that even the Open
sion statements are part of aligning teams. They are Spacesessions(Owen1997)weretooformalforwhat
core to agile projects because they allow people to weintended.Peoplestillenjoyedtheconversationsin
movefast,inharmony,andwithlessbureaucracythan the hallway the most. We therefore created the posi
otherwise. tionofHallwayChair.Thispersonwastoseethatthe
We recognized that while incremental and iterative hallway itself could maximize communication and
developmentaren'tmeaningfultotheorganizationofa community. The things we decided as crucial in the
single conference, they are meaningful to the organi HallwaySessionwere:
zationofanannualconference.Wethereforerannu ahallway(don'tmove it intoaroomandgiveit a
merous reflection and feedback sessions, starting on sessionname),
the last day of the 2003 conference. We collected coffee(makesurethe hotelstaffneverclearaway
from both attendees and organizers what they would therefreshments,but makesuretheyareavailable
liketokeepthesameorchangeforthenextyear. andfreshallday),

90
Sw DevasaCooperativeGame page 91
tableswhereprogrammerscouldsitandshoweach
othertheirspecialtricksandinterests,
lotsofbutcherpaperandwhiteboardsforpeopleto
drawonwhilestandingaroundandtalking.
The Agile Development Conference somewhat typically
became the victim of a hostile takeover and was merged
withacompetingconference.Manyinnovationswerelost:
the idea of a design epicenter, the apprenticeship model,
the use of a vision statement, the reflection workshops
followingtheconference.As predictedinthecooperative
game model, with the change of team came a loss in the
understandingofwhatmadetheconferencespecial58.
While I feel sad about the loss of ADC's innovative
ideas and vision, all the above is to be expected in busi
ness, whether agile or otherwise. It is partially satisfying
toseethatthetheorypredictsproperly.
Icatalogtheseideashereincasesomeoneelsehasoc
casiontousethemintheirownconferencedesign.

58
The continued presence ofToddLittlekept most of theconference structure
together. Todd helped design the first ADC, chaired the second, and then
chairedthefirsttwoyearsofthemergedconference.IfToddhadnotcontinued,
muchmorewouldhavebeenlost.

91
Sw DevasaCooperativeGame page 92

6'
TheCrystalMethodologies:
Evolution
Crystalismyconsideredeffortto construct apackageofconventionsthatraisesthe
oddsofsucceedingintheprojectandactuallybeingused.
ThebigshiftsincethefirsteditionisthecompletionofCrystalClear,theversionfor
small, collocated teams. Since Crystal Clear is described at length in its own book
(Cockburn2005cc),whatbelongshereistosharetheinsightsIgainedintoCrystaland
agilemethodologiesingeneralwhilewritingthatbook.Thoseinclude,Crystal'sgenetic
code,installingCrystalClear,stretchingCrystalCleartoYellow,andnewtechniques.

92
Sw DevasaCooperativeGame page 93

6'THECRYSTALMETHODOLOGIES:EVOLUTION ........................................................................................ 92
THE CRYSTAL GENETIC CODE 94
TheCooperativeGameMindset 94
MethodologyDesignPriorities 94
MethodologyDesignPrinciples 95
SevenPropertiesofHighlySuccessfulProjects 95
TechniquesDiscretion 96
SampleMethodologyDesigns 97
CRYSTALCLEAR 97
Sidebar:IntroducingCrystalClear,byJonathanHouse........................................Error!Bookmarknotdefined.
STRETCHING CRYSTAL CLEARTO YELLOW 100
Sidebar:TailoringCrystalYellow,byGryDerbier,ProjectManager,Solystic ............................................. 102

93
Sw DevasaCooperativeGame page 94

TheCrystalGeneticCode

Crystal is a family of methodologies with a common ge


MethodologyDesignPriorities
netic code. The genetic code helps you to design a new
family member when you need one, and tell whether a Every methodology author has some priorities in mind
given methodology is a member of the family. Jens whileselectingwhattoincludeandwhattoexclude.Mine
ColdeweysummarizedCrystalneatly: are:
The Crystal methodologies are about frequent deliv Projectsurvival(itshoulddeliverthesystem)
ery,closecommunication,andreflectiveimprovement. Processefficiency
Processhabitability,ortolerance
Crystalis my considered effort to construct a package of Thefirstpriorityistheoverridingone.Iftheproject does
conventions that work well together, and that taken to notdeliverthesystem,thereisabasicfailure.
getherincreasetheoddsofprojectsuccessandtheoddsof
The next two priorities compete with each other. On
actually being used by the team. It is possible that the
theonehand,thereareextremelyefficient ways of work
package is faulty, but teams that have used it have re
ing that people will simply refuse to use. It still happens
portedgoodresultsonbothfronts.
todaythattheprogrammerscanavoidorsubverttheproc
The Crystal methodologies are intended to be tailored ess if they don't like it. To be successful, a methodology
at the start of each project (and periodically within the needstobeacceptedbytheteam.Therefore,habitability
project). I put bounds on the tailoring, identifying the thatthatpeoplearewillingtolive withtheseconventions
places where I feel a sharp dropoff in the likelihood of iscritical.
success occurs ("Sweet Spots and the DropOff", p.
Iusedtowritethispriorityastolerance,meaninghow
47???). My observation is that when people do things
muchvariationwouldbeconsideredacceptablefromper
similartoCrystal,theyusuallydon'treflectontheirwork
son to person and from project to project. From my per
habits very seriously. Without reflection, they lose the
spective, the methodology needs the tolerances on the
opportunity to improve their output. (They also usually
conventions to be as loose as possible. It should work
don't deliver the system very often, and they don't have
acrossthewidestpossiblevariationsinpractice.However,
verygoodtests,butthoseareseparatematters.)
Iwastoldthatthewordtolerancetranslates withundesir
TheCrystalgeneticcodeconsistsofsixelements: able sideeffects into other languages, and so we chose
Thecooperativegamemindset habitability.
Themethodologydesignpriorities Habitabilityruns against efficiency, because the team,
Themethodologydesignprinciples orindividualsontheteam,maydeclinetousesomemore
Thesevenpropertiesofhighlysuccessfulprojects efficient technique orconvention.Myfeeling is that pos
Techniques selected per personal discretion, but with siblylessefficientconventionsthatareactuallyusedmay
"interesting"startertechniquestoconsider servetheteambetterovertime.
Samplemethodologiestocopyfrom Balancing efficiency against habitability is not a Shu
TheCooperativeGameMindset levelskill.It requires one or more people on the team to
haveaRilevelunderstandingofsoftwaredevelopmentto
Treating software development as a cooperative game of make this balance. This matches the acceptance level I
invention and communication frees the team to consider have seen for Crystal. Beginner teams look at Crystal,
whatmovesmakesenseat any moment intime and what don'tseeaclearformulatouse,andmoveontoXP(ver
strategies create a good position for the next move. It sion1)orScrum.
frees theteamfromtheillusionthat there is a single for Advanced teams know that methodologies out of the
mulatouseacrossallprojects. box are unlikely to fit their situation. They like Crystal
Treatingtheprojectaspartofaninterconnectedseries becauseitselectsjustenoughrules to get theproject into
ofgameshighlightstheimportanceofbalancingthe need thesafetyzone,andleavesthemplentyofroomtoincor
todeliverthissystemwiththeneedtoset upforthe next poratetheirsituationspecificadjustments.
andadjacentgames.
This book has described the cooperative game model
indepth.
94
Sw DevasaCooperativeGame page 95
MethodologyDesignPrinciples The following list presents seven properties of highly
successfulprojectsalongwithtestquestionsforeach.The
The principles used to design Crystal were presented in first three are the unifying theme across the family. The
Chapter 4 . Crystal particularly emphasizes the value of
other properties increase the safety factor for the project.
facetoface communications, adjusting methodology to
The properties are described in greater detail in Crystal
projecttype,andattendingtoprojectspecificbottlenecks. Clear(Cockburn2005cc)
Theseprinciplesarevisible inthe differences between
theCrystalfamilymembers. FrequentDelivery
Havewedeliveredrunning,tested,andusablecodeat
SevenPropertiesofHighlySuccessfulProjects least twice to our user community in the last six
I only recently awoke to the realization that top consult months?
ants trade notes about the properties of a project rather
ReflectiveImprovement.
thanontheprocedures followed.Theyinquire: Is there a
mission statement and a project plan? Does the team de Didwegettogetheratleastoncewithinthelastthree
liverfrequently?Arethesponsorandvarious expertusers months for a half hour, hour, or half day to compare
inclosecontactwiththeteam? notes,reflect,discussourgroup'sworking habits,and
Consequently, and in a departure from the way in discoverwhatspeedsusup,whatslowsusdown,and
whichamethodologyisusuallydescribed,Istartedasking whatwemightbeabletoimprove?
teams to target key properties for the project. "Doing Close/OsmoticCommunication
Crystal" becomes a matter of achieving the properties
ratherthanfollowingprocedures.Threemotivesdrivethis ForCrystalClearprojects:Doesittakeus30seconds
shiftfromprocedurestoproperties: or less to get our question to the eyes or ears of the
Theproceduresmaynotproducetheproperties.Ofthe person who might have the answer? Do we overhear
two,thepropertiesarethemoreimportant. something relevant from a conversation among other
OtherproceduresthantheonesIchoosemayproduce teammembersatleasteveryfewdays?
thepropertiesforyourparticularteam. For other Crystal colors, replace those specific times
I hope to reach into the feeling of the project. Most with an inquiry into how long it does take to get a
methodologydescriptionsmissthecriticalfeelingthat questiontotherightperson,andthefrequencyofser
separatesasuccessfulteamfromanunsuccessfulone. endipitousdiscovery.
Naming the properties provides the team with catch PersonalSafety
phrases to measure their situation by: "We haven't done
any reflective improvement for a while." "Can we get Can we tell our boss we misestimated by more than
moreeasy access to expert users?" The property names 50percent,orthatwejustreceivedatemptingjobof
themselves help people diagnose and discuss ways to fix fer?Canwedisagreewithhimorheraboutthesched
theircurrentsituation59. uleinateammeeting?Canweendlongdebatesabout
eachothersdesignswithfriendlydisagreement?
A Crystal team measures its condition by the team's
moodandthecommunication patterns as much as by the Focus
rateofdelivery.
Do we all know what our top two priority items to
InoticedthiswhileinterviewingGryDerbierofSoly workonare?Areweguaranteedatleasttwodaysina
sticabouthis experienceswithhisCrystalYellowproject rowandtwouninterruptedhourseachdaytoworkon
(see"ExtendingCrystalCleartoYellow"anditssidebar). them?
IwastryingtoworkoutwhyhesaidhewasusingCrystal,
andIrealizedthathehadbeenfocusingonthe qualityof EasyAccesstoExpertUsers
thecommunicationswithinhisteam,acrossorganizational Doesittakelessthanthreedays,ontheaverage,from
boundaries,withbothhiscustomersidesponsorsandwith
whenwecomeupwithaquestionaboutsystemusage
the external test team. He watched the delivery cycles,
towhenanexpertuseranswersthequestion?Canwe
reflected with the team each month on how work better
gettheanswerinafewhours?
together, and experimented with fitting different authors'
ideasintothegroup'sworkingpatterns. TechnicalEnvironmentwithAutomatedTests,Con
figurationManagement,andFrequentIntegration
59
PaulOldfieldcatalogsproblemsateamisrunninginto,and what counteract Can we run the system tests to completion without
ingpracticestheymaywanttoconsider:
http://www.aptprocess.com/whitepapers/risk/RiskToPatternTable.htm
havingtobephysicallypresent?Doallourdevelopers

95
Sw DevasaCooperativeGame page 96
check their code into the configuration management Early Victory: Small wins helps a group develop
system?Dotheyput inausefulnote about it as they strengthandconfidence.Arrangeforsomeearlyinthe
check it in? Is the system integrated at least twice a project.WalkingSkeletonisagreatstart.
week? Walking Skeleton: A tiny implementation of the sys
There is one additional property worth mentioning, one temthatperformsasmallendtoendfunction.Itneed
thatonlyshowsupontheverybestofprojects: not use the final architecture, but it should link to
collaborationacrossorganizationalboundaries. getherthemainarchitecturalcomponents.
IncrementalRearchitecture:Evolvethearchitecturein
Collaboration across organizational boundaries is not a
stages, keeping the system running as you go. This
given result on any project. It results from working with
appliesbothtotheWalkingSkeletonandtolaterrevi
amicabilityandintegritybothwithinandoutsidetheteam.
sions.
It is hard to achieve if the team does not itself have per
Information Radiator: A display posted in a place
sonal safety and, to a lesser extent, frequent delivery. I
where people can see it as they work or walk by. It
considerthepresenceofgoodcollaborationacross organ
shows readers information they care about without
izational boundaries as evidence that others of the top
having to ask anyone a question. Ideally it is large,
sevensafetypropertiesarebeingachieved.
visible to the casual observer, easily kept up to date,
TechniquesDiscretion understood at a glance, and changes periodically, so
thatitisworthvisiting.
A common mistake of the beginning methodologist is to Pair Programming: Two people sit sidebyside,
believe that latest technique he just learned is the master working on the same code. They can be two pro
technique that all people must use. As Andy Hunt and grammers,oraprogrammerandauser,business spe
DaveThomas,the"pragmaticprogrammers"havegoneto cialistortester.
great lengths to point out (Hunt 2000???), there are a
SidebySide Programming: Two people sit sideby
steadily growing number of useful techniques in the
side,but atdifferent workstations,working on differ
world.Itistheresponsibleoftheprofessionalinhis field
ent assignments. The workstations need to be close
tolearnhowtousethem.
enough that each one can read the read the other's
Itmakesnosenseforme,astheauthorofamethodol workstation simply by turning her head (60 cm 90
ogytobeusedbywidelyvaryingpeopleonteams in dif cm,or12"18").Theyhelpeachotherasneeded.
ferent countries, working on different sorts of projects TestDrivenDevelopment:Thetest,orexecutableex
withdifferentsortsoftechnologies,tolegislatewhattech ample, is written before deciding how to design the
niquewillworkbestforeachofthosepeopleandeachof code.Itservestestbothasspecificationofwhattode
thoseteams.That is something for each person and team signandasapracticerunatusingthecallsequenceto
toworkout. thefunction.AlsocalledXXD(seepage61???).
FromtheperspectiveoftheCrystalfamilyof method BlitzPlanning:Anindexcardbasedplanningsession
ologies, any technique of invention is quite all right, as inwhichthesponsor,businessexpert,expertuser,and
long as the person can explain the idea to the rest of the developers,together, build the project map and time
teamafterwards. line. Unlike XP's Planning Game, the cards in the
Thus,some people will like to model in UML, others BlitzPlanningtechniqueshowtasksandtaskdepend
willnot.Somewillliketoprograminpairs,otherswon't. encies.
Some will thrive on testfirst development, others will DailyStandupMeeting:Everyoneintheteammeets,
write code first and tests after. Some teams will use the standing, for a maximum of 10 minutes to announce
XP planning game, some my Blitz Planning technique, what they each are working on and where they are
andotherstheScrumbackloglist. gettingstuck.
What I have done in this book and the Crystal Clear Agile Interaction Design: A one or two day sticky
bookistolisttechniquesandstrategiesthatyouandyour noteandindexcardbasedsystemusagemodelingses
teammayfindinterestinganduseful. sion, based on the ideas in Software for Use
Here is short summary of interesting strategies and (Constantine2000).Describedin(Patton2005cc).
techniquesforyoutoconsider: BurnCharts: A timebased graph of number features
Exploratory 360: Preproject safety check. In a few tobe completed over time and features completed so
days or a few weeks, sample the project's business far.
value,requirements,domainmodel,technologyplans, DynamicPriorityLists: A list of features to work on
projectplan,teammakeup,andmethodology. in the next iteration or the whole project, prioritized

96
Sw DevasaCooperativeGame page 97
and put into ranking order by the sponsors, and up ways to stretch the sentence for different circum
datedbythemattheend of eachiteration ordelivery stances,
cycle. strategiesthatarelikelytobeemployed,
ReflectionWorkshop:Aworkpause,foranhourperi lessknowntechniquestheteammightliketotry,
odically,certainlyaftereachdelivery,toreflectonthe samplesofthe workproducts that are likely to be
product,progress,andprocess. generated(besidescode),
SampleMethodologyDesigns and (best of all) an experience report on using
Crystal Clear, with commentary by an ISO 9001
Humans are better at modifying than inventing. For this auditor.
reason,Crystalcontainssamplemethodologydescriptions. CrystalClearis anextensionofthis bookfromtheoryto
Think of "cutting and pasting" the following into your practice, what a small project team needs at the ground
methodology. level, for teams at the mixed Shu, Ha and Ri levels. Ri
It is not the intention with these descriptions that you levelleadersandpeopleonlargerteamscanusethebook
pickthemupandusethemuntouched,butratherthatyou toget ideas ofboth work samples and new techniques to
pick them up and critique them, adding and subtracting try.
detailsuntilwhatyouhavesuitsyoursituation.Methodol
ogymodificationis,afterall,acoreelementofCrystal.

CrystalClear
Atthetimeofthefirstedition,theCrystalClearbookwas
still in draft form, and the description of it fit into one
page.
The book Crystal Clear: A HumanPowered Method
ologyforSmallTeamscameoutlatein2004.Init,Isum
marizedCrystalClearwithasingle(long)sentence:
"Theleaddesignerandtwotosevenotherdevelopers
inalargeroomoradjacentrooms,
using information radiators such as whiteboards
andflipcharts,
havingeasyaccesstoexpertusers,
distractionskeptaway,
deliver running, tested, usable code to the users
everymonthortwo(quarterlyatworst),
reflectingandadjustingtheirworkingconventions
periodically."
Thebook itselfruns toabout 350pages,which of course
promptsthequestion,"Howcanyouspend350pagesde
scribingonesentence?"
TheanswerisexactlythedifferencebetweenShuand
Rilevel descriptions. The onesentence version was de
rivedfromtalkingtoexperienceddevelopers,andissuffi
cient description for experienced developers. The 350
pagesareneededtodescribe
the background behind the parts of that (long)
sentence,
the Crystal genetic code and the seven properties
ofhighlysuccessfulprojects,
theboundaryconditionsforCrystalClear,

97
Sw DevasaCooperativeGame page 98
lead to a realization that an iterative approach would be
thenecessarycure.
Introducing Crystal Clear, by Jonathan House, As soon as the meeting began I realized that I wasn't
ManagerofSoftwareDevelopment,Amirsys goingtohavetoworkveryhardtogettheexecutiveteam
to feel the pain. First on the agenda was a discussion of
howtogetthedevelopmentteamtobemoreresponsiveto
InMarchof2005,Ihadjusttakenamanagementposition
changing business requirements. After about 10 minutes
with Amirsys, a medical informatics company. I was ex
ofcarefullydirectedquestioningonmypart,thePresident
citedaboutjoininganewcompany,butfeelingasenseof
ofthecompanysaidIsitpossibletogetthedevelopment
resignationat all of the heavy lifting that was in front of
teams to deliver just a part of the functionality that we
metogetthenewcompanytoadoptanAgileapproachto
needmorefrequently?
developingsoftware.
Igrudginglyagreedthatitmaybepossible,andthatI
Thesenseofresignationwasfrommypreviousexperi
wouldseewhatIcoulddowiththedevelopmentteamsto
ences as an agile mentor, working to bring agile soft
get them to deliver functional code on a more frequent
waredevelopment practices into various companies I had
basis. As I walked out of the meeting I was shocked to
consultedwith.Ineachcase,the newpractices werewell
realize that we had become an incremental development
received,but neverreallycaught on, for a variety of rea
shopwithoutsomuchasasinglePowerPointslideshown.
sons.
Now that I was mandated to implement iterations, it
AsIwaspreparingtoleaveourmonthlySaltLakeAg
became clear that a lack of automated tests would be a
ile roundtable meeting, Zhon Johanssen, a longtime XP
seriousdragtous.
practitioner and one of the roundtable oldtimers ap
proachedme.Likeme,hewasintriguedbythecleanslate Continuing the experiment, and looking to install the
thatAmirsyspresented,butunlikeme,he wasn'tcarrying right paininkeyplaces,Iaskedthat weincreasethefor
mysenseofresignation.Hehadanideaselforganizing malityofthetestingprocess.
adoptionofagilepractices.. Painimmediatelysetin.Testingbecameanallhands
Ratherthanmepushingthepracticesontotheteam,he on deck operation that completely halted other efforts.
suggestedthatitwouldbeinterestingtoseewhatpractices Forafulltwoweeksthispainwenton,andnotoncedidI
theteamwouldadoptwhengivenspecific"stimuli. mentionautomatedtestsortestfirstdevelopment.
Ilikedtheideabecauseitwouldallowmetobecomea Attheendoftheiteration,Igottheteamtogetherand
minimalist project manager (or maximalist," as one askedthemiftheythoughtitwasagoodideatotalkabout
person corrected me I get the maximum results from the previous iteration (thereby introducing the reflection
eachaction). My sense of resignation was gone, just like session practice). After letting the team vent about the
that. painofthetestingprocessforawhileIsaid,Youknow,
it wouldbe niceif we wereabletoautomate most of the
Although I had experience with XP, Scrum, DSDM
testingeffort,wouldn'tit.
andFFD,IdecidedtouseCrystalClearasourmethodol
ogy framework, partially because the lightweight ap Thedevelopmentteamdecidedthatitwouldbeagood
proachappealedtome,andpartiallybecauseofmyexist idea to write codebased tests at the same time they
ingrelationshipwithit'sprogenitor,AlistairCockburn. worked onapplicationfeatures. Our director immediately
allocatedresourcestodevelopautomatedtestsandreduce
The very next day I reached my first crisis with my
the80orsopagesofmanualtests.
new philosophy as I started to prepare to fight with the
executive team about the need to adopt an incremental, Istillhadn'tgiventhattwohourlongPowerPointpres
iterativeapproach.ThiswasalwaysthefirstfightIfought entationabouthowautomatedtestsareagoodidea.
inmyothermentoringengagements. Thepatternhademerged,andthebestpart wasthat it
I stopped. I closed the door of my office, closed the wasselfreinforcing.Asourdevelopmentteamsreacheda
shades,turnedoffthelightandstartedthinkingabouthow point where a specific Agile practice was needed, I went
toget the executive team to decide that they had to have lookingforthepain.OnceIfound it,Imadeit apoint to
iterations.ItwasthenthatIrememberedalessonfrommy insurethateveryonefeltthatpain.Assoonasthepainwas
highschoolbiologyclass.Put simply,theexecutiveteam established I would lightly introduce the team to the
hadtofeelthepain. neededpracticeandthengetoutoftheirway.
Iwalkedintothedirector'smeetingarmedonlywitha one of the developers mentioned that a critical user
notepad and a goal of ferreting out the pain that would story had been missed in the last iteration planning ses
sion. I took the developer aside after the meeting and

98
Sw DevasaCooperativeGame page 99
showed him the iceberg list (Figure 512 in Crystal Crystal Clear. The next day, he objected during the
Clear).Icameinthenextdaytodiscoverthatourbacklog meetingthat it was takingtoo long,andstarted enforcing
listshadbeenreorganizedintoiceberglists. thecorrect,shorterformat.
The newapproachworked withthe executive team as During another standup meeting, one of the develop
well. ersmentionedthatacriticaluserstoryhadbeenmissedin
Executive team members were introducing conflicting the last iteration planning session. I took the developer
priorities on the goals of the iteration (this is known as asideafterthemeetingandshowed himtheiceberglist
feature thrashing). So I began convening meetings in (Figure512inCrystal Clear).I came in the next day to
front oftheiterationchart (Figure 522 inCrystal Clear) discover that our backlog lists had been reorganized into
whenever a change was requested miditeration, with the iceberglists.
development team and all of the executive team Today, Amirsys is a great place to be a project man
stakeholders. Not only did the executive team members ager. We can tell the state of every project simply by
resolvetheconflictsthemselves,buttheynow godirectly walkingintothe developer areaand looking at the walls.
to the iteration charts on their own initiative to discuss Developer team members handle most of the status re
changestothefunctionalgoalsoftheiteration. porting tasks themselves.There are several copies of Al
Strangelyenough,withallofthissuccess,Istillwasn't istair'sCrystalClearbookfloatingaroundthe office,and
happy. As a project management minimalist I felt I was we have matured to the point where team members are
doingallofthepaindiscoveryandinflammation. startingtoidentifypainsontheirown and look for ap
Ourdailystandupmeetingsweretakingtoolong,and plicablesolutions.
Icouldtelloneofthedeveloperswasgettingannoyedand AndIstillhaveyettocreateasinglepowerpointpres
spacing out during the meeting. Rather than me policing entation.
the meeting as I might have done before, I just showed
him the one page description of the standup meeting in

99
Sw DevasaCooperativeGame page 100
In terms of the agile evaluation framework presented at
theendofthelastchapter,weseeforthisprojectthefol
StretchingCrystalCleartoYellow lowing:

Manypeople have noticedthe gapbetweenCrystalClear #People 25


(38people)andCrystalOrange(3050people).What FrequentDelivery 1 year (a danger sig
doesCrystalYellowlooklike,for1530people? nal), but early integra
I am indebted to Gry Derbier, of Solystic, now a tion with acceptance
French subsidiary of Northrup Grumman, for deriving a tests attached to pay
versionofCrystalYellowandreportingbackonit. ments every six weeks
Solysticwonabidtobuildanewpostoffice justout (a safety factor miti
side Paris to handle all the international mail going into gating the danger sig
and out of northern France. The overall project included nal).
the building itself, plus the mechanical, optoelectronics UserViewings 1week(asafetyfactor
and information processing systems, and also hiring and mitigating the danger
training the staff. Gry Derbier was the project manager signal)
fortheinformationprocessingsoftware.
ReflectionWorkshops monthly
It was significant that the purchasing sponsor, the
OsmoticCommunication 1floor
French Post Office, was looking for a supplier who was
willingtodoincrementaldevelopmentandgetpaidevery PersonalSafety yes
six weeks in exchange for demonstrating integrated fea Focus(priorities,time) both
tures that often. It was also significant that the external EasyAccessto 1day/week
test team was located at the site of the new post office ExpertUsers
building,notatGry'slocation.
ConfigurationManagement yes
HerearethehighlightsofGry'steam'sconventions:
AutomatedTesting no
Seating: The software development team occupied
onefloor,whichwasshapedratherlikeadonut.Itwas FrequentIntegration 3/week
lessthanaminute'swalkfromanyone'sofficetoany Collaborationacross yes
one else's. The programmers sat several people to a OrganizationalBoundaries
room in several adjacent rooms. There was a "com Iterationlength 1month
monroom"wheretheyheldstandup,status,andother Intermsoftechniqueandstrategyuse,weseethefollow
meetings. ing:
Timecycles:
Iterations: Iterations were one month, and started
off with a planning session and a reflection about Exploratory360 Yes
thepreviousmonth'swork. EarlyVictory Yes
Standups: They experimented with daily stand WalkingSkeleton Yes
ups,andmovedtostandupsonMonday,Wednes IncrementalRearchitecture Yes
day,andFriday. InformationRadiators Yes
Integration:Theytriedbutnevergotdowntodaily
PairProgramming No
builds.Fullbuildsweredonethreetimesaweek.
Programming: The team tried and rejected pair pro SidebySideProgramming No
gramming, so they programmed in near proximity to TestFirstDevelopment No
eachother. BlitzPlanning Yes
Deliveries and user viewings: The key representative DailyStandupMeeting Yes
fromthePostOfficevisitedonedayeachweek.Inte AgileInteractionDesign No
grated code was evaluated for acceptability and pay
menteachsixweeks. BurnCharts Yes
Externaltestcollaboration:Arepresentativefromthe DynamicPriorityLists No
externaltestteam visitedand worked with the devel
opmentteamonedayeachweek. Iamhappytoreportthattheprojectdeliveredontimeand
thedevelopmentteamwasrecognizedfortheirsuccess.

100
Sw DevasaCooperativeGame page 101
I asked Gry what contributed particularly to the end
success, particularly given a schedule that looked overly
optimistic when I visited the project. He answered that
monthly incremental development was key. Developers
who might otherwise have spent weeks worrying over
what was the"right"or"best" way to do something, rec
ognizedthatwithonlyonemonthtodeliverfunction,get
ting an acceptable design out the door was better than a
perfectdesignthatdidn'tgetdelivered.
What Inoticed was how much attention Gry gave to
thequalityofthecommunity,moraleandcommunication,
and how much attention he gave to the quality of the
team'slinkagetothesponsorsinthePostOfficeandtothe
external test department. He was able to build close col
laborationacrossorganizationalboundaries.
Finally,wecan'toverlooktheeffectof havingaspon
sor who paid for integrated, running features every six
weeks. Whatever Gry's bosses may have been think
higherupthemanagementchaininSolysticandNorthrup
Grumman, they saw a team presenting features to a cus
tomereverysixweeks,andacorrespondingcheckcoming
from the customer shortly thereafter. That simplifies dis
cussionwithmanagementawholelot.
HereisGry'sstory.

101
Sw DevasaCooperativeGame page 102
monthsperiodofstagedrampupconcludingwiththefinal
acceptanceofthesystem.
TailoringCrystalYellow,byGryDerbier,Project We had to demonstrate running features as early as
Manager,Solystic nine months after the contract was awarded. These con
tractual demonstrations were interim acceptance tests
linked to payment by the customer. All these milestones
Theprojecthadseveralchallengingaspects: were defined in the contract with a very high level func
Itwasbusinesscriticalforthecustomer tionaldescriptionofthecontent.
Itwasthefirsttimethe customer was contracting Organizational patterns (Coplien 2005) was the body
withaintegratortoprovideaturnkeysystem of knowledge we used to design the group structure and
It was the first time Solystic was leading a com communications.Asanexample,westartedwithalimited
pletesystemproject,althoughitsmothercompany thenumberofroles(fewrolespattern)toinclude:
Northrop Grumman had previous experience of projectleader
thisbusiness subteamleader
Though Solystic has a long experience in the
businessexpert
automationofdomesticmailprocessing,this pro
leaddesignerprogrammer
gram was one ofthefirstbusiness in the interna
tionalfield otherdesignerprogrammer

Itwas afixedprice,fixedtime contract tobede tester


liveredinashorttimeframe. We estimated the team would amount to a peak 25 per
Istartedwithprettyfewideasandguidingprinciples.The sons.Howeverwequicklyassembledateamwiththenec
cooperativegamemodelwastheframeworkofthoughtsI essarycorecompetencies:theprojectleader,thetestlead,
would always come back to in order to make sense of thedatabaseleadwithadatabasedesigner,theapplication
what I was seeing happening. The team = product for development leadandacouple of designerprogrammers.
mula, which I consider a stronger form of the Conway's Theapplicationdevelopment leadwasassignedthearchi
law (see Software for your head (McCarthy 2002) was tecture responsibility (the Architect Also Implements
howIunderstoodhowtoinfluencethefinalproductqual pattern). Then we slowly incorporated additional pro
ity through the group shape and characteristics. Incre grammers.
mentalgrowthofbothproductandprocessrequiringperi One subteam leader was the overall project leader.
odic reflection and adaptation was at the core of the Subteams were application domain teams (e.g. realtime
method.We employedusecases tospecifythesystem as operation control, production management tools) or tech
amongthequalitiesofusescaseswastheyactasatoolto nicalteams(wehadoneDBAandonetesterteamforthe
link several teams together, especially development and whole group). The leader and business expert roles were
integrationteams. cumulatedby oneperson.Inthe earlypartoftheproject,
During the RFP process I elaborated a development the team leaders were writing the uses cases. During the
plan built on the principle of fixedlength iterations and last third part of the project the leaders' time was mainly
frequent interactions withthecustomerteam.Ihave later devotedtointegrationandtest.
been told the customer considered this feature to be a We got several adjacent 2 to 4 persons offices on the
competitive advantage. Timeboxed iterations came to me same floor of the building. The leaders were grouped in
through Jim Highsmith's (2000) book Adaptive Software thesame office. Developers would be grouped per office
Development book and the reading of DSDM (Stapleton as much as possible by application domain or technical
1999???). At that time, I borrowed the iteration structure activity.
from Stappleton's book. During the project, we brought It was a core practice to hold regular reflection ses
small variations about the form of communications with sions.Ithappenedeverymonthoncetheteamwas mainly
thecustomerduringaniteration. staffed,then everytwo months bythe end of the project.
Theoverallprojecthadaphaseandgatestructure.Six These sessions were essentially informal discussions on
monthsaftercontractaward,wehadtohaveanapproved what was happeningintheproject.I played the role of a
system specification, a socalled baseline. The thirteen facilitator.Alongthediscussions,whenIwouldrecognize
monthmilestonewasthebeginningofthesitefullsystem the need for a common decision to be taken on a given
integration. Then eighteen months into the project the subject,Iwouldformulateaproposalandtrytocometoa
sorting center would open to real production with a six consensus (inthesmallest groupIusedunanimous vote).
AmongthesubjectsIledtheteamtoexplore:conventions

102
Sw DevasaCooperativeGame page 103
betweenthe developers and the internal test team, values quickly noticed. The meeting duration was targeted for
(courage to tell things), fear, configuration management, thirtyminutes.
codingstandards,integration frequency, relationship with Iinsistedonhavingtwodedicatedspaces fortheproj
theexternaltestteam. ect:ameetingroomandthetestinglab.Themeetingroom
So, during the course of the project, we changed sev wasaplacewithmanywhiteboardswheretheteamcould
eralworking conventions and stuck to others. We tried a hold collective design sessions. On the white boards was
number of strategies and techniques, some attempts aninformationradiatordedicatedtotheiterationplanning
worked, another good number failed miserably. Here are and tracking: the team progress was tracked during the
somepiecesofthestory. standup meeting by moving around the sticky notes on
Itwasmyplantosplittheleadersgroupseatinginthe this taskboard. The room was big enough to permit the
sameroomandseat eachofthem intheirsubteam room standupmeetingwiththefullteam.
once the system specification would be sufficiently com Despite all my efforts to build a collaborative culture
pleted.However,werecognizedtheadvantage of leaving withintheteam,thewholemembers didnot workinper
thingsastheywere. fect amicability. A good deal of storming occurred and
As the project was about automation and evolution of unresolvedtensions remained all along the project. How
thecustomer'sprocess,weknew we had to face progres ever,asmallpartof the team was truly willing to ignore
sive discovery of the customers needs until relatively far positionalgames and invest all their energy to get a suc
intotheproject.Soitwasclearthatwewouldnotsucceed cessfulsoftwareoutofthedoor.
without afairamount of concurrency of the different de AllalongthisprojectIhavebeenalittlenervousabout
velopmentactivities(theGoldRushstrategy(Cockburn thelightnessoftheprocess,fearingof missingsomething
1998)). We naturally resorted to the Build Prototypes thatshouldhavebeenpresent.Iretrospectivelythinkthat
pattern. this lightness is precisely what helped me to be always
We soon recognized the need for a specific build efficientlyonguardinsteadofbeingstifflyinguard.
manager role and a rolling assignment strategy for this
role.
Despite several discussions and commitments during
the reflection sessions, we failed to have a disciplined
protocolforinternalsoftwaredeliverytothetestteam.
Theamount ofunit tests was not satisfactory until we
decided to have one team member responsible for moni
toringtheunittestcoverageandhavinghimget theother
developers to invest time in writing their tests (we were
farfromdoingTDD!).
I encouraged people to pairprogram. Because they
worked in near proximity, people would occasionally
workbypairtoanalyzeordebugapieceofcode,but the
truepracticeofpairprogrammingnevergetadopted.Idid
not insist on having it as I considered we were asking
manynewthingsfromthisteam,iterativeandincremental
developmentnotbeingtheleastchangeformostpeoplein
thegroup.
I borrowed from the Scrum methodology the way we
implemented the standup meeting pattern. Given the
number of people, we considered splitting the standup
meeting into scrum of scrums several times during the
project . However, as we did not have sufficiently auto
mated integration tests, we decided to keep the standup
meetingwiththefullteamtoholdtheteamtogether. We
adopted small strategies to cope with the team size: The
meetingwouldoccureverytwodaysinsteadofeveryday
duringthemeetingwewouldfocusonfunctionalaspects.
Technical aspects would be raised if necessary or only

103
Sw DevasaCooperativeGame page 104

104
Sw DevasaCooperativeGame page 105

APPENDIXA'
TheAgileSoftwareDevelopment
ManifestoandtheDeclarationof
InterDependence
AstheManifestoforAgileSoftwareDevelopmentgrewinsignificance,peoplewanted
toknowhowtoapplytheideastoprojectsoutsidesoftwaredevelopment,andalsotodis
tilloutthegeneralmanagementprinciplesinvolved.Adozenandahalfproduct,project,
andmanagementspecialistsfrominsideandoutsidethesoftwareindustrymetoverasix
monthperiodtowritethemoregeneralagileleadershipversionof theagile manifesto.
Completed in January, 2005, they called this the Declaration of Interdependence, or
DOI,andstartedtheAgileProjectLeadershipNetwork.
In the following sections, I review the writing of the agile manifesto and discuss in
moredetailtheDOI.

105
Sw DevasaCooperativeGame page 106

THEAGILESOFTWAREDEVELOPMENTMANIFESTO(II)ANDTHEDECLARATIONOFINTERDEPENDENCE
........................................................................................................................................................................................ 105
THE AGILEMANIFESTOREVISITED 109
THE DECLARATIONOF INTERDEPENDENCE 108

106
Sw DevasaCooperativeGame page 107

TheAgileManifestoRevisited
The writing of the Manifesto for Agile Software Devel time, I had already lost the ability to note who was sug
opment wasawatershedmoment.Wedidn't knowthat at gesting what),"Allthose whocareabout the orderof the
thetimeofwriting,ofcourse,althoughtherewereanum agenda sort them out, and the rest can leave us to it."
ber of prolific authors in the group. The rapidity with Since I didn't care about the sequence of topics, I took a
whichpeoplearoundtheworldundersignedthemanifesto break. When I came back, the index cards were being
on the web site surprised me. Even more surprising was tapedontothewall.
that withinsix months conferences already hadpanels on Later on, someone asked, "I just thought of another
the subject. In 2006, I saw "requiring an agile approach" agenda item. What should I do with it." Someone an
writtenintoacosourceagreementbetweentwoverylarge swered,"Findtheplaceintheagendayou'dlikeit,andput
companies, and the Software Engineering Institute was itthere."
developingwaystohelpitsexaminersevaluateagileproj Ispendtimeonallthisbecausetwothingsstrikemeas
ects. verysignificantaboutthisgroupsofar:
Many people ask what it was like to write the mani Respect. There was enormous trust in the room of
festo,andinparticular,whatourmeetingprocesswas.I'll eachpersonforeachother.Noonetriedtohijackthe
offer myownpersonalobservations ofthat meeting,why meetingeveryonelistenedverycloselytoeveryother
it was unusual, and perhaps why it worked. There isn't person, giving at all times greatest credence to what
needorspacetogointogreatdetail,soIshalljustpickout thatpersonwassaying.
whathasseemedinthelightofsubsequent experiencesto Selforganization. This was selforganization of the
beinterestingobservations. highest caliber. Under other circumstances I have
BobMartincalledthemeeting,saying,"Isitjustcoin been in, one, or worse, multiple people have tried to
cidence that so many of us are saying things that sound "run" the meeting. With senior people in the room,
alike?"Headdedthathewasinterestedinwritingamani many of whom don't know the others, it is easy a
festo.(I,forone,wascompletelyuninterestedinwritinga power struggle to show up in the first minutes. That
manifesto, so the reaction to the manifesto was perhaps neverhappened.
moresurprisingtomethantohim).Bobinvitedawonder We spent time on around of "What am I recommending
ful set of people to the meeting, both proponents of the andwhatdoIstandfor,"bywayofintroduction.Inoticed
"lightweightprocess"viewaswellassomeothers.Notic that each of our processes, when described in only 15
ing that we had people only from North America, we minutes,seemedstrangetosomeoftheothersintheroom.
asked for a representative of the UKbased DSDM con Wequicklydecidedthatitwasnotanaccidentthatour
sortium to be present. Ari van Bennekum flew in from recommendations sounded so similar, there was some
Hollandjustforthemeeting.Weendedupwithrepresen thing underlying that similarity, and we should discover
tatives for XP, Scrum, Crystal, Adaptive, Feature Driven whatitwas.Thereasonthisisimportanttomentionisthat
Development, DSDM, and generally light and pragmatic wedisagreedbackthenonhowtorunprojectsontheday
development (Andy Hunt, Dave Thomas, and Brian todayand minutebyminutebasis,and we disagree still.
Marick). Notwithstanding those disagreements, there is a very
After the round of "Hello Who Am I", we sat around strong commonality that separated then and still sepa
and stared at each other for a minute, and someone said, ratesourviewsfrommanyothers.
"Howdowe makeanagenda?"Someonesuggestedwrit Someone said, "I don't like the word "lightweight", it
ingagendaitemsonindexcards,andsincetheXPpeople doesn't sound like we're serious." Someone else said,
intheroomofcoursehadindexcardsintheirpossession, "Lightweight is a reaction against something. I want a
they immediately pulled some out, started writing on word that stands for something." So we spent an hour
them, and threw them into the center of the floor. Sud searchingforatagwordtocapturewhatwewereafter.
denly there was a critical mass of people casting index
Ifoundtheprocessofdoingthatwordsearchinterest
cards onto the floor. The rest, whatever they thought, ing:
starteddoingthesame,untilweranoutofideasandhada
First,webrainstormed20or30namesandwrotethem
pileofindexcardsonthefloor.
down.
Someoneasked,"Howdoweorganizethosecardsinto Second,wepickedoutafewnamesanddiscussedfor
an agenda?" Someone said (you will notice that by this eachwhywe didn'tlikeit.

107
Sw DevasaCooperativeGame page 108
The latter tactic helped us understand what we stood for Then someone said, "Well, now we have a word. What
and what we stoodagainst. Writing down why we didn't stands behind it?" What followed was interesting. Lunch
likeaworddidn'tdisqualifytheword,itmerelyhelpedus was served, and various people sat in front of the white
understandwhatwasinsideourheads. board discussing ideas. The space in front of the white
Forexample,foroneword,anobjectionwas,"I'dhave boardwastoosmallforall17people,sopeoplemovedin
tobewearingpinktightstosaythatword.Irefusetowear and out, intermixed with eating lunch. Somewhere along
pinktights."Wewerelookingforastrongword,tomatch the line, someone suggested contrastingthis against that,
Musashi's,"Whateverguardyouadopt,do not think of it andthe valuecomparisonshowed up. Someone else sug
asbeingonguardthinkofitaspartoftheactofkilling" gestedthatithadtobeamoreorlessfairvaluecompari
(orforus,deliveringausefulsystem). son,sothatpeoplecoulddisagreemeaningfullyonevalue
Agile development is aggressively delivering what is atatime.
needed,not merelyavoidingpaperwork.Hence myselec Whenittookshape,wesatinfrontthewhiteboardand
tionoftheBengaltigerforthecoverofthis book,as op wordsmithedit.Anyonecouldsaywhytheycouldn'tsup
posedtoagymnastoradancer.Myotheragile mascot is port a particular wording, and we worked to understand
thiswickedlooking,deepseamonsterIfoundonatshirt: their view until someone came up with a better wording.
When we were done, each of us could sign for the full
manifestowithoutreservation.
Having the nameagile and the four value statements,
wethen movedtocreatethe12principles.Hereis where
thingsstartedtobreakdown,becauseitisatthislevelthat
theindividualdifferencesstarttoshowup.
For example, does the customer or user have to be
there daily, or is weekly good enough, or perhaps some
mixofhoursperweekplusbeingavailableforquestions?
Should we write that the system gets deployed daily,
weekly, monthly, quarterly? Is selforganization the crux
oftheapproach,orismanagementallowedtoplay?
Compoundingthesecomplications,it was gettingtime
for people to get on planes (we only budgeted two days
for this whole thing, after all). Once people started to
leave,werecognizedthatwewouldnotbeabletogetclo
sure on finergrained recommendations. This is, indeed,
whathappened.
FigureA'1.Thistshirtshowsmyfavoriteagilemascot Someonepointedoutthatwestillwantedtobeableto
(PhotowithandcourtesyofJonasKongslund). disagreeatthedetaillevel,since we wereallstill explor
ing development methods. To use the term precision
Boththetigerandthedeepseamonsterlookcertainto (p.???),weagreedwith each otheron precision level 0
eat dinner. They are not merely avoiding paperwork or the single catchphrase agile. We agreed on precision
practicingflexibility. level1thefourvalues.We(barely)agreedonprecision
Third,havingclarifiedourthoughts,wevotedforour level2the12principles.Weagreedtoallow ourselves
topthreechoicewords,andrankedtheresults. todisagreeatthenextlevelofprecision.
Thetoptwowordswereagileandadaptive.Wehada Finally,wereviewedwhywehadbeenabletocoverso
round of discussion and a final vote, settling on the muchterritorysoquickly.Theanswerwasrightinfrontof
word agile. As I mentioned earlier (p. 66???), al us:Wehadpaidattentionto individuals and interactions,
though adaptive has certain advantages, agile is the we had worked facetoface, we had worked collabora
wordwewerelookingforatthetime.Thesedays,we tively,wehadfocusedonourproduct.Inotherwords,we
expect our methodologies to be both agile and adap hadjustlivedwhatwehadjustwritten.
tive.

TheDeclarationofInterDependence
Asthemanifestogrewinsignificance,peopleasked:

108
Sw DevasaCooperativeGame page 109
What is the corresponding version for nonsoftware UnderstandingtheDOI
productdevelopment?
Thesixsentencesareformedastwoclauses,"Weaccom
Whatisthecorrespondingsetofprinciplesandvalues
plishthisbydoingthat".Inotherwords,youseeusdoing
formanagement?
that, and the reason we care about that is because we're
JimHighsmithnotesthattounderstandtheagilemanifesto tryingtosetupthis.
for products at large instead of just software, simply re
Personally, I like to read the DOI in a 2column for
placethewordproductforthewordsoftwareinthemani
mat,wheretheleftcolumn identifies thewhat we'rehop
festo,andthemanifestoisstillclearandcorrect:
ingtoaccomplishandtherightcolumnidentifiesthehow
Working products over comprehensive documenta weintendtoaccomplishthat.Consideritinthisform:
tion
Indeed, this evidenced by the myriad applications of the
agile values and principles outside of software already Goal: Throughdoing:
discussedinthisbook.Reread,inparticular,MikeCollins' Focuson"flowofvalue"(not
sidebar(p.40???)toseehow lean manufacturing already IncreasedROI "trackingeffort"),preferablyin
anticipatedwhatwewerewantingtosay. continuous(onepiece)flow.
On the management side, a number of people voiced Engagecustomersinfrequentin
Reliableresults
an interest in exploring the extension of the agile mani teractionsandsharedownership
festo to project management and product development Iterations,anticipationandadap
Manage
outsidesoftware.Weheldthefirstmeetingtoexplorethat tation(Thinkahead,plan,iterate,
uncertainty
topicattheAgileDevelopmentConferencein2004.That deliver,reflect,adapt).
groupmettwice more,finallyonFeb1,2005writingthe Recognizeindividualhumanbe
sixpointsoftheDeclarationofInterDependence,orDOI: ingsastheultimatesoureofvalue
Unleashcreativity
We increase return on investment by making con andinnovation Createanenvironmentwherein
tinuousflowofvalueourfocus. dividualpeoplecanmakeadiffer
Wedeliverreliableresultsbyengagingcustomersin ence.
frequentinteractionsandsharedownership. Groupaccountabilityforresults
We manage uncertainty through iterations, antici (thewholegroupissinglyac
Boost countable,nointeamblame)
pationandadaptation. performance
We unleash creativity and innovationby recogniz Sharedresponsibilityforteamef
ing that individuals are the ultimate source of fectiveness.
value, and creating an environment where they Situationallyspecificstrategies,
Improveeffective
canmakeadifference. processesandpractices.(Noone
nessandreliability
Weboostperformancethroughgroupaccountability answer,folks,getusedtoit)
for results and shared responsibility for team ef
fectiveness. The alert reader will notice that there is precious little
We improve effectiveness and reliability through about the Declaration that is unique to project manage
situationally specific strategies, processes and ment.Thepointsapplyacrossallmanagement, evenself
practices." organizingandselfmanagingteams.
Thesignatories to the DOI were David Anderson, Sanjiv Ifthereis oneproblem withtheDOI,it is thatthesix
Augustine, Christopher Avery, Alistair Cockburn, Mike points sound like platitudes. Perhaps that is because, un
Cohn, Doug DeCarlo, Donna Fitzgerald, Jim Highsmith, like the Agile Manifesto, the DOI doesn't name the bad
OleJepsen,LowellLindstrom,ToddLittle,KentMcDon guys.Itstatescauseandeffectrelations.Onlywhentrying
ald,PollyannaPixton,PrestonSmithandRobertWysocki. toapplythepointsdothesurprisesshowup.
Thatlistofpeople is notableforthebreadth of exper Herearesomeofthesurpriseslyinginstore:
tise, ranging from project management to product devel "... continuousflow ofvalue..."
opment to agile software development, to line manage
Leanmanufacturingteachesusthataprocessimprovesas
mentandtoteamworkspecialist.
thebatchsizes shrink(see "Lessons fromLeanManufac
Here below, I elaborate on my thinking about this turing" onp.37???).While developing software, the unit
declaration. of inventory is the unvalidated decision. Every written
requirement, architectural decision or document, design

109
Sw DevasaCooperativeGame page 110
drawing ordecision,andpiece ofwrittencode,counts as oflife,thatmustbemetonitsownterms,andinthis,dis
inventoryuntilitisintegratedandtested! tinguishesitselffromothermanagementadvisories.
Shrinking each of these to a unit piece, or continuous "...iterations,anticipation andadaptation."
flow is a stretch goal to consider for software develop
TheDOIdivergesfromtheAgileManifestobycallingfor
ment.Itimpliesthateverydecision,whetherrequirements,
anticipation.Thefeelingamongusincludingbothofthe
architecture, design or code, must be implemented, inte
AgileManifestoauthors inthegroupwas thattheagile
gratedandtestedasasingleunit.I'mnot goodenoughto
communityhasbeenforgettingtousetheinformationthey
dothatyet,butIdounderstandtheimportanceofthegoal.
alreadyhaveat hand,andhavebeencostingtheirorgani
"...continuousflowofvalue..." zationsbyforcingthemtoreacttoeventsthatshouldhave
Mostmanagersmanagetasks,checkingtasklistsandtask beenforeseen.
completion,whentheyshouldbemanagingthegrowthof To test this point of the DOI, consider in what ways
value. andto what extent your management balances the use of
In software development as well as in other fields, iterations with anticipation, and to what extent they ever
valueaccrues(orfailstoaccrue)suddenly,atthemoment adapt.
of integration. All the work leading up to that moment ". . . by recognizing that individuals are the ultimate
carries no value to the buyer. This is the reason agile source of value, and creating an environment where
teams havereplacedthestandard earnedvalue chart with theycanmakeadifference."
burnup charts showing accumulation of running, tested
Betruthful,now,"Peoplearetheultimatesourceofvalue"
features(RTF),notjustcompletionoftasks.
how many managers really take that seriously. We do.
"...byengagingcustomersinfrequentinteractionsand ButtheDOIextendstheAgileManifestobyremindingus
sharedownership." that the environment also matters.People treated as cogs
Shared ownership is difficult to imagine for certain con inamachinedonotdoaswellaspeoplewhofeelnotonly
sumerproducts,buteasytoimagine forsmallercustomer that they matter, but that they can make a difference in
groups. I am thinking in particular here of development otherpeople'slives.
for any internal user group, and custom development of Thisisindangerofbecomingaplatitude,andIsuspect
any kind. See the sidebars describing Tomax's new con that organizations that aren't already paying attention to
tractswithitscustomers (p.???)andGryDerbier'srela thispointwon'tchangejustonthebasisoftheDOI.How
tionshipwiththeFrenchPostOffice(p.???). ever,Ikeepreadingbusinesscaseswhereacompanydis
Despite that, very few organizations take the idea of ruptsitscompetitors,andinsidethecasedescriptionalot
sharing ownership with their customers seriously, and ofspaceisgiventowayinwhichpeoplearenot just em
equally dangerous, very few custoemrs take the idea of powered,butfeeltheyhaveachancetochangetheworld.
shared ownership (and responsibility) with their contrac "...groupaccountabilityforresults...."
torsseriously.Manyofcustomers don'teven want shared
Group accountability for results has long been known its
ownershipmanywillsay that they hired you to do "all
effectiveness.Onewaytoachieve groupaccountabilityis
thatstuffjustdeliverausefulsystemsoon."
through crossfunctional teams. These teams have been
Surprisingly,theothersurpriseinthesentence is "fre documented and recommended for several decades be
quent interactions." I write 'surprisingly' because the im cause they outperform the other teams (Hammer Reengr
portance of frequent interactions has been highlighted, theorganizationref,Toyotawayref,HolisticDiversityref
researchedandreportedfordecades.Itshouldn'tbeasur Cockburn1998soop).
prise at all. However, how often does your customer,
buyer,sponsor,oruserbaseshowupontheprogramming Leanandagile manufacturingtextsrecommend cross
training people at adjacent work stations. The DOI goes
floor and check out what the team is really doing? The
further and suggests that people on the team develop an
Agile Manifesto says the desired answer is "daily." The
awareness ofwhat theothers ontheteamneed,sothat if
DOI says "frequent." I'll bet that in most of your organi
theycan'tdothejob,theycanhelpin whateverwaythey
zationsitisneither.
can.
"We expectuncertainty..." Sociologist Karl Weick, studying teams that work in
Many managers and management advisors advocate that lifecriticalenvironmentssuchasaircraftcarriersandfire
the point of project management is to eliminate uncer fighting, calls this mindfulness: people being aware of
tainty?TheDOItakes the stand that uncertainty is a fact what other people are doing (Weick 2003???). Mindful
ness is a perfect term for one of our objectives with os

110
Sw DevasaCooperativeGame page 111
moticcommunication,andagoaltokeepwhencommuni People Not only their hearts and minds, but also
cationisnolongerosmotic. theireyes,earsandmouths.(Communication:the
Mysteriously, this idea gets overlooked in most com cooperativegame,remember?)
panies. Situationally specific strategies All recommenda
tionsarespecifictothecontextathand.
". . .group accountability for results and shared re
sponsibilityforteameffectiveness." Feedback Close in and endtoend, within each
workgroupandacrossthetotalsystem,withinthe
Chris Avery, the teamwork specialist among the DOI team'sprocessandontheendproduct.
authors, clarified the shared accountability phrase. He
wrote, You mayfind it useful to write down your own personal
frameworkforprojectmanagement,andseehowitfitsor
"Mostpeopleassumethatsomeoneelseisresponsible
contraststowhatisintheDOI.
fortheeffectivenessorlackthereofintheirteam,
andthatsomeoneelseshoulddosomethingsothatthe UsingtheDOI
teamismoreeffective.TheDOIsaysthatiftheteam
isn'taseffectiveas"I"like, thenit's up to metotake IwishthattheprinciplesintheDOI maybecomethede
responsibilityforcorrectingthesituation." fault modeofmanagementinthefuture,nottheexception.
Zhon, Johanssen, a senior programmer, describes that he ImprovedProjectManagement
views improved business impact as the programmer's
responsibility,asisimprovedusabilityandsystemquality. Aproductionmanagerforoneofmybookstriedtosched
Heappliesthatsentimentforeachjobinthecompany,and ule the entire fourmonth book production process up
practicesithimself. front. She did this because she was worried meeting a
deadline.
"...situationallyspecificstrategies ..." Tomakesuresheleftnothingout,sheassignedevery
OfallthepointsintheDOI,this oneshould be most ex one's time in halfday increments . . . and then ignored
pected to anyone who has read this far in the book. We smallrealities,suchasthat Iwouldbeonasmallboat in
have discussedat lengththat what works in one situation the Caribbean for ten days. Naturally those were exactly
maybackfireinanother. thedayshescheduledformetorevisethemanuscript.
Thisisnotobvioustothosemanymanagerswhokeep She phoned each person's manager each day to check
lookingfor a closedform formula to apply. Surprisingly, thattheactivitywasproceedingaccordingtoherschedule.
it is also not obvious to otherwise enlightened people re Shehadthe300+pagemanuscriptmailedfromperson
searching "best practices." The optimal strategy for a topersoninitsentirety(alargebatchsize,seep.???and
situation may require a reversal of what would normally p.???),sonoparallelworkwaspossible.
beconsideredabestpractice(see"BalancingStrategies",
Sheallowed no time for second revisions by any per
p.23).
son,sinceofcoursenoonewouldmakeanymistakesona
The successful team stays alert to changing circum projectthisimportant.
stances,andadjustsstrategiesandpracticestosuit.
Needless to say, the project immediately ran off the
Those are some of the surprises in the DOI. There is rails, starting with my tenday vacation. People made
much more one can write about it, just as there is much mistakes, had other work to do, and so on.. The project
more one can write about the agile manifesto. A longer wasbehindinnotime,andeverybodywasmiserable.
discussionof my interpretation of the DOI, including the
She was not malicious and not even particularly in
DOIasa"12stepprocess"isonmywebsite60.
competent. She was trying to maximize business value,
Finally, it is useful to know that in constructing the cut costs, maintain quality, and so on. Her mistake was
DOI, each coauthor embedded in it their own personal onlyinunderstanding.
framework for management. We collected those personal
I want every person, untrained or trained, to think in
frameworks and checked that each person could operate
termsoftheDOI.Iwant itspreceptstaught in kindergar
their personal framework from the DOI, even if that
ten,andusedbyreflexby everyone on a project. "Tradi
frameworkwasn'texplicitlynamedinit.
tional,"impersonal,batchorientedprojectmanagement,is
Just so you can see one, here is my personal frame what ought to be questioned in every case. That's what I
work.Itconsistsofthreeelements: thinkthisdeclarationshouldleadto.
Whenyounextput'agile'intoyourcontract,writeus
ing the project management Declaration of Inter
60
http://alistair.cockburn.us/ htdocs/crystal/articles/ doi/ declarationofinterde Dependence. That way you'll not only get working soft
pendence.htm???UPDATETHIS!!!

111
Sw DevasaCooperativeGame page 112
ware,butalsothebenefitsofthethings in the right hand sibility for team effectiveness. Also flow of value (not
sideoftheabovetable. effort), shared ownership, iterations, anticipation, adapta
tion, recognition of individual human beings as the ulti
SelfManagedTeams matesourceofvalue,andanenvironment where individ
A final comment is appropriate for selfmanaged teams. ualpeoplecanmakeadifference.
We were quite aware that there are many selfdirected Actually,itseemstomethattheDOIisexactlythesort
teamswithnodistinguishedmanagerposition,andwanted of declaration a selfmanaged team would hang on their
theDOItobeapplicableforthem,also. wall.
A selfmanaged team should have no trouble signing
upforgroupaccountabilityforresultsandsharedrespon

112
Sw DevasaCooperativeGame page 113

APPENDIXB'
Naur,Ehn,Musashi:Evolution

113
Sw DevasaCooperativeGame page 114

14NAUR,EHN,MUSASHI(II) ERROR!BOOKMARKNOTDEFINED.
NAUR ERROR!BOOKMARKNOT
DEFINED.
EHN ERROR!BOOKMARKNOT
DEFINED.
MUSASHI ERROR!BOOKMARKNOT
DEFINED.

114
Sw DevasaCooperativeGame page 115

Ihavereferredat lengthinthis booktothe ideas ofthe After five years of living with their words, I can
three people quoted in Appendix B: Peter Naur, Pelle mostlysuggestthatyoureadandrereadthoseextracts.I
Ehn,andMusashi. continuetofindvalueinthem.

Naur
From Peter Naur's writing, we get the idea that the Common vision,andcommonunderstandingof why
team is working to create a common theory for their the thing is put together the way it is, are both part of
work.IntermsoftheSwampGame(p.10???),theteam anycooperative game,and mostcertainlyfor our coop
startsoffnot knowing what they are supposed to build, erativegamesofinventionandcommunication.
whereintheswamptobuildit,orwhatthelayoutofthe Naur'sdiscussionoftheorybuildingasapersonalac
swampis.Thetheorytheyarebuildingis theanswerto tivity helps us to understand modes of transmitting un
thosethreequestions. derstandingfromonepersontoanother.Thereisnothing
Part of the communication aspect of the cooperative that says that written documentation is the best way to
gameis establishingashared directionfortheteamand conveyunderstandingpossiblyitistheworst.Ifwetake
asharedviewofwhattheresultsneedtolooklike.This the challenge to "convey understanding," then we can
iscalledcommonvisioninsomewritings.Naur'stheory experiment with different ways until we find some that
includesthat,andalsoacommonunderstandingofwhy workbetter.
thethingisputtogetherthewayitis.

Ehn
FromPelleEhn'swriting,wegettheideathattheun couldn'tunderstand howthe computer could help them.
derstandingofthetasktobedonemayneverbeperfect, However, every organization working on improving
butmayneverneedtobeperfectl.Themagicliesinthe their organizational process is faced with this problem.
backandforth between developer and user, creating Untilthesystemgetsdeliveredandputintouse,thereis
new understanding about the task at hand and the tools reallynowaythattheuserscantellhowthepresenceof
beingcreated. the new system will change the ways they work with
It is easy to look at Ehn's team's assignment from each,andthewaystheycarryouttheirjobs.
1986and think we are long past the days when people

Musashi
I use the Musashi quites to start off my oneday work Iwasshockedinoneorganizationwhensomeonean
shops introducing agile development. At first, it seems swered,"Theusers!"Lookingforotheropinions,Iasked
strange to use samurai quotes to understand software anotherperson,whosaid,"Theotherspecialists,likethe
development, but then later it becomes so obvious how databaseadministrator!"Anotherpersontriedtoclarify,
much his writings have in common with modern soft "Sometimesyouhavetotakeoutoneoftheotherpeople
waredevelopment. onyourteaminordertogetyourworkdone."
Ihighlightthreeofhismotifs: Justincase any reader is tempted to make a similar
Wastenomovement. response,Iwishstressthatyourteammateisnottheop
Learneachtool'sstrength don'tbecomeattachedto ponent,noristheuser,yourmanagerorthesponsor.
anyonetool. The "opponent" is the problem you are trying to
Reflectandadapt. solve,theobstaclestodeliveringthesystem."Killingthe
The one thing in Musashi's writing that is different and opponent"issolvingtheproblem,deliveringthesystem.
onemustgrapplewith,isthatMusashikeepsreferringto Yoursituationwillthrow enoughobstacles in yourway
killingtheopponent.Whoorwhatistheopponent? that you don't need to consider your team mates oppo
nents.
Remember:"There'sonlyus."

115
Sw DevasaCooperativeGame page 116

7(newchapter)
Afterword
Yourcenterofinterestdetermineswhatyoushoulddowiththeideasinthisbook.

116
Sw DevasaCooperativeGame page 117

7(newchapter)AFTERWORD 116
BUSINESSASA COOPERATIVE GAME 118
LEADERSHIPANDPROJECTMANAGEMENT 119
AGILE SOFTWARE DEVELOPMENT 118
EVERYONE 120
REFERENCES 121

REFERENCES 121

117
Sw DevasaCooperativeGame page 118

AgileSoftwareDevelopment
Designingtheuserexperience(studyingtheusers,de tegration with automated testing lets the team ex
signingthesystemmetaphor,detailingthescreens)has periment, recover from mistakes, and follow
a lot of crossdependencies with programming the evolvingneedsmoreeasily.
functions. Since there is no simple answer, use the Demand frequent delivery of running, tested fea
principles in this book and watch closely the depend tures62.Negotiateoverhowfrequent "frequent" is,
encies between user experience (UX) design and pro andhowdelivered"delivered"is,butbeclearthat
gramdesign. demeritsaccrueforeach layer of the software not
Youwillprobablyinvestigatetheusers'needs and integrated, and each stage removed from the real
develop the initial system metaphor as a separate endusersthatyour"delivery"consistsof.Connect
activitypriortosystemsoftwaredevelopment,be thefrequentdeliveriestobusinessvalue.
causethereisprobablyalongleadtime neededto
makethosedecisions.
OncetheinitialUXmodelisbuilt,youcanproba
bly grow the screens incrementally just ahead of
thesoftwarethatsupportsit.
TheUXdesignersprobablyneedatleastaweekor
two lead time (ahead of the programmers) to get
theirthoughtsinorderforanygivenfunction.The
lead time question has to be revisited frequently,
sincetheanswerislikelyvarybyteamandbyas
signment.Don'tgettrappedintothinkingthatthere
is only one answer. Here, more than in other
places,theoptimalstrategyvarieswidely.
Avoid the common misunderstandings that have at
tachedtoagiledevelopment.
Bear in mind that agile means "pay attention to
current realities" (as opposed to "no planning").
Alwayshaveacoarsegrainedlongtermplananda
finegrainedshorttermplan.Learnafastplanning
technique61,andrebuildtheplanfrequently.
Don't believe that "more agile" equals "better."
Agility,howevernifty,isonlyoneprioritythatcan
attach to a project. Balance the desire for agility
with the other priorities clamoring for attention.
Learntomixagilestrategiesintoyourotherpriori
ties.
Don'tbelievethat"shorteriterations"equals either
"better" or "more agile," otherwise your iterations
will degenerate into nothing more than planning
windows that are not connected with either busi
nessvalueordeliveringavaluablesystem,Findan
iterationlengththatworks foryourteamandcon
nectswithbusinessuse.
Incorporate automated unit testing, automated
system testing, and automated system builds with
tests into yourteam's daily activities. Frequent in

61
See, for example, the Blitz Planning technique described in (Cockburn
62
2005) ThanksagaintoRonJeffriesforthisoutstandingphrase.

118
Sw DevasaCooperativeGame page 119

BusinessasaCooperativeGame
Most of business is nothing more than a cooperative back and the movement of ideas, and slows your
(andcompetitive!)gameofinventionandcommunica business.
tion.This means that thechapters onthe impossibility Try some friendly competition inside your team,
of communication, quirks and motivators of individu makingsureto handout interestingrewards atthe
als, rules of teams, all apply directly. Consider doing end.Youwillprobablydobetterifyoudon'tmake
thefollowing: the competition directly affect the team's output,
Reread the Declaration of InterDependence because people will try to cheat the system. Ide
slowlyandonephraseatatime.Askyourselfwhat ally,whentheycolludeandcheat,theyshouldim
stops you from incorporating each clause (some prove,nothurt,yourtotaloutput.
few may prove inapplicable). Ask yourself what Revisit the 2D Crystal grid of projects (the one
your core operating principles are keep the num showing team size and criticality) and the sweet
ber to three, four, or five. Look to see whether spotsofagile development. Wherever you can re
thosecoreprinciplesarecapturedthere,andifnot, duce team size, collocate the team, or get faster
whatwouldyouneedtoadd. feedback, you have a chance to reduce communi
Improve the quality of your team by paying close cationandcoordinationoverhead.
attention to goodwill in the communications and Findopportunitiestoget"smallwins."Evenjusta
the quality of the community. The speed of the few to start with will make the team stronger and
team is limited by the speed at which ideas move morerobust,improve moraleandcommunity, and
(plus, not to forget, the talent present). Anything giveyouchancestotuneboththedirectionyouare
that slows the movement of ideas slows the prog headed and the operating conventions the team is
ressoftheteam. usingtogetthere.
Holdareflectionworkshoponceamonth,nomat Smallwins plus periodicreflectionareas close to be
ter what business you are in. Discuss your team's ingamagicsauceas Iknow.Makethempart of your
operating conventions, what is slowing the team core.
down, and what it might try to differently. Track
ongoing problems, because those may need to be
escalatedtohighermanagementforresolution.
Revisityourvendorcontracts.Incorporatetheidea,
"Theyarealsous."Aslongas youtreat yoursup
plychainasthem,itslowstherateofcriticalfeed

Leadership
Everythingjustmentionedregardingbusiness asa co Arrangeforadequatetimetofocusonthework.
operativegameapplies directlytoleadershipandproj Generate clarity in both direction and priori
ect management, in software development or another ties.
business, in a managementoriented organization or a Afteryoustripallthepaperworkanddrudgeoutof
selforganizedgroup.Consider: the leader or manager's assignment, those items
Noticethattheroleoftheleaderormanagerisam remain. They become the heart of the leader or
plydescribedinthefollowinglist. manager'swork.
Get executive nourishment (both money and Learnthe language of lean manufacturing, in par
decisions). ticularthenotionofapullsystemandthepenalties
Developtalentandskills. of queues of work in progress. Learn to think of
Integrateresultsfrequently. developmentasanassemblylineofdecisions,and
Reflectively incorporate feedback on both the visualize the dependencies between the individual
productandtheprocess. peopletocreatemeaningfulstrategies.
Buildamicabilityandpersonalsafety. Separateproject management strategies from your
Monitor communication for frequency and organization's process policies to the greatest ex
quality. tent possible.Different situations call for different
management strategies, and you don't want to be

119
Sw DevasaCooperativeGame page 120
constrained to an obviously ineffective strategy opment strategies into the corporate methodology
just because someone unwittingly bundled devel standard.

Everyone

Alwaysremember:"There'sonlyus."

120
Sw DevasaCooperativeGame page 121

REFERENCES
References
(Allen1998)Allen,T.J.,ManagingtheFlowofTechnology,MITPress,Boston,MA,1984.
Austin, R., Devin, L., Artful Making: What Managers Need to Know about How Artists Work, Financial Times
PrenticeHall,UpperSaddleRiver,NJ,2003.
(Augustine2005)Augustine,S.,ManagingAgileProjects,PrenticeHallPTR,UpperSaddleRiver,NJ,2005.
(Boehm 2004) Boehm, B., Turner., R., Balancing Agility and Discipline: A Guide for the Perplexed, Addison
Wesley,Boston,MA,2004.
(Booch1996)Booch,G.,ObjectSolutions:ManagingtheObjectOrientedProject,AddisonWesley,MenloPark,
CA,1996. emailhim?
(Cerasoli 2001) Cerasoli, R., Office of the Inspector General, Commonwealth of Massachusetts, "A History of
CentralArtery/TunnelProjectFinances19942001:ReporttotheTreasureroftheCommonwealth",availableonline
athttp://www.state.ma.us/ig/publ/cat01rpt.pdf.
(ChaseURL)[9]Chase,T.,"Revelation13:TheBigDig,"onlineathttp://www.revelation13.net/bigdig.html.
(Cockburn)Cockburn,A.,SurvivingObjectOrientedProjects,AddisonWesley,Reading,MA,1995.
(Cockburn ) Cockburn, A., Crystal Clear: A HumanPowered Methodology for Small Teams, AddisonWesley,
Boston,MA,2005.
Highsmith,J.,AgileProjectManagement:CreatingInnovativeProducts,AddisonWesley,Boston,MA,2004.
Holtzblatt, K., Wendell, J., Wood, S., Rapid Contextual Design: A HowTo Guide to Key Techniques for User
CenteredDesign,Elsevier,SanFrancisco,CA,2005.
Laufer,A.,SimultaneousManagement:ManagingProjectinaDynamicEnvironment,Amacom,New York,NY,
1997.
Marcus, A., Big Winners and Big Losers: The 4 Secrets of LongTerm Business Success and Failure, Wharton
SchoolPublishing,UpperSaddleRiver,NJ,2005.
(NATO1968)Naur,P.Randell,B,SoftwareEngineering:ReportonaconferencesponsoredbytheNATOScience
Committee, Garmisch, Germany, 7th to 11th October 1968, Naur, P., Randell, B., eds., 1969, online at
http://homepages.cs.ncl.ac.uk/brian.randell/NATO/
Ohno,T., ToyotaProductionSystem:BeyondLargeScaleProduction,ProductivityPress,Portland,OR,1988..
Poppendieck,M.,Poppendieck,T.,LeanSoftwareDevelopment:AnAgileToolkit,AddisonWesley,Boston,Mam
2003.
Rich94:Rich,B,Janos,L.,SkunkWorks:APersonalMemoirofMyYears atLockheed,Little,BrownandCom
pany,Boston,MA,1994.
Reinertsen, D., Managing the Design Factory: A Product Developer's Toolkit, The Free Press, New York, NY,
1997.
(Schn1983)Schn,D., TheReflectivePractitioner:HowProfessionalsThinkinAction,BasicBooks,1983.
Schwaber,K.,Beedle,M., AgileSoftwareDevelopmentwithScrum,PrenticeHall,UpperSaddleRiver,NJ,2002.
Stapleton,J., DSDM:BusinessFocussedDevelopment,2nd Edition,AddisonWesley,London,UK,2003.

121
Sw DevasaCooperativeGame page 122
Weick,K., TheSocialPsychologyofOrganizing,2nd Edition,McGrawHill,NewYork,NY,1979.
Womack,J.,Jones,D.,Roos,D., TheMachineThatChangedtheWorld:TheStoryofLeanProduction,HarperPer
ennial,NewYork,NY,1991.
(Wright 1953) Wright, O., How We Invented the Airplane: An Illustrated History, edited by F.C. Kelly, Dover,
1953.

Charan,R.,"HomeDepot'sBlueprintforCultureChange",HarvardBusinessReview,April,2006,pp.6070.
Rigby,D.,Vishwanath,V.,"Locatization:TheRevolutioninConsumerMarkets",HarvardBusinessReview,April,
2006,pp.8292.

open
http://alistair.cockburn.us/crystal/talks/easq/efficiencyasaspendablequantity020.ppt, ICAM paper: Case Studies
MotivatingEfficiencyasa"Spendable"Quantity
"LearningfromAgileSoftwareDevelopment",parts1and2,CrossTalkMagazine,Oct,2002(pp.1014)andNov,
2002(
CockburnEiE:[http://c2.com/cgi/wiki?ExpertInEarshot]
CockburnPrrP:[http://alistair.cockburn.us/crystal/articles/prrp/projectriskreductionpatterns.html]
CoplienOP:[http://www.belllabs.com/cgiuser/OrgPatterns/OrgPatterns?OldOrgPatterns]

todo
cockburnprocessthe4th dimension
cockburngovernancearticle
SketchesofThought,Goel,V.,MITPress,Boston,MA,1995.
ogunaike1995
gladwell,Blink,???2005
boehm,b,"Getreadyforagilemethodswithcare,"IEEEComputer,jan2002?pp.???
boehm,turnerBalancingagilitywithdiscipline
goldrattcriticalchain
goldratttoc
ADC2003URL
Andersonbook
Andersonexperiencereport:
http://www.agilemanagement.net/Articles/Papers/BorConManagingLeanDevWithCFDs.pdf
http://www.agilemanagement.net/Articles/Papers/Feature_Driven_Development_
_towards_a_TOC__Lean__Six_Sigma_solution_v1_0.pdf
http://www.agilemanagement.net/Articles/Papers/From_Worst_to_Best_in_9_Months_Final_1_3.pdf
anderson:http://www.agilemanagement.net/Articles/Papers/Feature_Driven_Development_
_towards_a_TOC__Lean__Six_Sigma_solution_v1_0.pdf
http://www.agilemanagement.net/Articles/Papers/From_Worst_to_Best_in_9_Months_Final_1_3.pdf

JeffriesRTFURL
Larmaniterativebook

122
Sw DevasaCooperativeGame page 123
Brooksnosilverbullet
inevitableillusions
coareiterationshazardous
Co A Governance Model For Agile and HybridAgile Projects Alistair Cockburn, Humans and Technology,
arc@acm.org,AlistairCockburnHaTTR2005.03,Sept.23,2005)
patton20042005articles
extremehoururl
walkingskeletonrefCC
Orbanes,?,"EverythingIknowaboutbusinessIlearnedfromMonopoly",HarvardBusinessReview,2002.
Cumins,D.,"TheDevelopmentGame,"AgileDevelopmentConference,2003,onlineat...
ArtfulMaking?
theendofs.e.andthestartofcoopergaming
Mathiassen2002articleAalborgcurriculum?
Olsonarticle
GoldrattTheGoalref
Anderson,D.,AgileManagementforSoftwareEngineering:ApplyingtheTheoryofConstraintsforBusiness Re
sults,PrenticeHallPTR,2003.
Augustine,S., ManagingAgileProjects,PrenticeHallPTR,2005.
Highsmith,J.,AgileProjectManagement:CreatingInnovativeProducts,AddisonWesley,2004.
DeCarlo,D.,eXtremeProjectManagement:UsingLeadership,Principles,andToolstoDeliverValueintheFace
ofVolatility,JosseyBass,2004.
Schwaber,K., AgileProjectManagementwithScrum,MicrosoftPress,2004.
Wysocki,R.,EffectiveProjectManagement:Traditional,Adaptive,Extreme,ThirdEdition,Wiley,2003.
Ambler,S.,AgileModeling,???
Cohn,M., UserStoriesApplied,AddisonWesley,2005???
ScottAmblerDecember2005issueofSoftwareDevelopment"HowAgileAreYou?",
http://www.sdmagazine.com/documents/s=9933/sdm0512h/0512h.html
Weick,K.

Anderson:ManagingLeanSoftwareDevelopmentwithCumulativeFlowDiagrams,BorCon,2004.

Glen Alleman's "Making Agile Development Work in a Government Contracting Environment" (Alleman 2003)
[http://www.niwotridge.com/PDFs/ADC%20Final.pdf]
JohnRusk's"AgileCharts"(Ruskurl)[http://www.agilekiwi.com/agile_charts.htm]
MikeCohn'sAgileEstimatingandPlanning(PrenticeHallPTR2005)

(Constantine2001)Constantine,L.,Lockwood,L.,"StructureandStyleinUseCasesfor
UserInterfaceDesign",invanHarmelen,M.(ed.),ObjectModelingandUserInterfaceDesign,
AddisonWesley,2001.Extractavailableonlineathttp://www.foruse.com/articles/structurestyle2.pdf.

(Cockburn 1995sucwg) Cockburn, A., "Structuring Use Cases with Goals," online at
http://alistair.cockburn.us/crystal/articles/sucwg/structuringucswithgoals.htm.

(ambler2005.12)http://www.sdmagazine.com/documents/s=9933/sdm0512h/0512h.html
123
Sw DevasaCooperativeGame page 124

patton2004unfixingthefixedpricecontract

Satir,V.,"FromVirginiaSatir:ModelsofPerceivingtheWorldAttitudeTowardChange",inCouplesTherapyin
ManagedCare:FacingtheCrisis,Brothers,B.J.,ed.,HaworthPress,1999,p.4..

(Martin 2006), Martin, R., "Estimating Prices Up Front," in the comp.software.extremeprogramming Google
Groupsdiscussion,Sep2620047:42am,fullURL=http://groups.google.com/group/comp.software.extremeprogram
ming/browse_frm/thread/7a063ecc282d852a/9a203fad85f3d363?hl=en&lr=&rnum=1&prev=/groups%3Fq%3D%252
2We%2520aren't%2520talking%2520about%2520throwing%2520anything%2520together.%26hl%3Den%26lr%3D%
26selm%3Dhsedl0p0n9a0i5hunfu69l5ledcr03c483%25404ax.com%26rnum%3D1#9a203fad85f3d363

(cockburn2002.10crosstalka)Cockburn,A.,"LearningfromAgileDevelopment"parts1and2,inCrossTalk:The
JournalofDefenseSoftwareEngineering,onlineat http://www.stsc.hill.af.mil/crosstalk/2002/10/cockburn.html
and http://www.stsc.hill.af.mil/crosstalk/2002/11/cockburn.html.

(Marcus2006)Marcus,A.,BigWinnersandBigLosers:The4SecretsofLongTermBusinessSuccess andFail
ure,WhartonSchoolPublishing,2006.

(Owen1997)Owen,H., OpenSpaceTechnology:AUser'sGuide,2ndedition,BerrettKoehlerPublishers,1997.
(Coplien2005)Coplien,J.,Harrison,N.,Organizational PatternsOfAgileSoftware Development, Prentice Hall,
2005.

12680= 46pagesleft7/037pm
12685= 41pagesleft7/0310pm
13591= 44pagesleft7/046pm
141101= 40pagesleft7/052pm
143112= 31pagesleft7/055pm
143124+2= 21 pagesleft7/055pm
13pagesleft7/066pm

124

You might also like