The Scrum Field Guide: Agile Advice For Your First Year And Beyond (Addison Wesley Signature Series) Guide 2nd Edition 2016
User Manual:
Open the PDF directly: View PDF .
Page Count: 475 [warning: Documents this large are best viewed by clicking the View PDF Link!]
- About This eBook
- Title Page
- Copyright Page
- Dedication Page
- Contents
- Foreword by Jeff Sutherland
- Foreword by Kenneth S. Rubin
- Preface
- Acknowledgments
- About the Author
- Chapter 1. Scrum: Simple, Not Easy
- Part I: Getting Prepared
- Part II: Field Basics
- Part III: First Aid
- Part IV. Advanced Survival Techniques
- Chapter 23. Sustainable Pace
- Chapter 24. Delivering Working Software
- Chapter 25. Optimizing and Measuring Value
- Chapter 26. Up-Front Project Costing
- Chapter 27. Documentation in Scrum Projects
- Chapter 28. Outsourcing and Offshoring
- Chapter 29. Prioritizing and Estimating Large Backlogs—The Big Wall
- Chapter 30. Writing Contracts
- Part V. Wilderness Essentials
- Appendix. Scrum Framework
- Index
AboutThiseBook
ePUBisanopen,industry-standardformatforeBooks.However,supportofePUBand
itsmanyfeaturesvariesacrossreadingdevicesandapplications.Useyourdeviceorapp
settingstocustomizethepresentationtoyourliking.Settingsthatyoucancustomizeoften
includefont,fontsize,singleordoublecolumn,landscapeorportraitmode,andfigures
thatyoucanclickortaptoenlarge.Foradditionalinformationaboutthesettingsand
featuresonyourreadingdeviceorapp,visitthedevicemanufacturer’sWebsite.
Manytitlesincludeprogrammingcodeorconfigurationexamples.Tooptimizethe
presentationoftheseelements,viewtheeBookinsingle-column,landscapemodeand
adjustthefontsizetothesmallestsetting.Inadditiontopresentingcodeand
configurationsinthereflowabletextformat,wehaveincludedimagesofthecodethat
mimicthepresentationfoundintheprintbook;therefore,wherethereflowableformat
maycompromisethepresentationofthecodelisting,youwillseea“Clickheretoview
codeimage”link.Clickthelinktoviewtheprint-fidelitycodeimage.Toreturntothe
previouspageviewed,clicktheBackbuttononyourdeviceorapp.
THESCRUMFIELDGUIDE
SECONDEDITION
AgileAdviceforYourFirstYearandBeyond
MitchLacey
Boston•Columbus•Indianapolis•NewYork•SanFrancisco•Amsterdam•CapeTown
Dubai•London•Madrid•Milan•Munich•Paris•Montreal•Toronto•Delhi•Mexico
City
SaoPaulo•Sidney•HongKong•Seoul•Singapore•Taipei•Tokyo
Manyofthedesignationsusedbymanufacturersandsellerstodistinguishtheirproducts
areclaimedastrademarks.Wherethosedesignationsappearinthisbook,andthe
publisherwasawareofatrademarkclaim,thedesignationshavebeenprintedwithinitial
capitallettersorinallcapitals.
Theauthorandpublisherhavetakencareinthepreparationofthisbook,butmakeno
expressedorimpliedwarrantyofanykindandassumenoresponsibilityforerrorsor
omissions.Noliabilityisassumedforincidentalorconsequentialdamagesinconnection
withorarisingoutoftheuseoftheinformationorprogramscontainedherein.
Forinformationaboutbuyingthistitleinbulkquantities,orforspecialsalesopportunities
(whichmayincludeelectronicversions;customcoverdesigns;andcontentparticularto
yourbusiness,traininggoals,marketingfocus,orbrandinginterests),pleasecontactour
corporatesalesdepartmentatcorpsales@pearsoned.comor(800)382-3419.
Forgovernmentsalesinquiries,pleasecontactgovernmentsales@pearsoned.com.
ForquestionsaboutsalesoutsidetheU.S.,pleasecontactinternational@pearsoned.com.
VisitusontheWeb:informit.com/aw
LibraryofCongressControlNumber:2015955194
Copyright©2016MitchellG.Lacey
Allrightsreserved.PrintedintheUnitedStatesofAmerica.Thispublicationisprotected
bycopyright,andpermissionmustbeobtainedfromthepublisherpriortoanyprohibited
reproduction,storageinaretrievalsystem,ortransmissioninanyformorbyanymeans,
electronic,mechanical,photocopying,recording,orlikewise.Forinformationregarding
permissions,requestformsandtheappropriatecontactswithinthePearsonEducation
GlobalRights&PermissionsDepartment,pleasevisitwww.pearsoned.com/permissions/.
ISBN-13:978-0-13-385362-9
ISBN-10:0-13-385362-4
TextprintedintheUnitedStatesonrecycledpaperatRRDonnelleyinCrawfordsville,
Indiana.
Firstprinting,December2015
Thisbookisdedicatedtotwoteams;Thefirstteamismyfamily.
Mywife,Bernice,andmykids,Ashley,Carter,andEmma—withouttheir
supportandconstantlyasking“areyoudoneyet?”thisbookwouldnot
behere.Theykeptmefocusedandsupportedmethroughout.
ThesecondteamisthegroupofguysfromtheFalconprojectwhile
atMicrosoft.JohnBoal,DonavanHoepcke,BartHsu,MikePuleio,
MonLeelaphisut,andMichaelCorrigan(ourboss),thankyouforhaving
thecouragetoleapwithme.Youguysmadethisbookareality.
Contents
ForewordbyJeffSutherland
ForewordbyKennethS.Rubin
Preface
Acknowledgments
AbouttheAuthor
Chapter1Scrum:Simple,NotEasy
TheStory
Scrum
WhatIsScrum?
ImplementingScrum
WhenIsScrumRightforMe?
ChangeIsHard
KeystoSuccess
References
PARTIGETTINGPREPARED
Chapter2GettingPeopleonBoard
TheStory
TheModel
ChangeTakesTime
EstablishaSenseofUrgency
FormaPowerfulGuidingCoalition
CreateaVision/PaintaPictureoftheFuture
CommunicatetheVision
EmpowerOtherstoActontheVision
PlanforandCreateShort-TermWins
ConsolidateImprovements
InstitutionalizeNewApproaches
KeystoSuccess
BePatient
ProvideInformation
References
WorkConsulted
Chapter3UsingTeamConsultantstoOptimizeTeamPerformance
TheStory
TheModel
EstablishingaTeamConsultantPool
BuildingYourTeam
KeystoSuccess
Accountability
Experiment
BeCautiousofOverloading
PlanforPotentialDowntime
TeamConsultantsAreNotaReplacementforDedicatedTeams
Reference
WorksConsulted
Chapter4PredictingTeamVelocity
TheStory
TheModel
TheProblemwithHistoricalData
SheddingLightonBlindEstimation
WaitandSee(UseRealData)
TruncatedDataCollection
KeystoSuccess
References
Chapter5ImplementingtheScrumRoles
TheStory
TheModel
ChoosingRoles
MixingRoles
When,NotIf,YouDecidetoMixRolesAnyway
KeystoSuccess
Chapter6DeterminingSprintLength
TheStory
TheModel
ProjectDuration
ProductOwnerandStakeholders
ScrumTeam
DeterminingYourSprintLength
BeWarned
BeyondtheQuiz
KeystoSuccess
SprintsLongerthanOneMonth
ExtendingSprintLength
Reference
Chapter7HowDoYouKnowYou’reDone?
TheStory
TheModel
Introduction
Brainstorming
Categorization
SortingandConsolidation
CreationandPublishing
Whatabout“Undone”Work?
KeystoSuccess
References
Chapter8TheCaseforaFull-TimeScrumMaster
TheStory
TheModel
KeystoSuccess
RemoveImpediments/ResolveProblems
BreakUpFights/ActasTeamMom
ReportTeamData
FacilitateandHelpOutWhereNeeded
EducatetheOrganizationandDriveOrganizationalChange
InSummary
References
WorkConsulted
PARTIIFIELDBASICS
Chapter9WhyEngineeringPracticesAreImportantinScrum
TheStory
ThePractices
ImplementingTest-DrivenDevelopment
Refactoring
ContinuousIntegrationandMoreFrequentCheck-Ins
PairProgramming
AutomatedIntegrationandAcceptanceTests
KeystoSuccess
NotaSilverBullet
StartingOut
GettheTeamtoBuyIn
DefinitionofDone
BuildEngineeringintoProductBacklog
GetTraining/Coaching
PuttingItTogether
References
WorksConsulted
Chapter10CoreHours
TheStory
TheModel
ColocatedTeams
DistributedandPart-TimeTeams
KeystoSuccess
Chapter11ReleasePlanning
TheStory
TheModel
SketchaPreliminaryReleasePlan
ConsiderDegreeofConfidence
MaintainingtheReleasePlanthroughouttheProject
ProjectCost
DeterminingtheEndGame
KeystoSuccess
CommunicateUpFrontandOften
UpdatetheReleasePlanafterEverySprint
TrytoDotheHighest-PriorityItemsFirst
RefineEstimatesonBiggerItems
DeliverWorkingSoftware
Reference
Chapter12DecomposingStoriesandTasks
TheStory
TheModel
SettingtheStage
StoryDecomposition
TaskDecomposition
KeystoSuccess
References
WorksConsulted
Chapter13KeepingDefectsinCheck
TheStory
TheModel
KeystoSuccess
AdditionalInformation
References
WorkConsulted
Chapter14SustainedEngineeringandScrum
TheStory
TheModel
DedicatedTimeModel
DataGatheredoverTime
DedicatedTeamModel
KeystoSuccess
CycleDedicatedMaintenanceTeamMembers
RetrofitLegacyCodewithGoodEngineeringPractices
IntheEnd
References
Chapter15TheSprintReview
TheStory
TheModel
PreparingfortheMeeting
RunningtheMeeting
KeystoSuccess
TakeTimetoPlan
DocumentDecisions
AskforAcceptance
BeBrave
WorksConsulted
Chapter16Retrospectives
TheStory
ThePractice
GiveRetrospectivesTheirDueDiligence
PlananEffectiveRetrospective
RuntheRetrospective
KeystoSuccess
ShowThemtheWhy
BuildaGoodEnvironment
HoldThemWhenYouNeedThem
TreatRetrospectivesLiketheFirst-ClassCitizensTheyAre
References
PARTIIIFIRSTAID
Chapter17FacilitatingaProductiveDailyScrum
TheStory
TheModel
TimeofDay
StartandEndonTime
ExposeHiddenImpediments
EndwiththeBeginninginMind
KeystoSuccess
KeeptheMeetingCadence
Stand—Don’tSit
WorkasaTeam
BePatient
Chapter18TheFourthQuestioninScrum
TheStory
TheModel
KeystoSuccess
Reference
Chapter19KeepingPeopleEngagedwithPairProgramming
TheStory
TheModel
PromiscuousPairing
Micro-Pairing
KeystoSuccess
References
Chapter20AddingNewTeamMembers
TheStory
TheModel
TheExercise
KeystoSuccess
AccepttheDropinVelocity
ChooseWisely
RiskyBusiness
References
Chapter21WhenCulturesCollide
TheStory
TheModel
KeystoSuccess
ControlYourOwnDestiny
WorkwithWhatYouHave
StaytheCourse
References
WorksConsulted
Chapter22SprintEmergencyProcedures
TheStory
TheModel
RemoveImpediments
GetHelp
ReduceScope
CanceltheSprint
KeystoSuccess
References
PARTIVADVANCEDSURVIVALTECHNIQUES
Chapter23SustainablePace
TheStory
TheModel
ShortenIterations
MonitorBurndownCharts
IncreaseTeamTime
KeystoSuccess
References
Chapter24DeliveringWorkingSoftware
TheStory
TheModel
CoreStory
NumberofUsers
StartwiththeHighestRiskElement
ExpandandValidate
KeystoSuccess
ChangeinThinking
Rework
FocusonEnd-to-EndScenarios
WorkConsulted
Chapter25OptimizingandMeasuringValue
TheStory
TheModel
Stories
Taxes
Spikes
TechnicalDebt
OtherPotentialCategories
StructuringtheData
UsingtheData
KeystoSuccess
EducateStakeholders
WorkwithStakeholders
DetermineTrendsandPatterns
Reference
WorksConsulted
Chapter26Up-FrontProjectCosting
TheStory
TheModel
FunctionalSpecifications
UserStories
EstimatingStories
PrioritizingStories
DeterminingVelocity
DerivingCost
BuildtheReleasePlan
KeystoSuccess
References
Chapter27DocumentationinScrumProjects
TheStory
TheModel
WhyDoWeDocument?
WhatDoWeDocument?
WhenandHowDoWeDocument?
DocumentinginanAgileProject
StartingProjectswithoutExtensiveDocumentation
KeystoSuccess
References
Chapter28OutsourcingandOffshoring
TheStory
TheModel
ConsidertheTrueCosts
DealingwithReality
KeystoSuccess
ChoosetheRightOffshoreTeam
AllocatetheWorkintheLeastPainfulWay
StickwiththeScrumFramework
BuildaOne-TeamCulture
BePreparedtoTravel
HaveaProject/TeamCoordinator
NeverOffshoreWhen…
References
WorkConsulted
Chapter29PrioritizingandEstimatingLargeBacklogs—TheBigWall
TheStory
TheModel
Team
Stakeholders
KeystoSuccess
PreplanningIsEssential
FocusDiscussionsandSetTimeLimits
UseaParkingLotforUnresolvableDisagreements
BringExtraCards/PaperforStoriesCreatedintheRoom
TheBigWallwithRemote/DistributedTeams
RemindEveryoneThatThingsWillChange
References
Chapter30WritingContracts
TheStory
TheModel
TraditionalContractsandChangeOrders
Timing
RangesandChanges
KeystoSuccess
CustomerAvailability
AcceptanceWindow
Prioritization
TerminationClauses
Trust
References
PARTVWILDERNESSESSENTIALS
Chapter31DrivingtoDonethroughCollaboration
TheStory
TheModel
TaskPoker
PairProgramming
LimitOpenWorkItems
Two-WeekSprints
CreatingVisibilitywithaTaskBoard
KeystoSuccess
EachVoiceIsHeard
SharedUnderstandingoftheWork
EveryTeamMemberIsInvestedintheOutcome
Don’tAverageTaskEstimates
AvoidExcessivelyGranularTaskEstimates
ScrumIsBuiltonTeamwork
References
Chapter32HowStoryPointsRelatetoHours
TheStory
TheModel
FearFactor
WideRanges
It’sHow,NotHowLong
KeystoSuccess
CollectingtheRightData
UsingDatatoMakeImprovements
REFLECTonStoryPoints
References
Chapter33ImmersiveInterviewingandHiring
TheStory
TheModel
Forecast
HirefortheRightReasons
CostofaBadHire
Skills,Competencies,orBoth
HowtoHire
CandidateScreening
KeystoSuccess
BuildaRepeatableHiringProcess
FocusonCompetencies,NotonQuestions
SkillsAreEasytoLearn,CompetenciesAreNot
FindPeopleStrongerthanYou
UnderstandtheCostsandInvestHeavily
References
WorkConsulted
Chapter34AligningIncentiveswithOutcomes
TheStory
TheModel
SettheFocus
AlignaroundCustomerSatisfaction
PrioritizeandShift
SideBenefits
KeystoSuccess
IntegrateSalesandDevelopment
StopSacrificingPeopleandQuality:HaveaPrioritizedProjectPortfolio
AddDedicatedTeams,NotRandomPeople
Organization-wideCoordination
ExecutiveSupport
Reference
Chapter35RiskManagementinScrum
TheStory
TheModel
CustomerRisk:ProductOwner
SocialRisk:ScrumMaster
TechnicalRisk:Development(Core)Team
IntheEnd…
KeystoSuccess
LetGo
LetAgile
WorksConsulted
AppendixScrumFramework
TheRoles
ScrumMaster
ProductOwner
DevelopmentTeam
Foreword
byJeffSutherland
MitchandIhaveworkedtogetherformanyyearstrainingdevelopersinScrum.Studying
thisbookcanhelpusersovercomethebiggestchallengesthathaveoccurredinrecent
yearsasagilepractices(75percentofwhichareScrum)havebecometheprimarymodeof
softwaredevelopmentworldwide.
TenyearsaftertheAgileManifestowaspublished,someoftheoriginalsignatoriesand
alargergroupofagilethoughtleadersmetatSnowbird,Utah,thistimetodoa
retrospectiveontenyearsofagilesoftwaredevelopment.Theycelebratedthesuccessof
theagileapproachtoproductdevelopmentandreviewedthekeyimpedimentstobuilding
onthatsuccess.Andtheycametounanimousagreementonfourkeysuccessfactorsfor
thenexttenyears.
1.Demandtechnicalexcellence.
2.Promoteindividualchangeandleadorganizationalchange.
3.Organizeknowledgeandimproveeducation.
4.Maximizevaluecreationacrosstheentireprocess.
Let’sseehowMitch’sbookcanhelpyoubecomeanagileleader.
DemandTechnicalExcellence
ThekeyfactordrivingtheexplosionoftheInternetandtheapplicationsonsmartphones
hasbeendeployingapplicationsinshortincrementsandgettingrapidfeedbackfromend
users.Thisprocessisformalizedinagilitybydevelopingproductsinshortsprints,always
amonthorlessandmostoftentwoweeksinlength.WeframedthisissueintheAgile
Manifestobysayingthat“wevalueworkingsoftwareovercomprehensive
documentation.”
TheTenYearAgileRetrospectiveoftheManifestoconcludedthatthemajorityofagile
teamsarestillhavingdifficultydevelopingproductsinshortsprints(usuallybecausethe
management,thebusiness,thecustomers,andthedevelopmentteamsdonotdemand
technicalexcellence).
Engineeringpracticesarefundamentaltosoftwaredevelopment,and17percentof
ScrumteamsimplementScrumwithXPengineeringpractices.ThefirstScrumteamdid
soin1993beforeXPwasevenborn.Itisonlycommonsensetoprofessionalengineers.
MitchsaysinthefirstchapterthatheconsiderscertainXPpracticestobemandatory—
sustainablepace,collectivecodeownership,pairprogramming,test-drivendevelopment,
continuousintegration,codingstandards,andrefactoring.Thesearefundamentalto
technicalexcellence,andthe61percentofagileteamsusingScrumwithoutimplementing
thesepracticesshouldstudyMitch’sbookcarefullyandfollowhisguidance.Neglectingto
usethesemandatoryXPpracticesisthereasontheydonothaveshippablecodeattheend
oftheirsprints!
Mitch’sbookcontainsmuchmoreguidanceontechnicalexcellence,andagileleaders,
whethertheyareinmanagementorengineering,needtodemandthetechnicalexcellence
thatMitcharticulatessowell.
PromoteIndividualChangeandLeadOrganizationalChange
Agileadoptionrequiresrapidresponsetochangingrequirementsalongwithtechnical
excellence.ThiswasthefourthprincipleoftheAgileManifesto—“respondtochangeover
followingaplan.”However,individualsadaptingtochangeisnotenough.Organizations
mustbestructuredforagileresponsetochange.Ifnot,theypreventtheformationof,or
destroy,high-performingteamsbecauseoffailuretoremoveimpedimentsthatblock
progress.
MitchstepsthroughtheHarvardBusinessSchoolkeysuccessfactorsforchange.A
senseofurgencyisneeded.Changeisimpossiblewithoutit.Agileleadersneedtoliveit.
Aguidingcoalitionforinstitutionaltransformationisessential.Agileleadersneedtomake
suremanagementiseducated,trained,onboard,andparticipatingintheScrum
implementation.
Creatingavisionandempoweringothersisfundamental.Arbitrarydecisionsand
commandandcontrolmandateswillkillagileperformance.Agileleadersneedtoavoid
thesedisastersbyplanningforshort-termwins,consolidatingimprovements,removing
impediments,andinstitutionalizingnewapproaches.Agileleadersneedtobepartof
managementormusttrainmanagementaswellasengineering,andMitch’sbookcanhelp
youseewhatyouneedtodoandhowtodoit.
OrganizeKnowledgeandImproveEducation
Alargebodyofknowledgeonteamsandproductivityisrelativelyunknowntomost
managersandmanydevelopers.Mitchtalksabouttheseissuesthroughoutthebook.
SoftwareDevelopmentIsInherentlyUnpredictable
FewpeopleareawareofZiv’slaw:Softwaredevelopmentisunpredictable.Thelarge
failurerateonprojectsworldwideislargelyduetolackofunderstandingofthisproblem
andtheproperapproachtodealwithit.Mitchdescribestheneedtoexpectandadaptto
constantchange.Thestrategiesinthisbookhelpyouavoidmanypitfallsandremove
manyblockstoyourScrumimplementation.
UsersDoNotKnowWhatTheyWantuntilTheySeeWorkingSoftware
Traditionalprojectmanagementerroneouslyassumesthatusersknowwhattheywant
beforesoftwareisbuilt.ThisproblemwasformalizedasHumphrey’slaw,yetthislawis
systematicallyignoredinuniversityandindustrytrainingofmanagersandprojectleaders.
Thisbookcanhelpyouworkwiththisissueandavoidbeingblindsided.
TheStructureoftheOrganizationWillBeEmbeddedintheCode
AthirdexampleofamajorproblemthatisnotgenerallyunderstoodisConway’slaw:The
structureoftheorganizationwillbereflectedinthecode.Atraditionalhierarchical
organizationalstructurenegativelyimpactsobject-orienteddesign,resultinginbrittle
code,badarchitecture,poormaintainabilityandadaptability,alongwithexcessivecosts
andhighfailurerates.MitchspendsalotoftimeexplaininghowtogettheScrum
organizationright.Listencarefully.
MaximizeValueCreationAcrosstheEntireProcess
Agilepracticescaneasilydoubleortripletheproductivityofasoftwaredevelopmentteam
iftheproductbacklogisreadyandsoftwareisdoneattheendofasprint.Thisheightened
productivitycreatesproblemsintherestoftheorganization.Theirlackofagilitywill
becomeobviousandcausepain.
LackofAgilityinOperationsandInfrastructure
Assoonastalentandresourcesareappliedtoimproveproductbacklog,theflowof
softwaretoproductionwillatleastdouble—andinsomecasesbefivetotentimeshigher.
Thisexposesthefactthatdevelopmentoperationsandinfrastructurearecrippling
productionandmustbefixed.
LackofAgilityinManagement,Sales,Marketing,andProduct
Management
Atthefrontendoftheprocess,businessgoals,strategies,andobjectivesareoftennot
clear.Thislackofclarityresultsinaflatordecayingrevenuestreamevenwhen
productionofsoftwaredoubles.
Forthisreason,everyoneinanorganizationneedstobeeducatedaboutandtrainedon
howtooptimizeperformanceacrossthewholevaluestream.Agileindividualsneedto
leadthiseducationalprocessbyimprovingtheirabilitytoorganizeknowledgeandtrain
thewholeorganization.
TheBottomLine
ManyScrumimplementationsmakeonlyminorimprovementsandfinditdifficultto
removeimpedimentsthatembroiltheminconstantstruggle.Workcanbebetterthanthis.
Allteamscanbegood,andmanycanbegreat!Workcanbefun,businesscanbe
profitable,andcustomerscanbereallyhappy!
Ifyouarestartingout,Mitch’sbookcanhelpyou.Ifyouarestrugglingalongtheway,
thisbookcanhelpyouevenmore.Andifyouarealreadygreat,Mitchcanhelpyoube
greater.Improvementneverends,andMitch’sinsightistrulyhelpful.
—JeffSutherland
ScrumInc.
Foreword
byKennethS.Rubin
In1988,IwasthefirstemployeehiredbyParcPlaceSystemsaftertheSmalltalkresearch
teamwasspunoutofXeroxPARC(PaloAltoResearchCenter).Ourmissionwasto
commercializetheuseofobject-orientedtechnology.Duringthoseearlydaysofthe
object-technologymovement,weoftendiscussedwritingasortofrecipebooktohelp
companiesgetstartedwithobjecttechnology.Theideawastocollectthemostimportant
situations/issuesthatwesawcompaniesencounteringandpresentthemasasetofpatterns
orrecipesintheformat,“Ifyoufindyourselfinthissituation,trydoingthefollowing….”
Weneverdidwritethatparticularbook.
Fast-forwardover20yearstotheeraofagiledevelopment,andMitchLaceyhas
writtenhisownrecipebook:afieldguideonthetopicofScrum.Init,heshareshiswealth
ofScrumexperiencewithcompaniesthataregearinguptouseScrumorthosethatare
stillinthenascentstagesofapplyingit.
IfirstmetMitchin2007,shortlyafterIbecametheveryfirstmanagingdirectorofthe
worldwideScrumAlliance.Atthattime,MitchwasalreadyaCertifiedScrumTrainer
(CST)andhadbeenapplyingScrumforsomenumberofyearsbothinsideMicrosoft,
wherehewasfirstexposedtoScrum,andlaterwithbothlargeandsmallcompaniesasa
Scrumtrainerandcoach.
IcouldtellfromourfirstmeetingthatMitchwaspassionateabouthelpingpeoplebe
successfulwithScrum.Atthatfirstencounter,hetookouthislaptopandstartedwalking
methroughdatahehadbeencollecting.Hisgoalwastoreinforceanecdotalsuccess
storieswithrealdatadrawnfromhisexperiences.Inhindsight,thisexchangewas
foreshadowingforwhatwastobecomeTheScrumFieldGuide.
Whenyoureadthisbook,youwillexperiencewhatIdidduringthat2007conversation
andinnumerousdiscussionsanddebatesIhavehadwithMitcheversince—thathehasa
keenabilitytocollectandanalyzereal-worldexperiencesandsynthesizetheminto
actionableadvice.Youwillbenefitfromthisadviceineachandeverychapter!Each
chapterbeginswithastorythatcapturestheculminationofMitch’sexperiencesona
specifictopic.Ifindthistechniquetobeveryeffective,sinceIlikeagoodstoryandMitch
isquiteaneffectivestoryteller.Butdon’tjuststopafterreadingachapter’sintrostory!
Followingeachstoryisanexpansionandinterpretationoftheconceptspresentedinthe
storythatamplifytheadvicebeingoffered.
OnethingyouwillnoticewhilereadingthisbookisthatMitchisn’ttryingtoteachyou
theory.He’stryingtosaveyourbacon.Eventhemajorsectionnamesconveythisintent:
“GettingPrepared,”“FieldBasics,”“FirstAid,”“AdvancedSurvivalTechniques,”and
“WildernessEssentials.”Atruefieldguideindeed!
Youalsohavethebenefitofreadingthesecondeditionofthisbook.Mitchhasnotbeen
sittingstillsincethefirsteditionwaspublishedin2012.Thisneweditionincludesupdated
versionsofmanyoftheoriginalchaptersaswellasfivecompletelynewchaptersinthe
newsection“WildernessEssentials.”Thesechaptersaddresstopicsasdiverseas“getting
todone,”therelationshipofstorypointstohours,techniquesforinterviewingandhiring,
howtoalignincentiveswithoutcomes,andtheall-importanttopicofmanagingrisk
duringagiledevelopment.Ifyouarealreadyfamiliarwiththefirstedition,Iamsureyou
willbenefitfromthechangesandadditionsMitchhasmadetothislatestedition!
ItisanhonortohaveMitchandTheScrumFieldGuide,SecondEdition,inthesame
bookseriesasmyEssentialScrumbook:TheMikeCohnSignatureSeries.Ihavehigh
regardfortheauthorsandbooksinthisseries.Theyallpassmylitmustest:“WouldI
recommendabookintheseriestomyclientswithoutreservations?”Iamhappytosay
thatIcandefinitelyrecommendMitch’sbook!
And,forthosereaderswhoarefamiliarwithmybook,EssentialScrum:APractical
GuidetotheMostPopularAgileProcess,Iamconfidentthatyouwillfindmybookand
thisbooktobegoodcomplementstooneanother,even(andespecially)wherethetwo
differonparticularissuesorapproaches.And,apparently,manyothersagree!Aquick
lookonAmazon.comatthefirsteditionofTheScrumFieldGuideshowsthatthebook
mostfrequentlypurchasedalongwithitismyEssentialScrumbook.So,likefinewine
andcheese,Ihopeyouenjoythepairing!
—KennethS.Rubin
ManagingPrincipal,Innolution,LLC,
andauthorofEssentialScrum:
APracticalGuidetotheMostPopularAgileProcess
Preface
WelcometotheSecondEditionofTheScrumFieldGuide
WhenImentionedthatIwasthinkingofupdatingtheoriginalFieldGuide,mywife
questionedmysanity.Afterall,sheremindedme,thefirstbookhadnearlydonemein.
YetasIreflectedonmyfirsteffort,IfeltthatnotonlydidIhavemoretosay,butIalso
wantedtoadjustsomeofthecontentI’dalreadypublished.Putsimply,Iwantedto
refactor,addsomenewfeatures,andreleasea2.0version.Sohereweare.
Youshouldstillreadthisbookinthesamewayyoudidthefirstedition:Pickachapter
thataddressesaproblemyouseeinyourcompany—andreadit.Thengoapplymyadvice
andseewhathappens.
Agileisajourney.I’velearnedagreatdealsincethefirsteditionwaspublishedin
2012.Ifyouhavereadthisbookbefore,youwillimmediatelyseethatIhaveaddednew
ideasandconceptstotheoriginalchapters.Manychaptershavebeenrewrittenbymore
than80percent;othersbyonly10percent.Youwillseeanewsection:PartV,
“WildernessEssentials,”containingadditionaltipsforthefield,inspiredbymyfirsthand
experienceworkingwithorganizationsaroundtheglobe.Thesenewchaptersinclude
managingrisks,interviewing,thefallacyofgettingitrightthefirsttime,andmore.
HowThisBookCametoBe
WhenmydaughterEmmawasborn,Ifeltoutofmydepth.Weseemedtobeatthe
doctor’sofficemuchmorethanwehadbeenwithourotherchildren.Ikeptaskingmy
wife,“Isthisnormal?”Onenight,Ifoundmywife’scopyofWhattoExpecttheFirstYear
onmypillowwithanotefromher:“Readthis.You’llfeelbetter.”
AndIdid.Knowingthateverythingwewereexperiencingwasnormalformychild,
evenifitwasn’ttypicalformeorobservedbefore,mademefeelmoreconfidentand
secure.ThiswasaroundthesametimeIwasstartingtoexperimentwithScrumandagile.
AsIencounteredobstaclesandranintounfamiliarsituations,IbegantorealizethatwhatI
reallyneededwasaWhattoExpectbookforthefirstyear(andevenbeyond)ofScrum
andXP.
Theproblemis,unlikeaWhattoExpectbook,Ican’ttellyouexactlywhatyourteam
shouldbedoingorworryingaboutduringmonths1to3or9to12.Teams,unlikemost
children,don’tdevelopatapredictablerate.Instead,theyoftentumble,stumble,and
bumbletheirwaythroughtheirfirstyear,takingtwostepsforwardandonestepbackas
theylearntofunctionasateam,adoptagileengineeringpractices,buildtrustwiththeir
customers,andworkinanincrementalanditerativefashion.
Withthisinmind,Ichosetostructurethisbookwithmoreofan“I’vegotapainhere,
whatshouldIdo”approach.I’vecollectedstoriesaboutteamsI’vebeenapartofor
witnessedintheirfirstyearofagilelife.AsIcontinueddownmyagilepath,Inoticedthat
thestoriesandthepatternsincompanieswereusuallysimilar.Iwouldimplementanidea
inonecompanyandtweakitforthenext.Inrepeatingthisprocess,Iendedupwitha
collectionofreal-worldsolutionsthatInowcarryinmyvirtualtoolbelt.Inthisbook,I
sharewithyousomeofthemostcommonpainsandsolutions.Whenyourteamishurting
orintrouble,youcanturntothechapterthatmostcloselymatchesyoursymptomsand
find,ifnotacure,atleastawaytorelievethepain.
TheScrumFieldGuide,SecondEdition,ismeanttohelpyoufine-tuneyourown
implementation,navigatesomeoftheunfamiliarterrain,andmoreeasilyscalethehurdles
weallencounteralongtheway.
WhoShouldReadThisBook
IfyouarethinkingaboutgettingstartedwithScrumoragile,areatthebeginningofyour
journey,orhavebeenatitayearorsobutfeellikeyou’vegottenlostalongtheway,this
bookisforyou.I’mofficiallytargetingcompaniesthatarewithinsixmonthsofstartinga
projecttothosethatareayearintotheirimplementation—an18-monthwindow.
Thisisabookforpeoplewhoarepragmatic.Ifyouarelookingfortheoryandesoteric
discussions,grabanotherofthemanyexcellentbooksonScrumandagile.If,ontheother
hand,youwantpracticaladviceandrealdatabasedonmyexperiencerunningprojects
bothatMicrosoftandwhilecoachingteamsandconsultingatlargeFortune100
companies,thisbookfitsthebill.
HowtoReadThisBook
Thebookisdesignedforyoutobeabletoreadanychapter,inanyorder,atanytime.
Eachchapterstartsoutwithastorypulledfromateam,company,orprojectthatIworked
onorcoached.Asyoumightexpect,I’vechangedthenamestoprotecttheinnocent(and
eventheguilty).Onceyoureadthestory,whichwilllikelysoundfamiliarinsome
fashion,Iwalkyouthroughthemodel.ThemodeliswhatIuseinthefieldtohelpaddress
theissuesevidentinthestory.Someofthemodelsmightfeeluncomfortable,oryoumight
believetheywon’tworkforyourcompany.Iurgeyoutofighttheinstincttoignorethe
adviceortomodifythemodel.Tryitatleastthreetimesandseewhathappens.Youmight
besurprised.Attheendofeachchapter,Isummarizethekeystosuccess—thosefactors
thatcaneithermakeorbreakyourimplementation.
Thisbookisorganizedinfiveparts.
PartI,“GettingPrepared,”givesyouadviceongettingstartedwithScrum,helping
yousetupforsuccess.IfyouarejustthinkingaboutScrumorarejustbeginningto
useit,startthere.
PartII,“FieldBasics,”discussesitemsthat,onceyougetstarteddowntheagile
path,helpyouoversomeoftheinitialstumblingblocksthatteamsandorganizations
encounter.Ifyou’vegottenyourfeetwetwithScrumbutarerunningintoissues,
youmightwanttostarthere.
PartIII,“FirstAid,”iswhereIdealwithsomeofthelarger,deeperissuesthat
companiesface,suchasaddingpeopletoprojectsorfixingdysfunctionaldaily
standupmeetings.Thesearesituationsyou’lllikelyfindyourselfinatonepointor
anotherduringyourfirstyear.Thesechaptershelpyoutriageandtreatthesituation,
allowingyourteamtoreturntoahealthystate.
PartIV,“AdvancedSurvivalTechniques,”containsaseriesofitemsthatteams
seemtostrugglewithregardlessofwheretheyareintheiradoption—thingssuchas
costingprojects,writingcontacts,andaddressingdocumentationinagileandScrum
projects.
PartV,“WildernessEssentials,”containschaptersthatfocusonoverlooked,yetjust
ascostly,problemsthatmostorganizationsfacewhentheyareinthemiddleoftheir
agileadoption,suchasmanagingrisks,interviewing,gettingitrightthefirsttime,
andmore.
IfyouarestartingfromscratchandhavenoideawhatScrumis,I’veincludedashort
descriptionintheappendixtohelpfamiliarizeyouwiththeterms.Youmightalsowantto
dosomemorereadingonScrumbeforedivingintothisbook.
WhyYouShouldReadThisBook
Regardlessofwhereweareonouragilejourney,weallneedafriendlyreminderthatwhat
weareexperiencingisnormal,somesuggestionsonhowtodealwithissues,andafew
keysforsuccess.Thisbookgivesyouallthatinaformatthatallowsyoutoreadonlythe
chapteryouneed,anentiresection,orthewholething.Itsreal-lifesituationswillresonate
withyou,anditssolutionscanbeappliedbyanyteam.Turnthepageandreadthestories.
Thisfieldguidewillbecomeatrustedcompanionasyouexperiencethehighsandlowsof
ScrumandExtremeProgramming.
SupplementalMaterialforThisBook
Throughoutthisbook,youmayfindyourselfthinking,“IwishIhadatoolor
downloadabletemplatetohelpmeimplementthatconcept.”Inmanycases,youdo.Ifyou
gotohttp://www.mitchlacey.com/supplements/,youwillfindalistofvariousfiles,
images,spreadsheets,andtoolsthatIuseinmyeverydayScrumprojects.Whilesomeof
theinformationisrefined,mostofthestuffisprettyraw.Why?Formyprojects,Idon’t
needittobepretty;Ineedittobefunctionalandtowork.Whatyougetfrommywebsite
supplementswillberaw,true,andfromthetrenches.
Acknowledgments
WhenIfirsthadtheideaforthisbook,itwasraw.LittledidIknowthatIwasattempting
toboiltheocean.Mywife,Bernice,keptmegrounded,asdidmykids.Withouttheir
strength,thisbookwouldnotbeheretoday.
DavidAnderson,WardCunningham,andJimNewkirkwereallinstrumentalinhelping
meandmyfirstteamgetoffthegroundatMicrosoft.Eachofthemworkedthereatthe
timeandcoachedusthroughsomeroughperiods.Istilllookbackatmynotesfroman
earlysessionwithWard,withaquestionhighlightedthatread,“Can’twejustskipTDD?”
Eachofthesethreepeoplehelpedturnourteamofmisfitsintosomethingthatwasreally
special.David,Ward,andJim—thankyou.
IthankMikeCohnandhisauthorsforacceptingthistitleintotheMikeCohnSignature
Series.Itisquiteanhonortobeamongsomeofthebestagileauthorsontheplanet.
Icouldnothavedonethiswithoutthehelpofmywife,BerniceLacey,andthebest
editorontheplanet,RebeccaTraeger.Bothputincountlesshoursediting,keepingmeon
track,keepingmefocused,andhelpingmeturnmyrawthoughtsandwordsintocohesive
chapters.
Iwouldalsoliketoonceagainthankthefollowingfriends,eachofwhomhelpedcraft
thisbookintowhatitistoday.Everyonelistedherehasgivenmeinvaluablefeedbackand
contributedmanyhourseitherlisteningtomeformulatethoughtsorreadingearlydrafts.I
cannotthankeachofyouenough,includingTiagoAndradeeSilva,AdamBarr,artistTor
Imsland,BrentBarton,MartinBeechen,ArloBelshee,JelleBens,JohnBoal,Jedidja
Bourgeois,StephenBrudz,BrianButton,SharonButton,MikeCohn,JimConstant,
MichaelCorrigan,ScottDensmore,EstherDerby,SteinDolan,MarcFisher,Paul
Hammond,BillHanlon,ChristinaHartikainen,ChristianHassa,MartinaHiemstra,Jim
Highsmith,LizHill,DonavanHoepcke,BartHsu,WilhelmHummer,RonJeffries,Lynn
Keele,ClintonKeith,JamesKovaks,BenLinders,RockyMazzeo,SteveMcConnell,Jeff
McKenna,BrianMelton,AdeMiller,RaulMiller,JimMorris,JimNewkirk,Jacob
Ozolins,MichaelPaterson,BartPietrzak,DavePrior,PeterProvost,MichaelPuleio,Scott
Robinson,RenéRosendahl,KenSchwaber,TammyShepherd,LisaShoop,Michele
Sliger,TedSt.Clair,JeffSutherland,GaylynThompson,IsaacVaron,BasVodde,and
BradWilson.
I’dalsoliketothanktheteamatAddison-Wesley,includingElizabethRyan,ChrisZahn
andChrisGuzikowski.Iappreciateallthatyourteamdid.Also,CarolLallierandKim
Arney—copyeditorandproductionprojectcoordinator—thankyou.Youcaughtsomany
thingsthatIoverlookedandmadethisveryeasy.
Booksdon’tjustpopoutofyourheadandontopaper.They,likemostprojectsI’veever
encountered,aretrulyateameffort.ThepeopleIhavementioned(andlikelyafewthatI
forgot)havelistenedtome,toldmewhereIwasgoingastray,givenmeideasto
experimentwithonmyteamsandwithclients,andbeenthereformewhenIneeded
reviews.IimaginetheyareasgladasIamthatthesecondeditionofthisbookisfinallyin
print.Ihopethatafteryoureadthis,youtoowilljoinmeinthankingthemforhelpingto
makethisguideareality.
AbouttheAuthor
MitchLacey,founderofMitchLacey&Associates,Inc.,helpscompaniesreachfull
potentialbybuildingperformingorganizationsthroughtheadoptionofagilepractices,
includingScrumandXP.
Mitchisaself-describedtechnerdwhostartedhistechnologycareerin1991at
AccoladeSoftware,acomputergamingcompany.Afterworkingasasoftwaretest
engineer,atestmanager,adeveloper,andatavarietyofotherjobsinbetween,hesettled
onhistruecalling—projectandprogrammanagement.
Mitchwasaformallytrainedprogrammanagerbeforeaddingagiletohisprojecttool
beltin2005.HefirstpracticedagileatMicrosoftCorporation,wherehesuccessfully
releasedcoreenterpriseservicesforMSNandassistedindrivingagileadoptionacross
multipledivisions.
Mitch’sfirstagileteamwascoachedbyWardCunningham,JimNewkirk,andDavid
Anderson.HehasworkedextensivelyinallScrumrolesonavarietyofprojects.Today,
withdecadesofexperienceunderhisbelt,Mitchcontinuestodevelophiscraftby
experimentingandpracticingwithbothleadershipandprojectteamsatmanydifferent
organizations.
Mitch’srich,practicalexperienceandhispragmaticapproacharetrustedbymany
companiesincludingAdobeSystems,AeraEnergy,Bio-Rad,EchoStar,Microsoft,Oracle,
Qualcomm,SalemHospital,SAP,Sony,andmore.HeisaCertifiedScrumTrainer(CST),
aPMIProjectManagementProfessional(PMP),andanAgileCertifiedPractitioner
(ACP).
Mitchhaspresentedatavarietyofconferencesworldwide,chairedAgile2012and
Agile2014,andservedontheboardofdirectorsfortheScrumAllianceandtheAgile
Alliance.
Formoreinformation,visitwww.mitchlacey.com,whereyouwillfindMitch’sblogas
wellasavarietyofarticles,tools,andvideosthatwillhelpyouwithyourScrumandagile
adoption.HecanalsobefoundonTwitterat@mglaceyandbyemailat
mitch@mitchlacey.com.
Chapter1.Scrum:Simple,NotEasy
Scrumiselegantlydeceptive.Itisoneoftheeasiestframeworkstounderstandyetoneof
thehardestframeworkstoimplementwell.Isay“implementwell”becauseScrum’s
inherentsimplicitycanseduceteamsintothinkingitiseasytodo,wheninrealityitcan
takeyearstodoitwell.Scrumseemstogoagainstthecommonwisdomacquiredthrough
many,manyyearsofwaterfalldevelopment.Therefore,itstandstoreasonthatitwilltake
awhiletounlearnbadhabitsandadjusttoanewreality.
IntheappendixofthisbookIexplainthemechanicsofScrum.Ifyouarenotfamiliar
withScrumandhowitworks,Isuggestyoustartthere.Ifyoualreadyhavesome
backgroundonwhatScrumis,youknowthatthemechanicsarefairlystraightforward.So
straightforward,infact,thatmanymistakenlybelievethey“getit”andthinktheycan
beginimmediatelymodifyingScrumtobetterfittheirsituation.Toooftentheyinstead
findthemselveslostorwoundedandinneedofassistance,whichiswherethisbook
comesin.ThestorythatfollowsillustrateshowquicklythingsfallapartwhenScrumis
implementedwithoutunderstandingandwithoutasolidgroundinginthecoreagile
conceptsthatmakeScrumwork.
TheStory
JeffwasasanagilecoachhelpingteamsadoptScruminsidealargesoftwarecompany.
Oneday,hereceivedanemailfromSuzy,aprogrammanagerinhisdivision.
“Jeff,pleasehelp.We’vebeendoingScrumforaboutsixmonthsandourcodequality
isn’timprovingthewayI’dlike.Ithinkweneedyoutocomeandtalktousaboutpair
programming.NextMondayisthebeginningofourplanningweek.Canyoucomethen?”
Jeffsatbackinhischair.Talkingaboutpairprogrammingwasrelativelysimple.He
couldbringhisfriendJulie,agreatdeveloperandseasonedagilepractitioner.Noproblem.
Yettwowordsfromtheemailkeptrepeatinginhishead.Planningweek?Scrumcallsfor
twosprintplanningmeetingsthatlastnomorethanfourhourseach.Andthisteamtooka
week?Somethingtoldhimtheyhadmoretoworkonthanjustpairprogramming.Itwas
goingtobeaninterestingMonday.
OnMonday,JeffandJuliearrivedatthemeetingandfoundSuzyandherteamofeight
intheconferenceroomtogether.AfterSuzyintroducedthem,JeffandJuliespokebriefly
abouttheirexperience,thenbegantoaskaboutthecodequalityissuesSuzyhadtoldthem
about.
Theteamwasquicktoanswer.Theleadtester,Mike,wentfirst:“Thereasonourcode
ispoorqualityisbecausewehavenotimetotest.Thedeveloperswritethecoderightup
untilthelastdayduringourone-monthsprint.Thecodingandtestingsprintissupposedto
beforcodingandtesting.Butourtestingiseithershovedrighttotheendofthesprintorit
overflowsintotheintegrationsprint.”
Julieinterrupted.“I’msorry,Mike,didyousaytheintegrationsprint?”Shelookedat
Suzy,whonodded.
“Oh,Ididn’texplainourmodifications,didI?”saidSuzy.“See,weknowthatScrum
callsforareleaseeveryfourweeks,butthat’sjustnotpossibleforthekindofworkwedo.
Imean,beforetryingScrum,wetriedtoreleasequarterly,andthatwasacomplete
disaster!SowhatwedidwaschangeScrumtofitourprocessandrealitybetter.”Suzy
wenttothewhiteboardandbegantowrite.
“Firstwehaveoursprintplanningweek,followedbyourone-monthactualsprint,
wherethedeveloperswritethecodeandthetesterswritethetestcases.Afterthat,wedo
ourintegration,thenwedeploy.Ofcourse,Iusuallyaddaweekofbuffer,too,justin
case,”saidSuzy.
Whenshefinished,shehadjustaboutfilledupthewhiteboard.
JeffandJulielookedateachotherandthenbackatSuzy.Therestoftheteamlooked
bored.Jeffaskedtheobviousquestion:“Suzy,areyoursprintsreallyeightornineweeks
long?”
“That’sright,”saidSuzy.“Yousoundsurprised.Iknowit’snotout-of-the-boxScrum,
butitworksforus.I’mthinkingwemayneedtoaddanotherweek,youknow,forwriting
specsandtestplans.We’rehavingtroublefittingthatin.Rightnow,wedothatduringour
bufferweek,butIreallyhatetocutintoourcushion.”
“Okay,we’llcomebacktothat,”saidJulie.ShelookedatJeff,whoheldhishandsupas
iftosay,“Whatchagonnado?”Juliecontinued,“Mike,youweresayingthatyoudon’t
havetimetotest.”
WyattspokeupbeforeMikecouldanswer,“Don’tlistentoMike.Theyhaveplentyof
timetotest.We’retheoneswhoneverhaveenoughtime.Webustiteverysprinttogetas
muchcodingdoneaswecan.Sowhatifittakesusallfourweeks?That’showlongit
takes.”WyattlookedatMikeandcontinued,“Allyouandtherestofthetestershavedone
sincewestartedusingScrumiscomplainthatyouhavenotime.MaybeScrumisthe
problem.”
JeffandJulieexchangedglances.
Suzyinterjected,“Team,comeon,we’renotheretocomplainaboutScrum.We’rehere
togetourcodequalityup.”Shepausedandtookadeepbreath.“I’vebeensayingthisfor
sixmonths,”shesaidtoJeffandJuliewithaquickrollofhereyes.
Jeffnodded.“Icantellyou’refrustrated.AndIcantellWyattandMikearefrustrated.
CanIexplorethisabitwiththeteam?SeeifIcangettotherootoftheproblem?”Suzie
noddedenthusiastically.
Jeffbeganwithhisfirststandardassessmentquestion.“Okay.BothScrumandExtreme
Programming—orXP—callfordailycheckpoints.InScrumthesearethedailyscrum
meetings.Howwouldyourateyourdailyscrummeetings?”Jeffaskedtheteam.
Mikelaughed.“Dailymeeting?Areyoukidding?Wedon’thavetimeforthose.We
meettwiceaweekforanhour.Andthat’sbadenough.”
“Okay,Mike.Tellmeaboutthosemeetings,”saidJeff.
“Well,firstoff,wesaythesamethingeverysingletime.Developerssaytheyare
workingontasks,andwesaywearebuildingtestcases.Bignews,there.Thenwespend
20minutesorsotriagingourbuglist,whichboilsdowntogoingthroughthelistand
saying‘thisbugisperthedesign’or‘we’llfixthatoneinthenextsprint.’Ofcourse,we
neverdofixthem.It’sjustabigdysfunctionalmess,”saidMike.
Suzywasnowbecomingvisiblyangry,soJeffgavehertheopportunitytospeak.
“Thanks,Mike.Suzy,whatareyourthoughts?”askedJeff.
“Mike’srightaboutonething.Dailymeetingswon’tworkforus.Wehavetodothe
meetingeveryotherday.Myscheduleistoobusytomeeteveryday,andsometeam
membersareonotherprojects.Iknowit’snotideal,butit’swhatweneedtodo.What
getsmeisthattheteamfightsmeonevenhavingthemtwiceaweek—theythinkitistoo
muchoverhead.YouheardthewayMikewastalkingjustthen.Theyallcomplainabout
themeetings,theschedule,thelackoftime!ButIcan’thelpthefactthatmanagementis
pushingustoreleasemoreoften.Plus,likeIkeeptellingthem,it’smyproject.Iamsetting
theplan,andIamsettingthestructure.Tellthem,Jeff.I’mtheScrumMaster.Theyshould
dowhatIsay,right?”demandedSuzy.
Jeffgaveanoncommittalshrugandbithistongue.Hewasstartingtorealizehowlittle
theyunderstoodaboutScrum.HeglancedatJulieandgaveheroneofthosetheydon’tget
itlooks.Julieacknowledgeditwithaslightnod.Jeffcontinuedwithhisassessment.
“Okay,Ihearyou.Let’snotgetaheadofourselves.Itsoundslikeonepotentialissue
mightbethatyourdailyscrumsarenotdaily,notproductive,andlasttoolong.Wecanfix
that.Let’sskipthatfornowandbringourthoughtprocessupalevel.Tellmewhat
broughtyoutoeight-weeksprints.”
Wyattspokeup.“I’vebeenhereovertenyearsandbelieveme,I’veseeneverynewfad
thereis.Theycomeandtheygo.ButIdranktheKool-Aidthistimeandreallythought
Scrummightbedifferent.Whatajoke!Thiswholethingstartedbecausemanagementwas
pushingustoreleasemorequickly.Wehadgottendowntoquarterlyreleases—goingfrom
yearlytoquarterlyhurt,letmetellyou,butweweredoingit.Butthatwasn’tquick
enoughformanagement,wasit?”Wyattpausedandlookedaroundtheroomfor
confirmation.
Hecontinued,“So,SuzyandIweresittingatlunchonedayandhappenedtomeetup
withacolleagueofminewhoworksinanotherdivision.Hetoldushisteamwasusing
Scrumandhowtheyweredeliveringeveryfourweeksandhowhappythepeoplewere.
Hesaidtheirqualitywasthroughtheroof.Themanagementteamhadnotbeenthishappy
inyearsandthecustomerswereecstatic.Thisguywaslikeme,askeptic,youknow?SoI
thought,ifhesaysitworks,itmustwork.SuzyandIspenttheafternoonwithhim,
learningallaboutScrum.Seemedsimpleenough,butithadsomeproblems.Firstoff,
thosedailymeetings.Whohastimeforthat?Simplefixwastomakethemtwiceweekly.
Then,itwasobviousthataone-monthcyclewouldnotworkforus—afterall,wecould
barelydoaquarterlycycle,sowedecidedtodoubleitateightweeks.Fromthere,we
brokeourworkflowdownintoeightweeks.Itwasjustamatterofshrinkingeverything
down.Afterall,Scrumisjustanotherincrementalprocess.”
JeffandJulieglancedateachotheragain.
Wyattcontinued,“Iseethatlook.ButI’mtellingyou,weknowourteamandour
product.There’snowayScrumwouldworkforusthewayitcomesoutofthebox.So,we
didwhatanysoftwareteamwoulddo—wecustomizedittosuitourneeds.Thewaywe
haveitstructuredfitsbestwithhowwe’vedonethingsinthepast.”
“Right,”confirmedSuzy.“Imean,Scrumisjustawayforprojectmanagerstomanage
thework,onlyshorter.”
Jeffsatback.Theassessmentquestionshehadpreparedweren’tdesignedforasituation
likethis.Hewasn’tsurewhattosayatthispoint.Juliesteppedintohelp,“Doyouhavea
commondefinitionofdone,Wyatt?”
“Surewedo.Wehaveourdesignreviewmeetingafterthefirstweek.Then,attheend
ofweekfive,wehaveourcodecompletemilestone.Attheendofintegration,wearetest
andintegrationcomplete.Oncewehitthesemilestones,wereleasetothelivesite.It’s
reallynotthathardtounderstand,”saidWyatt.
“No,it’ssimple.Igetit,”saidJuliereassuringly.“So,team,Wyatt,Mike,andSuzy
haveexplainedyourprocess.ThewayIunderstandityouhavetwice-weeklydaily
scrums,aneight-orsometimesnine-weeksprint,andhavecheckpointsatcertainkey
stagestoletyouknowyouaredone.Howisitworkingforyou?Areyouhavingfun?Is
yourcodequalityalotbetter?”askedJulie.
“Well,it’snotbad,”saidWyatt.
“Notbad?”saidSuzy.“It’sawful.”
“Well,it’snotourfaultit’sawful!Wetrytotest,but,likeIsaid,there’sjustnotime!”
screamedMike.Therestoftheteamstaredatthetable.Theyweren’tgettinginvolvedin
thisfight.
“I’mnotblamingyou,Mike,thoughIcould.Nope.TherealproblemisScrum,”said
Wyatt.“It’sastupidprocessanditdoesn’twork.”
“Notthatagain,”saidSuzy.“Howmanytimesdowehavetohavethisargument?We
gothroughthisateveryretrospective.”
“Retrospective?”interjectedWyatt.“That’sjustafancynameforatwo-daybitch
session.Retrospectivesdon’tchangeanything.Scrumdoesn’tchangeanything.Itakethat
back.Itdoeschangeonething—itmakesusallmiserable.”
“Wyatt,thiswasyouridea,too.WhydidyousignuptodoScrumifallyouweregoing
todowassabotageit?”askedSuzyheatedly.
Jeffstoodup.Itwastimetostopaskingquestionsandstartgettingthisteamtofacethe
truth.
“Look,it’snotanyone’sfaultandit’snotScrum’sfaulteither.Tome,andI’msureJulie
agrees,itsoundslikeyou’renotreallydoingScrum.Whatyou’redoingiswhatyou’ve
alwaysdone,onlysqueezedintoaneight-weekcycle.You’rejustcallingitScrum.”
WyattandSuzystartedtoargue,butJulieputherhanduptostopthem.“Letmeaskone
question.Thisisforthewholeteam.Wyatt,Suzy,Mike,pleasedon’tanswer.”Julie
lookeddownthetableateachteammemberbeforecontinuing,“Hasthisnewwayof
workingmadeyourlivesmiserableorwasitalwayslikethis,butjustmaybenotas
obvious?”askedJulie.
Everyonelookeddown,theirchinstotheirchestsindeepthought.
“Itsuckedbefore,too,”saidavoicefromtheback.
“Yeah,”saidanotherteammember.“Ijustneverknewhowmuchitsuckedbefore.”
Therewasadeadsilenceintheroomasself-realizationstartedtodawnonthem.
Wyattsighedandsaid,“You’reright.Itwasnotanybetterbefore;itjustwasn’tas
obvious.Weonlyfeltthepaineveryquarter.Nowwefeelitevery8weeks.”
Mikechimedin,“Youknow,lookingbackonthelastsixmonths,wehaveuncovereda
lotofstuffthatwecouldandshouldfix,butwehaven’tdoneanythingaboutit.Not
really.”
Suzyinterrupted.
“Guys,I’mreallytired.Canwepostponethisforafewdays,reconvenenextweek?”
sheasked.
Theteamnodded.Theyweretired.
Suzyleftthemeetingknowingthingswerebad.Shespenttheweekendandtheearly
partofthenextweekthinkingabouthowtomovethingsforward.SheinvitedJeffand
Juliebackforanothermeeting,oneshehopedwouldsetanewtonefortheteam.
“I’msorry,everyone,”shesaidtoopenupthemeeting.“Iknewthingswererough,but
Ididn’tknowitwasthisbad.IoriginallyaskedJeffandJulietohelpuswithpair
programmingbecauseIthoughtthatwouldfixourqualityissues.ClearlyIhavebeen
blindtoourrealneedsandforthatIapologize.We’vegoneaboutthisallwrong.It’snot
Scrumthathasfailed;wehavefailedtouseScrum.I’dliketoaskyouallifwecanstart
over.IthinkJeffandJuliecanhelpusdothat,”saidSuzy.
Wyattnoddedandlookedattheteam,“IknowIcanbeajerk.I’vebeenheresolong
sometimesIthinkIowntheplace,butIdon’t.IknowIcangetbetter.I’llstop
complainingandgiveitarealchancetowork,butonlyononecondition.”
“What’sthat?”askedJeff.
“Thatwedoitforreal,”saidWyatt.“Nomorecustomizations.Andweneedacoach,
someonewhocanshowuswhattodo.Thishasn’tbeennearlyaseasyasitlooked.”
Mikelookedup.“Ihaveacondition,too.Wefixtheproblems.Reallyfixthem,not
blameeachotherforthem.”HeheldoutahandtoWyatt.“Thinkwecandoit?”
WyattlookedatMike,lookedathishand,andthenshookit,“Ithinkweareupforthe
challenge.IfJeffwillstillhelpus,thatis,”hesaidplayfully,raisinghiseyebrowsatJeff.
Everyonelaughed—thefirstlaughthey’dhadasateaminquiteawhile.Itwasastart.
Theywentaroundthetable,allverballycommittingtotryingScrum,forrealthistime.
JeffandJulieleftthemeetingashorttimelater,feelinglikethey’daccomplishedquitea
lotbutknowingtherewasmuchmorelefttodo.
“Whatareyougoingtodonow,Jeff?”askedJulie.
“ThefirstthingI’mgoingtodoistoteachthemwhatScrumis—itsvalues,the
framework,theshiftinmindsetthattheyaregoingtoneedtogothrough,”saidJeff.
“Don’tforgettoshowthemhowitmanagesriskandhelpsidentifytheproblems,”said
Julie.
“Exactly.I’llstartwiththebasicsandworkmywaythroughtheobstaclesastheypop
up.It’llbeastruggleattimes,buttheycandoit.Nopain,nogain,right?”
Scrum
Scrumseemsprettybasic.Butwhatmanypeopledon’tunderstandisthat,todoitwell,
youmustfundamentallychangethewayyoudevelopsoftware.Andthat’snoteasy.
You’regoingtostruggle.You’regoingtoencounterobstacles.Theteaminthischapter’s
storyfoundthatoutthehardway,andifyou’vepickedupthisbook,you’veprobably
discoveredittoo.Tohelpyouunderstandhowsomethingsosimplecanbesohard,the
nextsectionlooksmorecloselyatScrum.
WhatIsScrum?
JeopardyhasalwaysbeenoneofmyfavoriteTVgameshows.Ikeepwishingforthe
softwaredevelopmenteditionwithcategorieslikeMethodologiesandFrameworks,
CommonCausesofSoftwareFailure,FamousSoftwareArchitects,orStupidQuotesfrom
SmartPeople.Icanthinkofdozensofquestionsthatwouldfillthesecategories,suchas,
“Hesaid,‘Benicetonerds.Chancesareyou’llendupworkingforone.’”Ienvisiona
questionunderMethodologiesandFrameworkstobe,“Namedafterarugbyterm,this
projectmanagementframeworkdeliversworkingsoftwareeverytwotofourweeks.”One
commonanswerthatwouldlikelybeaccepted,intheformofaquestionofcourse,would
be“Whatis…Scrum?”
SowhatisScrumreally?Scrumisnotamethodologyorsetofengineeringpractices.It
is,instead,alightweightframeworkdesignedtomanagesoftwareandproduct
development.KenSchwaberandJeffSutherland[SCHWABER01]describeScrumlike
this:
Scrum(n):Aframeworkwithinwhichpeoplecanaddresscomplex,adaptive
problems,whileproductivelyandcreativelydeliveringproductsofthehighest
possiblevalue.Scrumis:
Lightweight
Simpletounderstand
Extremelydifficulttomaster
Scrumisaprocessframeworkthathasbeenusedtomanagecomplexproduct
developmentsincetheearly1990s.Scrumisnotaprocessoratechniqueforbuilding
products;rather,itisaframeworkwithinwhichyoucanemployvariousprocessesand
techniques.Scrummakescleartherelativeefficacyofyourproductmanagementand
developmentpracticessothatyoucanimprove.
Scrumreliesonafixedcadenceofiterativecyclescalledsprints.Eachsprintbegins
withaplanningmeetingandendswithademonstrationofpotentiallyshippableproduct.
Scrumischaracterizedbyahighleveloffeedbackandtransparency,bothwithintheteam
andoutsideit.Itsshortcyclesandcollaborativenaturemakeitidealforprojectswith
rapidlychangingand/orhighlyemergentrequirements.
Scrumisbuiltonfivecorevaluesandhasthreedistinctroles,threeartifacts,andthree
(orfour)meetings.MoredetailonthemechanicsofScrummaybefoundintheappendix,
“ScrumFramework.”
ImplementingScrum
WhileScrummightappearsimpletoimplement,itisactuallychallenging.Why?Because
doingsorequiresmorethanjustputtingtherightmechanicsintoplaceandthenpressinga
button.ImplementingScrumcorrectlyrequiresteamstobewillingtomakethefollowing
changes:
DevelopanunderstandingofScrum’sunderlyingvalues.
Undergoanoftenenormousshiftinmindset.
Planforchangetooccur—andadaptwhenitdoes.
Dealwithnewlyexposedoremergingissues.
Incorporateagileengineeringpractices.
ScrumIsBuiltonValues
Anyframeworkworthusingisbuiltonprinciplesandvalues.Eachoftheoriginalagile
practices—XP,Scrum,dynamicsystemsdevelopmentmethod(DSDM),Crystal,and
feature-drivendevelopment(FDD)—aswellasKanbanandLean,hasasetofcorevalues.
Thesevaluesguidedecisionmaking,provideclarityintimesofambiguity,andmost
importantly,communicatewhyagileteamsdowhattheydo.Asyoureadinthischapter’s
story,theteammemberswereattemptingtogothroughthemotionsofScrum,buttheydid
notunderstandwhy.Whattheylackedwasaclearunderstandingofthevaluesbehindthe
Scrumframework:focus,respect,commitment,courage,andopenness[SCHWABER02].
Focus
Tofocusmeanstoconcentrate,todirectattentiononsomething.InScrum,theteammust
havefocusifitistoaccomplisheverythingthatneedstobedonetodeliverapotentially
releasableincrementoffunctionality.Focusmeansworkingononeprojectatatime.It
maymeanhavingdedicated“teamtime,”wheretheentireteamisoffemail,instant
messaging,mobilephones,andmeetings.Focusisdoingwhateverittakestoallowthe
teamtoconcentrateonthedeliveryathandfortheentirelengthofanygivensprint.
Respect
Asthesayinggoes,respectisearned,notgranted.InScrum,thisisespeciallytrue.
Respectforone’steammates,orlackthereof,canmakeorbreakaproject.High-
performingScrumteamstrusteachotherenoughtoadmittoobstacles.Theyhavefaith
thatwhenoneteammembercommitstoatask,thatteammemberwillfollowthrough.
ThereisnousversusthemonatrueScrumteam.Inthestorythatopenedthischapter,
testersanddeveloperswereclearlyatoddsandhadlittlerespectforeachother.Theteam
waslucky,though,inthatthepeoplehadnotyetlostallrespectforeachother,as
evidencedbytheirabilitytocometogetherintheend.
Commitment
Acommitmentisapledgeorpromise,anobligationtodeliver.Commitmentsshouldnot
bemadelightly—theyshouldbemadewithasmuchinformationaspossible.Theteam
reconfirmsitscommitmenttotheorganizationandtoeachotherduringeachsprint
planningmeeting.Attheendofsprintplanning,eachteammembershouldhavethesame
levelofunderstandingaboutwhattheteamisforecastingitcanaccomplishduringthat
sprint.
Courage
Courageistheabilitytofacedifficultyinspiteofyourfears.Alleviatingthesefearsisone
ofthebestwaysteamsandorganizationscanhelpteammembersbecourageous.Ateam
thatdemonstratesunderstandinginthefaceoffrankdiscussioncoupledwithleadership
thathasprovenitwilllistentobadnewsobjectivelyhelpgiveindividualsthecourageto
speaktheirminds.Remember,whenteamslackthecouragetodowhattheyfeelisright,
therightthingwilllikelynotbedone.
Openness
Opennessenablesteamstobereceptivetonewideas.Nowhereisateam’sopennessmore
apparentthaninthesprintretrospectives.Havingthewillingnesstoreceivenewideas,
perceptions,andwaysofthinkinghelpsdeveloplearningorganizationsandhigh-
performingteams.
ScrumRequiresaShiftinMindset
AlbertEinsteinsaid,“Wecan’tsolveproblemsbyusingthesamekindofthinkingwe
usedwhenwecreatedthem.”Oneofthebiggestimpedimentstoasuccessfuladoptionof
Scrum,ortoanyagilemethodforthatmatter,istheinabilitytohaveashiftinmindset,the
inabilitytouseanewwayofthinkingtosolveproblems.Asaresult,Scrumandallagile
practicesrequireacertaindegreeofopenmindedness,atleastforthefirstthreetosix
months.WhenIworkedonmyfirstScrumproject,ittooknearlyayearbeforeItruly
understoodwhatScrumwasabout.
Duringthatyear,IlearnedthatScrumwasapowerfulbutpotentiallydangeroustool.
DidyoueverseethatoldshowHomeImprovement?Themaincharacter,Tim“The
Toolman”Taylor,wouldalwaysgetintotroublewithashinynewtoolwhenhefailedto
takesafetyprecautions,riggedittobeusedinwaysitwasneverintended,orsimplybit
offmorethanhecouldchew.Scrumisthesameway.Ifnotoperatedaccordingto
instructions,especiallyatfirst,Scrumcanmakeyourprojectgohorriblywrong,fast.Too
manyteamstakearudimentaryunderstandinganddecidetheyknowbetter;theirsituation
isdifferent;they’vegotthisthingfiguredout.
Takemyadvice:GettoknowScrumbeforeyoudecideitneedstobecustomized.Useit
asintended:“out-of-the-box,”ifyouwill.Spendtimelearningasmuchasyoucanabout
it.Setasidesomeroominyourbraintoletthisknowledgegrow,tosteeplikeacupoftea.
TomysoftwareaudienceIsay,setasidesomememoryaddressspaceinyourbraintolet
thisknowledgesit.Donot—Irepeat,donot—trytocombineScrumwithothertoolsyou
arefamiliarwithjustyet;nowisnotthetime.Onlywhenyouhavemasteredonetoolcan
youlearntouseitwithotherssuccessfully.Aboveall,havethestrengthanddisciplineto
giveitafairshot,even(andespecially)whenitisdifficultandchallenging.Youmaybe
surprisedathowlittleyouneedtochangeScrumandhowmuchyouendupchanging
yourmind.YoumightthinkthisgoesagainstthefirstvalueoftheAgileManifesto,
Individualsandinteractionsoverprocessesandtools.Onthecontrary,individualsand
interactionsenableyoutolearntouseScrum(oranyotheragilepractice),andstickingto
practicingitbythebookhelpsyoumakeinformeddecisionsonwhatworks.
ScrumTakestheShortestPath,NottheSetPath
Thelongestpaththroughaprojectisknownasthecritical,orrate-limiting,path.Teams
buildaplanaroundthecriticalpathandfollowtheplan,frompointAtopointB.Along
thispath,issuesandproblemssurface:thestakeholdersmightnotknowexactlywhatthey
wantedwhentheplanwasbuilt,ornewdetailsmightberevealedduringdevelopment,
businessgoalsmightchangeastheproductmovesthroughitslifecycle,andtheproject
mightneedtorespondtointernalandexternalforces,suchasacompetitor’srelease.
Theseareallthingsthathappenonnearlyeveryproject;softwareprojectsarenotunique
inthis.
Withatraditionalplanningmethod,whentheseissuesariseteamsarestillforcedtogo
fromAtoB,makingsacrificesalongtheway—sacrificesinquality,functionality,and
customersatisfaction.OnceteamsfinallyreachpointB,theybegintotriagethebaggage
theyhaveaccumulatedandbeginbuildingtheplantogettoC,theplacetheydiscovered
thattheyneededtoreachbutcouldnot,simplybecausetheplanwouldnotallowthemto
(seeFigure1-1).
FIGURE1-1Thetraditionalplanningmethod
Scrumacknowledgesthatissuesliketheonesidentifiedabovearegoingtohappen—
theyareafactoflife.Insteadofbuildingtheperfectplantomitigatethem,Scrum
embracesthefactthattheseissueswilloccurandcontainsbuilt-inmechanismstoallow
forthemtobehandledastheysurfaceduringtheproject.WithScrum,teamsdon’thaveto
makeapitstopatB;theycangodirectlytoC.
Scrumdoesthisbyschedulingdaily,weekly,andmonthlycheckpointswithpeopleat
variouslevels(team,management,customers)toensureteamsareontrackandbuilding
therightfunctionalitytomeetthevision.Insteadofbettingonanall-encompassing
requirements-gatheringphase,Scrumteamsgatherrequirementsovertime,adjustingand
refiningthemasnewinformationisrevealedduringdevelopment.Becauseteamscando
this,theprojectisallowedtoadapttotheneedsofthebusinessandexternalmarket
conditions,providingtheshortestpathtosuccess(seeFigure1-2).
FIGURE1-2Scrumplanningmethod
Successdoesnotcomewithoutsomecost,though.Intheperfect-planmodel,
companieshavetheperception(oftenfalse)ofknowingtheexactdatetheprojectwillbe
done.Thisperceptionishardtogiveup.Inreality,though,eitherthescheduleslips,
features(whethertheyarethemostimportantfeaturesornot)arecuttomeettheschedule,
orqualitysufferstosqueezeinasetamountoffunctionalitybyapredetermineddate.In
theend,allthesesacrificescostthebusinessintime,quality,andmoney.
Scrumteamsdon’tpromisetodeliverasetamountoffunctionalitybyacertaindate.
Theyvaryeithertheenddateorthesetoffunctionality.Onsomeprojects,teamspromise
todeliveranapproximateamountoffunctionalitybyasetdate.Theydothisbylockingin
thecost(whatthecustomercanspendpersprint)andschedule(whentheprojectwillend
andhowmanysprintswillberun)upfront.Theythenestimatehowmanyfeaturesthey
cancompletewithinthoseconstraints.BecauseScrumprojectsalwaysdothehighest-
priorityworkfirst,anyfeaturesthataren’tcompletedbytheendoftheprojectarethe
featuresthatareofrelativelylowvalueandlikelylessimportanttotheoverallsuccessof
theproject.
Onotherprojects,wherefeaturesaremoreimportantthanasetcompletiondate,teams
mightlockinfeaturesbutallowthedate(andconsequentlythecost)tofluctuate.They
promisetodeliverasetamountoffunctionalitybyanapproximatedateordaterange.
Whenchangesoccur(newfeaturesareaddedorexistingfeaturerequestsarebetter
understood),thecustomerunderstandsthathemustmakeachoicebetweenreceivingthat
functionalityintheagreed-upontimeorextendingthescheduletoaccommodatethe
desiredfunctionality.
Thisisalargedeviationfromatraditionalapproach,wherethefeaturesarecapturedup
frontandthentheteamsareaskedtoestimatethetimeandcostconstraintsneededto
deliverthem,oftenonlytohavethecostandtimeconstraintsreducedwhilebeingaskedto
committothesamefeatureset.Figure1-3summarizesthedifferencesbetweenthetwo
approaches.Itisalsoahugeshiftinmindset,whichiswhytrustinandalignmentwiththe
valuesdiscussedinthischapteraresoimportant.
FIGURE1-3Contrastingtheplanningmethods
ScrumUnearthsIssues
Scrumexposesissues,thosethatwerelongagosweptundertherugandforgottenand
thosethatsomepeopledidnotknowexisted.Italsoexposesnewissues.Theseissuesare
notlimitedtocodingorteamwork.Forexample,oneofthemostcommonquestionsthatI
seesurfaceis,“Howshouldwecompensateourpeople?”Anotheris,“Ittakeshowlongto
runtheacceptancetestsuite?”Inatraditionalmodel,adevelopermightberewardedon
thebasisofgettinghiscodingdoneontimeandatacertainqualitybar.Howdoesthis
maptoacross-functionalteam,wheretherearenoindividualmetricsonfunctionalareas?
ItisorganizationalnormslikethisthatScrumchallenges,forcingmanagementtomake
hardchoices:addresstheissuesorignorethem.ThebenefitofScrum,however,isthat
oncethesebehaviorsandpatternsbecomevisible,itisdifficulttoignorethem.
ScrumShouldMarry
Scrumisaprojectmanagementframework.Assuch,ittellsyouhowtomanageyour
project,butitdoesnotcontainthespecificengineeringpracticesthatenableyoutodeliver
potentiallyshippablesoftwareeverytwotofourweeks.Forthat,youneedScrum’sPrince
Charming:ExtremeProgramming(XP).WhileScrumandXPhaveagreatdealin
common(e.g.,XPhastheplanninggame;Scrumhasplanningmeetings),XPcontains
somedifferentpractices,suchascontinuousintegration,testfirst,andpairprogramming,
thatcomplementScrumbeautifully.
WhileimplementingScrumbyitselfhelpsteams,marryingScrumandXPyields
tremendousresults.That’snottosaythatyoushouldjumpintoXPpracticesbeforeyou
haveasolidScrumfoundation—becarefulaboutintroducingtoomuchchangeallatonce.
Onceyourteamisexperiencedwiththeroles,artifacts,andmeetingsofScrum,theyare
readytostartintegratingXPpractices,butbeware—doingagileprojectmanagementwhile
usingtraditionalengineeringpracticesisoftenavolatilemix,causingmoreproblemsthan
itattemptstosolve.Thismaytakeaday,aweek,oramonth;italldependsontheteam’s
toleranceforchange.However,onceXPisintroduced,thetruemagicoccurs.Formoreon
theXP’sengineeringpractices,seeChapter9,“WhyEngineeringPracticesAreImportant
inScrum.”
TheXPpracticesthatIconsidermandatoryfortheprojectsthatIworkonareas
follows:
Sustainablepace—Worka40-hourworkweekandconsistentlyworkat85percent
output(seeChapter23,“SustainablePace,”formore).
Collectivecodeownership—Thewholeteamworksontheentirecodebase.There
isnosingleowner(seeChapter21,“WhenCulturesCollide,”formore).
Pairprogramming—Pairprogrammingistheartoftwopeopleworkingtogether
onthesamepieceofcodeunderdevelopment.Theycollaborateonthebestwayto
solvetheproblems(seeChapter19,“KeepingPeopleEngagedwithPair
Programming,”formore).
Test-drivendevelopment—Alsoknownastestfirst,thismeanswritingthetest
beforethecodewiththetypicalmodelofredtoindicateafailingtest,greento
indicateapassingtest,andthenrefactortomakethecodebetter.Alwayswork
towardgreen,noexceptions(seeChapter19formore).
Continuousintegration—CIenablesteamstohaveacontinuouspictureofhowthe
codebaseisbehavingandperforming.Checkinyourcode,ataminimum,daily.
Strivetogohomeinagreenstateeveryday,justlikehavingeachtestintest-driven
development(TDD)begreen.
Codingstandards—Oftenoverlooked,nothavingcodingstandardswreakshavoc
oncollectivecodeownershipaseachteammemberimplementshisorherown
personalstyle.Createthem,publishthem,andhangthemonthewalltoremind
everyone.
Refactoring—Thisistheartofchangingthecodewithoutchangingtheintentofthe
code,resultinginsimplerandmoreconsistentcode.Constantlyrefactoringwill
enabletheteamtostayalertandfresh.
Potentiallyshippable—thesetwowordsoftencauseteamsmanyheadachesand,asmy
friendChrisSterlingwroteinablogpost,areoneofthe“forgottenScrumelements”
[STERLING].Totrulyreachashippablestate,teamsneedtochangenotonlytheirproject
managementprocessbutalsothewaytheydevelopsoftware.Otherwise,alltheissues
presentedinthischapter’sstory—poorquality,notimetotest,andinabilitytodeliver—
willremainandwillsinktheproject.IntegratingXPpracticesisthebestwayI’vefoundto
bringabouttrueandlastingchange.
WhenIsScrumRightforMe?
Withallofthisinformationinmind,youcanseethatimplementingScrumismuchmore
complicatedthanitmightappear.Soshouldyoueventry?Itdepends.
Ihaveseveralfriendswhoworkintheconstructionindustry.Ioftenaskthemtoassist
meonsmallhouseprojectsinreturnfordinner,andtheyarehappytoobligeme.One
thingInoticeeverytimetheycomeoveristheplethoraoftoolstheyhaveontheirbelts.I
askedJoachimonceifhecarriesastandardsetorifhecustombuildshisbeltforeachjob
hiscrewworkson.Hetoldmehealwayshashisbasics(atapemeasure,pencil,andsafety
glasses),butalmosteverythingelsedependsonthejob.Ifheisdoingframingwork,he’ll
loadhisbeltwiththetoolsneededforframing.Whenheisdoingfinishcarpentryortiling,
heusesadifferentset.Atthesametime,though,thetoolsthatarenotonhisbeltare
alwaysclosebyinthetruck.HowdoesthisapplytoScrum?
IviewScrumasatoolinaperson’stoolbelt.Likeanygoodcontractor,apersonshould
useScrumwhenit’sappropriate,whichmightnotbe100percentofthetime.Justasyou
wouldnotuseascrewdrivertosecureanail,youshouldnotuseScrumonaprojectthat
doesnotrequireit.SowhenshouldyouuseScrum?
Softwareprojectsgenerallyfallintofourdifferentareas:simple,complicated,complex,
andanarchy(seeFigure1-4),asadoptedfromRalphStacey’sStrategicManagementand
OrganisationalDynamics,SecondEdition[STACEY].Simpleprojectsaremadeup
primarilyofknowns:Similarprojectshavebeendoneoverandover,soeveryoneagrees
onwhatisneededandthetechnologyiswellunderstood.Simpleprojectsareeasyto
implementandunderstand.
FIGURE1-4Therelationshipbetweenrequirements,technology,andtypeofproject
Asprojectsmovefartheroutfromthesimplezone,however,thingsbecomealittle
fuzzier.Requirementsortechnology—orboth—maynotbeasstableashoped.Perhaps
peoplearenotascertainaboutwhatthefinalproductwilllooklike.Maybethetechnology
isneworuntried.Inthisarea,theareaofcomplicatedandcomplex,projectsencountera
substantialamountofchange.Projectsherearemuchmoredifficulttoimplementand
predict.Then,asprojectsmovebeyondcomplextowardanarchy,theybegintohavetruly
unknownunknowns.Whenprojectsorcompaniesareinthisstate,theyshouldfocuson
fixingtheproblemsthatputthemthereinsteadofbuildingsomethingnew.
Whatthisallmeansisthatifyouareanywherebutinthesimplearea,youwillhave
changeinyourproject—changeinrequirements,technology,orboth.IhaveusedScrum
andXPonsimpleprojects,andmoreoftenthannot,Ifounditoverkill.However,asyou
moveawayfromagreementandcertainty,youwanttouseScrumandXP,asdoingso
helpsyouadapttothechangingbusinessrequirementsthataresuretocome.
ChangeIsHard
Scrumisallaboutchange.Somepeopleembracechangeandsomeavoiditlikethe
plague.Bothresponsesareperfectlynatural.Softwareteamstypicallyresistchangenot
becausetheyareafraidofitbutbecauseteamshavebeenconditionedtoprovidetheright
thingthefirsttime.Softwareteamsequatechangeto“bugs”orfeaturesthattheymissed
whentheyweredevelopingtheproduct—tothem,achangerequestsuggeststheyhave
failedinsomeway.Whattheyoftendon’tunderstandisthatchangeisinevitable.Noone
canpredictthefuture;youcannotbeexpectedtoknowaboutsuddenmarketshiftsora
competitor’snewestreleasebeforetheyhappen.Tobesuccessful,teamsmustlearnto
embracechange.Scrumprovidesthetoolstodoso,butmovingtoaplacewherechangeis
integratedintotheprocessisadifficultjourney.
Theteammembersinthischapter’sstorywantedtouseScrumbutwerefearfulof
leapingintotheunknown.Theytried,invain,toholdontofamiliarpatternsandprevent
mistakesbymodifyingtheprocessandaddingplanningandintegrationsprints.Insteadof
keepingthemfromfailing,thesemodificationsactuallycausedproblemsandmadethings
muchworse.
UnderstandingcommonreactionstochangeiskeytoasuccessfulScrum
implementation.VirginiaSatirwasafamilytherapistwho,throughclinicalstudies,
identifiedacommonpatterninthewaypeopleexperiencechange.Thestagesincludethe
latestatusquo,theintroductionofaforeignelement,chaos,integrationandpractice,and
thenewstatusquo.ThesepatternsofbehaviorareknownasSatir’sStagesofChange
[SATIR],whicharevisuallyrepresentedinFigure1-5.
FIGURE1-5Satir’sStagesofChange
Ifindthatthesestagesarefairlyconstant,nomatterwhatlevelofchangeapersontakes
on.MymothertriedtoquitsmokingwhenIwasgrowingup,andIobservedthese
patterns.Ialsohaveobservedthemwithkidswhentryingtorideabicycleforthefirst
time.ConsiderhowScrumteamsmovethroughthesestages.
LateStatusQuo
Whenpeopleareinthestatusquo,theyarecomfortable.Often,peoplefindexcusesto
stayinthestatusquobecauseitistheworldtheyarefamiliarwith.Peopletendtoignore
theneedforchangeandjustkeepdoingthesamething,onlybetter,harder,ormore
diligently.Anall-too-familiarexampleofthestatusquoisthedeathmarch,whereteams
soldierontowardcertainfailurewhileworkinglongerhoursandmakingunwanted
sacrificestoqualitytotrytomeetadeadline.Eventually,theteammembersbeginto
complainaboutthefutilityofbelievingthatallcanbemadewelliftheyjustkeep
pluggingawayharderandstronger.Atthispoint,acriticalmassstartstogrow,asaselect
fewpeopletireofthewaythingsarebeingdoneormanagementinstitutesanewwayof
working.Thisisthepointatwhichoneormoreforeignelementsareintroduced.
FromForeignElementsandChaostoTransformingIdeas
Aforeignelementisachallenge;itisthethingthattakesyououtofthelatestatusquo.In
somecases,itcanbeaminorelement,suchasusinganewspecificationtemplatefora
project.Inothercases,itcanbeacompletelynewwayofworking,suchastheadoptionof
Scrum.Regardlessofwhichitis,onceintroduced,theforeignelementcannotbeignored,
andchaosensues.Whilethedegreeofchaosdependsonthenatureoftheforeignelement,
inthecaseofalarge-scalechange,itcanfeelasifeverythingfamiliarhasvanished.Even
thosewhoaremostcertainabouttheneedforanewwayofdoingthingsareforcedto
workinawaythatfeelsunfamiliaranduncomfortable.Peopleinthisstatearenervous
anduncertainandoftenfeelvulnerable.Theyareafraidofmakingawrongmove.Asa
result,anxietybuildsandperformancevarieswidely.Asthegroupworksthroughthis
stage,thingswillgetworsebeforetheygetbetter,buttheyindeedwillgetbetter.
Theendofchaoscomeswiththeidentificationofoneormoretransformingideas.What
transformingideaswillendthechaosthatScruminitiallyintroduces?Itvariesfromteam
toteam,buttheoverallthemeisusuallythegeneralthought,“Hey,thisisnotthatbad.We
candothis.”Peoplestarttoseetheconnectionbetweentheforeignelementandtheway
thingscanbeinthefuture.Theconnectionismade.
PracticeandIntegration
Mykidsplaysports.Everytimetheycomplainaboutattendingpractice,Iremindthem
thatsomeoneelseispracticingrightnow,practicingtobeatthemwhentheirtwoteams
meet.Practiceinsoftwaredevelopmentisequallyessential.Withoutpractice,aforeign
elementanditsassociatedtransformingideaswillneverbecomefamiliar,secondnature,
aningrainedhabit.
AsateambeginstolearnthepracticesandunderstandtheprinciplesofScrum,itbegins
torealizeScrum’sbenefits.Asthesebenefitsemerge,theteammembersgradually
embracetheirnewreality.Chaosbeginstofadeastheteammovestowardanew
equilibrium.Trust,relationships,andidentitiesemergeintheteamandinthegroupat
large.Aspeoplelearntoworktogetherinanewway,performancestartstoimprove,often
exceedinglevelsseenpriortothechange.Don’ttaketheseearlygainsasasignthatthe
teamisnow“fine.”Onthecontrary,teamsinthisstageneedmorenurturingandcaring
thantheywilllater.Whileit’struethatpeoplearegainingconfidenceintheirwork,they
maystillfeelvulnerableeventhoughitmaynotbevisible.Thenewfoundsuccessis
tenuousanddelicateandshouldbetreatedappropriately.Still,witheachsuccess,the
prospectsofwhatcanbeaccomplishedstarttoemerge.Formost,itmightfeellike
nirvana;foraselectfew,itmayalwaysfeelsomewhatchaotic.
NewStatusQuo
Astheteammembersbecomeskilledandcomfortablewiththetransformingidea,they
begintooutpacetheirpreviousresults.Theyfeelrestedandhavethesenseof
accomplishmentthatcomesfromgoingthroughatransformationaleventtogether.This
stageenablespeopletoexplorenewwaystoimprove,tofeeltheyhavearighttomake
thingsbetter,andtoworktogethertocreatealearningorganization.Thefreedomto
continuetopracticeinasafeenvironmentiskeyhere.Justasinsports,younevergetso
goodthatyoudon’tneedtopracticeorlearnnewthings.
KeystoSuccess
Asthischapter’sstoryillustrates,manyteamsstrugglewiththeirinitialimplementationof
Scrum,notbecausetheyarereluctantorclosed-mindedbutbecauseScrumrequiresthem
toworkinawaythatfeelsuncomfortableandunfamiliar.Thecharactersinthestorytried
toholdontotheelementsthattheywerefamiliarwith,notknowingthatthoseelements
wereslowingthemdown,keepingthemfromsuccess.TohaveasuccessfulScrum
implementation,teamsmustadheretothebasics.
First,teamsmustunderstandtherules.Scrumisasimpleframeworkforgettingthings
done.Becauseofitssimplicity,peopletendtomodifytheruleswithoutunderstandingthe
implicationsoftheiractions.Thisisdangerous.Justasyouwouldnotdriveacarwithout
knowingtherulesoftheroad,youshouldnotattempttoimplementScrumwithoutagood
dealofstudy.Learningtherulestakestime.UsethistimetounderstandhowScrum
appliestoyou,yourteam,andyourcompany.
Second,teammembersmustlearnthebasemechanics.Teamsandtheirorganizations
needtounderstandhowthingsworkandfeelwithScrum.Ittakestimeforthistohappen.
AsexplainedinSatir’sStagesofChange,movingfromtheknowntotheunknownisa
difficultprocessthattakespatienceandpractice.Itisakintolearningtorideabicycle.
PeoplecannotrideLeTourdeFrancewhentheyarefiveyearsold;instead,theywobble
andweaveandoftenfalldown.It’spracticethatmakespeoplesureandsteady.Give
peopletimetolearnthebasicsandhelpthemalongtheway.Makesureyoukeeptheir
feelingsinmindandunderstandthatasthebasemechanicsarebeingpracticed,people
maybefragile,skeptical,andanxious.Theseinsecuritieswillbeovercomewithtime,but
onlyifpeoplecanpractice.
Third,giveittime.Learninganewwayofworkingtakesmorethanaweekend
workshop.I’vefoundthatthemajorityofScrumteamsandcompaniesimplementing
Scrumneedatleastthreemonthstolearnthebasicsandtostartrolling.Somecandoitin
lessandsometakelonger,butonaverage,planforthreetosixmonths,dependingonthe
groupbeingtransitioned.
Fourth,don’tadoptScrummidstream.Ihaveseencountless“Scrumfailures,”where
teamsimplementedScruminthemiddleofadevelopmentcycle,oftenasaresultof
managementdecidingthatScrumisthemagicbulletthatwillsolveallthecompany’s
problems.Management,seeingthepotentialbenefitsthatcomewithahigh-performing
team,expectstheteamtobecomeexpertsatusingScrumovernight.Asyoucanimagine,
thisthrowstheteamintoatailspinastheyareforcedtoworkinanewfashionwhilean
immovablependingdeadlinelooms.Theensuingchaoscausesdelayafterdelayandgreat
sacrificesinquality.IrecommendthatyouimplementScrumatthebeginningofanew
project.Inthemeantime,youcancreateatransitionbacklogofthethingsyouneedto
haveinplaceandworkingtoensurethebestScrumadoptionpossible.
Last,ensuretimeisallocatedforcontinuouslearning.Toooftenteamsignore
retrospectives,consideringthemeitheraluxuryorawasteoftime.Teamswhoskipthe
retrospectiveorgothroughthemotionswithoutapplyinganyofthelearningtofuture
sprintsmostoftenfallbackintotheiroldhabits.Why?Becausetheyarenotsettingaside
timetolearn.LearningisoneofthekeyaspectsofScrumthatcannotbesacrificed.The
teamcannotmovetowardahigh-performingstatewithoutit.
Throughallthesetechnicalandpsychologicalchallenges,justremembertostickwithit.
LearningScrumisnodifferentfromlearninganythingnew.Therewillbegreat
satisfactiononemomentandgreatfrustrationatanother.Educateyourselfandkeepan
openmind.RemembertoothatifNASAcouldputamanonthemoonwithacomputer
systeminsidetheApollo11thathadsomewherebetween36kand72kofmemory,wecan
implementScrum.
References
[SATIR]Satir,Virginia,JohnBanmen,JaneBerber,andMariaGomori.1991.TheSatir
Model:FamilyTherapyandBeyond.PaloAlto,CA:ScienceandBehaviorBooks,pp.
98–119.
[SCHWABER01]Schwaber,Ken,andJeffSutherland.2013.“TheScrumGuide.”
http://www.scrumguides.org(accessed28October2015).Alsoavailableat
http://www.mitchlacey.com/resources/official-scrum-guide-current-and-past-versions.
[SCHWABER02]Schwaber,Ken,andBeedle,Mike.2002.AgileSoftwareDevelopment
withScrum.UpperSaddleRiver,NJ:PrenticeHall,pp.148–154.
[STACEY]Stacey,Ralph.1996.StrategicManagementandOrganisationalDynamics,
SecondEdition.London:Pitman.
[STERLING]Sterling,Chris.GettingAgilewebsite.
http://www.gettingagile.com/2009/07/15/the-forgotten-scrum-elements/(accessedon3
July2010).
PartI:GettingPrepared
Chapter2.GettingPeopleonBoard
M.ScottPeckwrote,“Thetruthisthatourfinestmomentsaremostlikelytooccurwhen
wearefeelingdeeplyuncomfortable,unhappy,orunfulfilled.Foritisonlyinsuch
moments,propelledbyourdiscomfort,thatwearelikelytostepoutofourrutsandstart
searchingfordifferentwaysortrueranswers.”
Asmuchasteamsmightcomplain,peopleareoftenall-too-comfortablewiththeirruts
andtheirunhappiness.Afterall,asbadastheircurrentsituationmaybe,atleastthey
knowtheterrainandrules.Scrumoffersawayout,butitbringswithitanew,unknown,
unfamiliarwayofworking.Whenfacedwiththechoicebetweentheknownandthe
unknown,peopleareoftenhesitantorevendownrightreluctanttochange.Itisnotuntil
immensepressureisapplied,untiltheircurrentrutitselfbecomestoopainful,thatthey
escapetoabetterfuture.
GettingpeopletotakeachanceonaScrumprojectrequiresmorethanjusta“Scrumis
Good”campaign.Ittakesahealthydoseofpersuasion,asteadyincreaseinpressure,anda
wholelotofpatience.
TheStory
RyanwasanenthusiasticprojectmanagerworkinginthecorporateITdepartment.
Historically,hehadagoodtrackrecord,buthislastprojecthadrequiredasignificant
architecturalchange,causingadelayofnearlysixmonths.Bythetimetheprojecthad
ended,Ryanwasreadytofindanewwaytowork.Likemanyofhispeersinthegroup,he
wasfrustratedwithhisteam’sinabilitytodeliverontimeandwiththehighquality
expectedbythebusiness.TheproblemwasthatRyanhadnoideahowtomakethings
better.
Ryanandhisfamilyhadatwo-weekvacationplannedattheircabininMontana.Ryan
decidedthatthetwoweekswouldbebestspentfindingsomenewtoolsforhisproject
manager’stoolbelt.Hepackedasuitcasefullofbooksonprojectmanagement.Ashewas
abouttozipupthebag,hesawabookthathisboss,Steve,hadgivenhimseveralmonths
ago,AgileProjectManagementwithScrumbyKenSchwaber.“Mightaswellthrowthis
intoo,”Ryanthoughtandtosseditinthebagwiththerest.
Ryanburnedthroughthetraditionalprojectmanagementbooks.Hepickedupafew
tips,mainlyoncommunicationplansandriskmanagement,butfoundnothingthatwould
havepreventedthearchitecturalissueonhislastprojectoranyoftheotherproblemshis
teamshadbeenhaving.Reluctantly,hepickedupSchwaber’sbook,grabbedadrink,and
wentouttothedecktoreadit.
Hisinitialskepticismsoongavewaytoexcitement.Hecouldvisualizethepatternsin
hisworkthatdirectlyrelatedtotheonesinthebook,patternsaroundcomplexityand
value-drivenwork.Healsorecognizedtruthsthathehadignoredonhispastteams,such
asactuallybuildingateamofpeopleinsteadofusingacollectionofresources.Themore
Ryanread,themoreinterestedhebecame.Heclosedthebooklaterthatafternoonwitha
greatdesiretolearnmore.Heimmediatelywentinsideandorderedtwomorebookson
agiledevelopment,withnextdayshipping.
Ryanwasnotaworkaholic,butthereadinghehaddonesparkedapassion.Whilehis
wifereadthelatestsummernovelsandhiskidsplayedsoccerintheyard,hespenthis
timeporingoverbooksonlean,agile,XP,Kanban,andScrum.Uponreturningfromhis
vacation,RyanranintoSteve—hisoldfriendandthedivisionmanagerwhohadgiven
himtheScrumbook.
“Steve,I’vegotgreatnews!”Ryanexclaimed.“WhileIwasinMontana,Ireadallthese
books,andIthinkIhaveasolutiontonotonlytheproblemsI’vebeenhavingwithmy
projectsbuttoalltheprojectissueswehavebeenhavinginourdivision!”
“That’salottogetoutofafewbooks,Ryan,”saidSteve,smiling.“Butcomeoninand
tellmeaboutit.”
RyanandStevespentthenextthreehourstalkingabouteverythingRyanhadread.Then
RyanaskedthequestionthathadbeeninhismindthewholewaybackfromMontana:
“YouknowtheMichaelsonprojectwehavecomingup?”
“Yes…,”saidSteve,withahintofcuriosityinhisvoice.
“WouldyouletmetrythisScrumstuffonthatproject?”Ryanasked.“Rememberthat
objectiveyoulaiddownforthegrouptofindawaytoincreaseoveralloperational
efficiencyby50percentwithoutincreasingtheoverallgroupsize?Ithinkthisisoneway
tohelpachievethatgoal.AndIthinkitcanbedonewithinthisyearlikeyouhadhoped.”
Stevesatquietlyforaminute,thinking,andthenreplied,“Ryan,Ithinkyouareright.
TheMichaelsonprojectwillbeagoodtrialforthis,andIagreethatScrumcouldhelp
increaseoverallefficiencywithoutgrowingtheoverallsizeofthegroup.”
“Great!”exclaimedRyan.“Myhunchwascorrect!NowcanI—”
“Wait,”Steveinterrupted.“Now,don’tgettooexcited.Youdon’tknowthis,butwhenI
workedatMegaco,IactuallyranseveralScrumprojectswithgreatsuccess.Ihave
managedlargeorganizationsandteamsthathavebeenabletoimprovebymorethan50
percent,soIknowthiscanwork.Yourbiggestchallengewillbegettingstarted,whichis
moreworkthanyourealize,especiallygettingpeopleonboardwithScrum.”
“SoIcanhaveateamtotrythisout?”askedRyan.
“No,”saidSteve.“Youcanhavetheproject,butyou’llneedtobuildyourownteam.I
wantyoutofindotherteammemberswhoarewillingtoworkthiswaybeforeIgivemy
finalapproval.Iwillsupportyouanywayyouneedmeto,andyouhavefreereigntodo
whatyouseefit,withinreason,togettheprojectoffthegroundandthepeopleonboard.I
willbeyoursponsorandwilllettheotherseniormanagersknowwhatwearedoing.
Remember,noteveryonewillhavetheenthusiasmyouhaveforthis,sotreadlightly.”
“I’llworkonrecruitingmyteam.Idohaveonelastquestionforyou,”saidRyan.“If
youknewaboutScrum,whyhaven’tyoualreadyintroduceditorExtremeProgramming
tothegroup?”
Stevepaused.“WhenIwasatMegaco,Iwasverymuchlikeyou.Enthusiastic,
outgoing,veryin-your-facewiththisagilestuff.Ipusheditfromthetopdownonmy
peoplethere,andtheyreactedbyrebelling.Ieventuallywonmostofthemover,butnot
withoutalotofhardshipandattrition.Thatexperiencemademerealizethatthisneedsto
beabottom-upapproach.Iputthegoaloutthereinthebeginningoftheyearhoping
someonewouldgrabontoitandsuggestanagilesolutionlikeScrumorXP,orboth.”
BothRyanandStevesatthere,lettingSteve’scommentsinkin.
“Thatmakessense,”saidRyan.“I’llkeepyoupostedonmyprogress.”
“Remember,I’mheretohelp,”saidSteve.“Asyoursponsorforthiseffort,it’smyjob
tohelpclearbiggerissuesandprovideguidance.Don’tbeafraidtocometomefor
advice.”
Ryanleftfeelingexcitedbutalittleworriedabouttheideaofgettingpeopleonboard
withhisideas.Hespentafewdaysconsideringhisapproach.
ThefirstpersonRyanmetwithwasDaniel,adeveloperinhismid-fortieswhohadbeen
atthecompanyformorethan12years.Danielwasmethodicalinhisapproachandvery
goodathisjob,butlatelyhehadbecomecynicalandvocallycriticalofthewaythegroup
wasrun.
“Daniel,I’dliketotalktoyouaboutaprojectIamstarting.It’stheMichaelsonproject
and—”Ryanbegan.
“Whyareyoutalkingtomeaboutthis?”Danielinterrupted.“Youshouldtalktomy
manager.Hehandlesmytimeandwilltellmewhattoworkonnext.”
Ryanfeltalittleperturbedthathewascutoffmidsentence,butheforgedon.
“Icandothat,Daniel.IthoughtIwouldtalktoyoufirsttoseeifyouhadaninterest
beforetalkingtoAlanaboutthis.Stevesaiditwouldbeagoodideaformetotalkto
peopledirectlytobuildtheteamandyou—”
Ryanwascutoffagain.
“Steve?OurbigbossSteve?”askedDaniel.
“Yes,”saidRyan.“Yousee,thisMichaelsonproject,it’sarealinterestingproject.My
ideaistousethisprojectmanagementframeworkcalledScrumtorunit.We’lluse
ExtremeProgrammingpracticesliketest-drivendevelopmentandpairprogramming,”
Ryansaidwithexuberance.
“Pairwhat?ExtremeScrum?Idon’tgetit,”statedDanielbluntly.
“Pairprogramming,youknow,wheretwopeopleworkonthesamecodeatonce.And
Scrumisaprojectmanagementframeworkthatallowsusto—”saidRyan,beforebeing
cutoffyetagain.
“Ryan,listen.Ihearyou’reaniceguyandall,butthisisn’tforme.Ihavenointerestin
thisScrumstuff,andImostcertainlywillnottrypairprogrammingortestwhatever.
Sorry,butno,”saidDaniel.
“But,Daniel,ifyou’djustlisten,you’dbeamazedathow—”Ryanstarted.
“Look,Ryan,Idon’tknowhowtobeclearer.Theanswerisno.I’mnotinterested!”
exclaimedDaniel.
Ryanleft,discouraged.Still,hehadanotherchanceattheoneo’clockmeetinghehad
scheduledwithMeghan.
Atoneo’clock,RyanwenttoMeghan’soffice,butMeghanwasn’tthere.Whereisshe?
Ryanwondered.Hesatandwaitedinheroffice.Shefinallycamein15minuteslaterand
seemedsurprisedtoseehimsittingthere.
Ryangreetedher,“HiMeghan,Iwasjustabouttogiveuponyou.I’mherebecauseI
wantedtotalktoyouaboutthisnewprojectI’mdoing.We’regoingtouseScrumand—”
Meghancuthimoff.
“Ryan,Ineedtocomecleanwithyou.Danielhasalreadywarnedmeaboutwhatyou
wanttotalkabout.IcanalreadytellyouI’mnotinterested.Honestly,Iwaskindofhoping
youwouldn’tbehereifIshoweduplate.Ihatesayingno,butI’mnotsayingyes.”
Ryanhunghisheadandsighed.Meghanrelented.
“Okay.Fifteenminutes.”
Ryangotrighttothepoint.Heenthusiasticallydescribedwhattheprojectwasabout,
therevelationhehadoverhisvacation,andhowStevesaidhecouldbuildateamtodo
thisworkandtrysomethingnew.HewasverycleartoemphasizethathehadSteve’sfull
support.Itwasapproachinghalfpastone.
“That’ssomegoodstuff,Ryan.Icanseehowitmightworkonawebprojector
somethingsmall,buttheMichaelsonprojectishuge!Itrequiresalotofarchitectureand
design,whichweneedtodointhebeginningtoplanoutthework.Idon’tthinkwhatyou
areproposingwillwork.And,I’mwithDaniel,Idon’twanttopairprogramordo
testing,”saidMeghan.
“It’snotexactlytesting.It’stest-drivendevelopment—”Ryanbegan.Meghanquickly
cuthimoff.
“Letmeputitanotherway.I’mnotdoingthis.Ever.It’snotforme.It’snotforour
division.Andifyouwanttokeepyourjob,itshouldn’tbeforyoueither.There’snowin
foranyofusintryingsomethingsoextreme,”Meghanexplained.“I’msorry.I’vegotto
gotomynextmeeting,”shefinished,gettingupandleavingRyansittinginheroffice.
Ryansattherefor15minuteswithhisheadinhishands,wonderingwhyMeghanand
Danielweresoresistant.Whatwashedoingwrong?
ByFriday,hehadtwomoremeetingswithtwodifferentpeople.Noluck.Hewentto
seeStevelaterthatafternoontodiscusshislackofprogress.
“Ryan,”Stevebegan,“IhadaquicktalkwithMeghanandDanielyesterdayafteryou
left.I’vegotsomeadviceforyou,asafriend.Youcan’tbein-your-facewithpeople.Let
themcomearoundthewayyoudid,slowly.Theyneedtoreadaboutit.Understandit.
Havetimetomakeuptheirminds.Givethembooksorsomeofthosepapersyouread
overyourvacation.Whenpeopletrynewthings,wehavetograduallybringthemaround
andgivethemtimetogetcomfortable.”
“You’reright,you’reright,”saidRyan.“I’vegoneaboutthisthewrongway.I’mgoing
totakeyouradviceandtakeastepback.Gradually.Logically.Gotit.”
RyanspentthenexttwoweeksslippingMeghanandDanielcopiesofchaptersfromhis
favoritebooksandresearchpapers.Hehighlightedkeypartsandmadenotesonthecopies
astowhyhelikedthemandhowhethoughtthosesectionscouldapplytotheteamhewas
tryingtobuild.
OneMondaymorning,Meghandroppedbyhisoffice.
“Okay,Ryan,”shebegan.“I’mstartingtoseeyourpoint.I’mwillingtohelpwithone
condition.I’vegotkidsandIcannotaffordtolosemyjob,notinthiseconomy.I’mreally
goingoutonaledgehere,andIneedtobesurethatStevewillseethisthrough,”said
Meghan.
RyanassuredherthathewouldhaveStevegiveheracall.Laterthatday,heonceagain
droppedbySteve’soffice.Heupdatedhimonhisprogresssofar,addingthatMeghanwas
willingtojointheteambutneededsomereassurancesfromStevebeforecommitting.
“I’lltalktoher,”saidSteve.“Sothat’sone.Howareyougoingtoconvinceeveryone
else?”
“Well,Ididsomeresearch,anditturnsoutwehavetwoexpertsinXPhereatthe
company,JimandWard.Iaskedthemiftheywouldbewillingtohaveadiscussionwith
ourdivisionaboutwhatthisagilestuffisallabout,”saidanervousRyan.
“Goodidea,”saidSteve.“Whatdoyouneedmetodo?”
ThrilledthatStevelikedtheidea,Ryanlaidouthisplanforthetalk.“Atthediscussion,
I’dlikeyoutobethefirstonetotalk.Reiterateyourgoalsforthedivisionandthenabout
whatI’mtryingtodo.Soundgood?”
“Oh,absolutely!”saidSteve,smiling.
Overthecourseofthenextweek,Ryanputupflyersaroundthebuilding,setupthe
logistics,andgaveJimandWardsomebackgroundonthegroup.Meghanhelpedgetthe
engineeringpeopletocommitandsuggestedtoRyanthattheyorderlunchtoensurea
crowd.“Freefoodisastrongincentive,”shesaid.
Thedayofthemeetingarrivedatlast.Ryanlookedoutatthecrowdandsmiled.More
than90percentofthedivisionhadshownup,muchmorethanhehadexpected.Steve
spokefirst,explainingthegoalshewastryingtomeetandRyan’sefforttofindbetter
waystobuildsoftwaresystems.ThenitwasWardandJim’sturn.
MostoftheattendeesknewwhoJimandWardwereandwhattheyhadaccomplished.
WardandJimspentacoupleofhoursdescribingtheprinciples,values,andpracticesof
XP.Theaudiencelistenedattentivelyandhadplentyofquestions.Evenafterthe
discussionhadofficiallyended,nearly50peoplestayedtotalkmore;itwasthreeo’clock
beforethelastpersonleft.Throughitall,WardandJimhappilyansweredeveryone’s
questionsandprovidedgentlereassurancethatScrumandXPwerejustanotherwayto
approachsoftwaredevelopment—modernengineeringpractices,ifyouwill.Thelast
persontoleave?Daniel.HeapproachedSteveandRyan.
“Well,I’vegottosay,theseguyswereprettypersuasive.I’mstillnotcompletelysold,
butifStevethinksthisisimportant,I’mwillingtodoitononecondition,”saidDaniel.
“What’sthat,Daniel?”askedSteve.
“Thatifthingsgowrong,Iwon’ttakethefall,”saidDaniel,lookingSteveintheeye.
“Firstofall,it’snotifthingsgowrong,Daniel,it’swhen.MyfirstcluethatScrumand
XPareworkingwillbewhenyoufail—howcouldIblametheteamfordoingtheright
thing?”saidSteve.
“I’mnotfollowing.Whatdoyoumean,whenwefail?”askedDaniel.
“I’mtalkingaboutoneofthebestthingsagileprocessesgiveteams—theabilitytofail
early.Iknowtheteamwillmessup;what’simportantiswhentheymessup.Iftheteam
waitsuntiltheendoftheprojecttofail,ashashappenedonourotherprojects,we’re
goingtohaveallthesameproblemswe’vehadbefore.Ontheotherhand,ifthisteamfails
inthefirstthreemonthsandlearnsfromit,theprojecthasamuchbetterchanceof
success.AskRyan.Hewisheshehadfailedearlyonhislastprojectbecauseifhehad
knownabouthisarchitecturalissuessooner,hecouldhavequicklyfixedtheproblemsand
avoidedalltheend-of-projectpain.Failingisn’ttheproblem;failinglateis.
“Asfarastakingthefallgoes,Iknowthattherewillbestumblingblocks,andI’m
willingtogiveyousomeleewaytofigureouthowtoworkinanewway,butIexpect
everyoneontheteamtobefullycommitted.Yousucceed—andfail—asateam,”
cautionedSteve.
“Soit’sallofusornoneofus,andyouwantustofail,aslongaswedoitearly.Wow.I
actuallythinkI’mgoingtosayyes,”saidDaniel.“Ijustneedalittlemoretimetofigureit
alloutinmyhead—really,itscaresthebejeezusoutofme.”
“Metoo,”saidRyan.
ThiscaughtDanieloffguard.
“ButRyan,you’retheguypushingthiscrap.Whatdoyoumeanitscaresyou?”asked
Daniel.
“Areyoukidding?Ithinkit’stherightthingtodo,butthatdoesn’tmeanI’mnot
scared.Ihaveavisionofhowthiscanwork,ofhowwecanhelpachievethegoallaidout
bySteve.Butoncewemakethisleap,likeStevesays,weareinthistogether,asateam—
succeedorfail,it’sallonus,”saidRyan.
“Wellsaid,Ryan,”saidSteve.
“Letmenoodleonthis,”saidDanielasheturnedtowalkbacktohisoffice.
“Notabadshowingtoday,Ryan.Howdoyoufeel?”askedSteve.
“Thisissohard,”saidRyan.“Gettingthesepeopletochangetheirmindsis
excruciatinglytedious.Iwantedtobeupandrunningbynow,buthereweare,nearlyfour
weeksintoit,andIstilldon’thaveateam.It’sprettyfrustrating,”saidRyan.
“Hanginthere.Todaywasagreatmeetingforourdivision.Peoplewantedtohear
aboutthis,andIthinkyoumadealotofprogress.Still,don’tbesurprisedifthereare
peoplewhowon’tchangetheirminds,nomatterwhatyoudoorsayorgivethemtoread,”
saidSteve.
Overthenextthreemonths,RyanworkedwithMeghanandDaniel,calmingtheirfears
andwinningthemover.They,inturn,wonoverafewmorepeopletofillouttheteam.
Theywereallsurprisedattheresistancefrommiddlemanagement,whowereunsurehow
theywoulddoperformancereviewsandmonitorwhowasworkingonwhatiftheirpeople
wereonacross-functionalteam.Stevewasabighelpwiththemanagers,reassuringthem
thathehaddonethisbeforeandthathewouldhelpthemworkthroughanyproblems.
Finally,afterfourmonths,theteamwasreadytostarttheproject.
“Phew!”saidRyantoSteveoverbeersonaFridaynight.“Ifinallydidit.”
“Nowcomesthehardpart,”saidSteve.“Youhavetofigureitallout,experiment,and
learn.”
“Oh,that’llbeeasyafterthesepastfourmonths,”saidRyan.
“Sureitwill,Ryan,”saidStevewithasmile.“Sureitwill.”
TheModel
Inthisstory,Ryanwascomingoffalargeprojectthathadrequiredanarchitecturalchange
lateinthedevelopmentcycle.Ryanwasworriedthatfailinglatehadbecomeanemerging
trendofhisgroup.Desperateforanswers,heboughtandreadseveralbooksonproject
managementthatdidn’ttellhimmuchhehadn’talreadytried.Asalastresort,hereada
bookonScrum,giventohimbySteve,theheadofthegroup.Hisinitialskepticismgave
waytoexcitement.Hereadmorebooksonotheragilepractices.Themorehelearned,the
moreconvincedhebecamethatthiswasthewayforward.
ConvincingothersprovedmuchmoredifficultforRyan.Ryan’speersmethis
newfoundenthusiasmwithfear,anger,andsuspicion.OneproblemwasthatRyan’slast
projectdidnotinspiretrustwithhiscolleagues.AnotherobstaclewasRyan’sdelivery
style.ByalmostattackingpeoplewithhiszealforScrum,Ryanwasmakingpeoplefeel
defensivebeforethey’devenhadachancetohearwhathehadtosay.
Steve,Ryan’ssponsorofthischangeeffort,helpedhimrealizeitwashisemotional
methodofpersuasionthatwasalienatingpeople.HeadvisedRyantoadoptamuchslower,
fact-basedapproach.HeexplainedthatwhileRyanhadtheluxuryofreadingandthinking
aboutScrumforweeksbeforecomingtoadecision,hewasexpectingotherstojumpon
thebandwagononnomorethanhissay-so.
Inresponse,Ryanstoppedhisactivecampaignandtookagentlerbutmoretime-
consumingapproach.Hehandedoutpapersandchapterstogivepeoplethefacts.He
involvedSteveasavocalsponsortohelpsoothepeople’sfearsandalsotohelpthem
understandtheneedtomakechanges.Finally,hereachedoutwithinthecompanynetwork
tofindreputablepeopletoadvocateanagileapproach,sothatitwasn’tjusthisadvicethat
peopleweretaking.Evenafterallthat,itwasstillseveralmonthsbeforehehadafullteam
readytobeginanewproject.
BringingpeopleonboardwithScrum,especiallyinabottom-upmanner,oftentakes
time,persuasion,andpatience.
ChangeTakesTime
Changeishard.Thestatusquo,asbadasitmaybe,isatleastknown.Venturingintothe
unknownrequiresquitealeapoffaith.Ryanwasabletomakethisleapbecauseitwas
cleartohimthatthepathhewasonwouldonlyleadtomorefailure.Stevewaswillingto
changebecausehehadseenScrumworkbefore.
Steveprovidedaclearvision:hisdesiretoincreaseoperationalefficiencyby50
percent.Ryanhadhisownsenseofurgency:Hewantedtohavemoresuccessfulprojects
andfeelbetterabouthisownjobperformance.Neitherwassurehowtoaccomplishhis
goals,butbothwereopentothepossibilitiesinherentinachangetoScrum.
Ina1995articleintheHarvardBusinessReview,JohnKotter[KOTTER]outlinedan
eight-stepmodelforaddressingchange.Asummaryofthatmodelisshowninthe
followinglist:
1.Establishasenseofurgency.
2.Formapowerfulguidingcoalition.
3.Createavision.
4.Communicatethevision.
5.Empowerotherstoactonthevision.
6.Planforandcreateshort-termwins.
7.Consolidateimprovementsandproducestillmorechange.
8.Institutionalizenewapproaches.
BothRyanandStevewerefollowing(albeitunknowingly)someofKotter’s
approaches.Whatfollowsaresomeconcretestepsyoucantaketohelpeasepeople’sfears
ofwhatlifewillbelikewithScrum.
EstablishaSenseofUrgency
Steve’sgoalwastoget50percentmoreefficientwithoutincreasingtheoverallgroupsize
(e.g.,addingpeople),andhewanteditdonewithintheyear.Steveissueditasachallenge
tothedivision,encouragingthemtofindwaystomakeithappen.Thiswasoneofthe
contributingfactorsthatpromptedRyantolookforwaystoaddnotonlytohisown
projectmanagementtechniquesbutalsototheperformanceanddeliveryoftheentire
divisionaswell.
Toconvincepeopletotrysomethingnew,youneedtogivethemareasontomakethe
change.Issuingachallengeorestablishingasenseofurgencyhelpspeopleunderstand
whyachangeisnecessary.Keepinmind,however,thatthechallengemustbereachable
andthesenseofurgencyreal.Peoplewillrisetoarealchallengebutwillshrugoffone
thattheyperceiveasimpossibleorfalse.
FormaPowerfulGuidingCoalition
Asponsorisapersoninanorganizationwhoultimatelyhastheresponsibilityforthe
successoftheprojectandforbreakingdownbarriersanddysfunctionwithinthe
organization.Inthischapter’sstory,Stevewasthesponsor.Stevehadhopedthatthe
divisionwouldturntoagileprinciplesandpracticesbuthadalsorealizedthatthedivision
wouldberesistanttoatop-downimplementationofScrum.Asaresult,hedecidedtowait
forsomeonetotakehischallengeofincreasingoperationalefficiency,whichwouldresult
inabottom-up,grassrootsapproach.Oncethegrassrootsmovementbegan,Steve’sjob
wastwofold:ClearthepathforRyanandalsoworkwithmiddlemanagementtohelpthem
understandwhattheirroleswouldbe.WhileRyanwasbuildinghisteam,Stevewas
workingbehindthescenestobuildacoalitionofsupportersthatwouldultimatelyenable
Ryantobesuccessfulinachievinghisgoal.
Agoodsponsorissomeoneintheorganizationwhobelievesinthechangeandhasthe
authoritytoworkwiththeleadershipteamandthemiddlemanagerstocommunicatea
vision,explainwhyitisimportant,andestablishatimelineforeffectingthechange.The
sponsorshouldalsobeabletohelpexplaintomanagerswhattheirroleswillbeinthenew
processandsolicittheirhelpinmakingithappen.Whennecessary,asponsorshouldalso
intervenewithpotentialsaboteurstoalleviatetheirfearsandconcerns.
CreateaVision/PaintaPictureoftheFuture
Beforetryingsomethingnew,peoplefirstneedtounderstandwhatthefuturewilllooklike
andhowtheywillfit.Inthischapter’sstory,Ryanexpectedpeopletojumponboard
basedonlyonhisenthusiasm.Hewasforcedtostepbackandtakeadifferentapproach.
HeremindedpeopleofSteve’sgoal,thattheyhadbeenaskedtoratchetuptheoutput,and
startededucatingthemaboutthemechanismshehadfoundtoachievetheirgoals:Scrum
andXP.HealsominedthecompanynetworkforpeoplewhohadtriedScrumandXPand
achievedsuccess.HefoundJimandWard,twodistinguishedpeopleintheagilefieldwho
happenedtoworkathiscompany.Afterabriefintroductionaboutwhathewantedtodo,
RyangotWardandJimtocometohisdivisiontogiveatalkaboutXP.Peoplestayed
aroundafterthemeetingtotalkaboutwhattheyheard,andtheybegantovisualizehowa
newapproachmightworkforthem.
CommunicatetheVision
Therearemanyapproachesyoucantakewhenintroducingpeopletoagileprinciplesand
practices.First,provideliteratureforthemtoread—books,whitepapers,researchpapers,
andthelike.Theseresourcesareagreatwaytohelppeopleunderstandwhathasbeen
tried,whattheissuesare,andthesuccessesandfailuresthatothershavehad.Literature
alsohelpsseparateemotionsfromthedata,enablingpeopletoreachtheirown
conclusions.
Noteveryonelearnsbyreading,though,soalsoconsidersociallearningmechanisms.
Createabookclub,havebrownbaglunchsessionswherepeopleinthegrouptalkabouta
topicpassionatetothem,participateinwebcastsandlocalusergroups,and,ofcourse,if
otherteamsyouknowofaredoingScrumorXP,askifyoucanwatchtheirreviewsor
planningmeetings.
Next,useyournetwork.Thereareoftenpeople,bothinsideandoutsideyourcurrent
company,whoareveryfamiliarwithScrum.Reachouttothoseinyourlocalareaand
becomegenuinelyinterestedinthem.Invitethemtopresenttoyourgroupabouttheir
experiences,howtheygotstarted,andtechniquesforsuccess.Eveniftherearenoexperts
inyourlocalarea,it’sstillhelpfultobringinoutsiderstosharetheirstories.Afterall,
peoplewilloftenlistentosomeonethattheydon’tknowandtrusttheirwords,evenwhile
disregardingpeopletheydoknow,whoaresayingthesamething.
EmpowerOtherstoActontheVision
Steve,asthedirectmanagerofthegroupandRyan’sprojectsponsor,wasalsothecreator
ofthevisionandtheonebuildingthesupportingcoalition.Assuch,hewasableto
empowerRyantodowhatneededtobedone.Hisbacking,ineffect,gaveRyanabadge
andagun.Ryanaskedforandwasgiventheauthoritytofindaprojectonwhichhecould
trythenewprocess.ThechallengeforRyanwasassemblingateamofwilling
participants.Steve’sbackinggaveRyanbothcredibilityandafootinthedoor.Fromthere,
however,itwasuptoRyantouseinfluencetobuildhisteam.
EvenafterpeoplewereconvincedthatScrummightbeagoodidea,theywerestill
hesitanttocommit.Meghangaveabunchofexcuses,butherrealfearwasthatshewould
failandloseherjob.Shehadagoodreputationanddidn’twanttoloseit.Thedecisionfor
Danielalsocamedowntowhetherornothe’dbesuccessful.Asthesponsor,makesure
youclearthewayforteammemberstoaddressanyissuesthatsurfaceontheteamorin
theproject.Reassurethemthattheycandowhattheyneedtodotoresolvetheirown
issueswithimpunity.
If,evenwithstrongbacking,peoplearereluctanttocommit,considerofferingthema
trialrun.Inatrialrun,theteammemberswouldhaveadesignatedperiodoftime(perhaps
threemonths)inwhichtheywouldagreetoputforththeirbesteffort.Attheendofthe
trial,theycouldeithercontinuewithScrumorwalkawayclean.Runningatrialhelpsto
removethefearoftheunknown,creatingacomfortzonewherepeoplecantrynewthings
withoutrepercussions.
Atrialruncanalsobeawaytoprovetotheteam,theskeptics,andtherestofthe
organizationthatthenewmethodologydoesn’tjustworkintheory,butitworksin
practice,inthiscompany,andonaspecifictypeofproject.Itcanalsoprovideinsights
intothingsthatdon’tworkinitiallyandhowthesechallengescanbeovercome.Thedata
fromatrialruncanbeusedtohelpbuildacoalitionofsupporters.Overtime,fearwillbe
replacedwithconfidence.
PlanforandCreateShort-TermWins
Scrumisdesignedtoprovideshort-termwins.WhentransitioningteamstoScrum,help
themunderstandthatthepotentiallyshippableproductincrementisnotintendedto
highlightwhattheyhaveyettofinish;onthecontrary,itistohighlightwhattheteamhas
accomplishedandtogetcustomerfeedback.Itisalwaysbettertofailearlywhenthe
investmentissmallthanitistofaillatewhentheinvestmentislarge.Whenshowing
workingsoftware,alwaysremembertobetransparentandhonest—beupfrontaboutboth
thegoodandthebadoftheprojectandembracethechangesthatarebeingmade.
Short-termwinsalsohelpbuildthetrustbetweentheteamandthestakeholders.Trustis
fragileinthebeginning.Showingworkingsoftware,evensmallbitsofit,willhelp
increasetheconfidenceoftheteammembersandthestakeholders.
ConsolidateImprovements
Helppeoplerealizethattheywillnotseea100percentincreaseinanythingoutofthe
gate;ittakestime.Justasaweightliftercannotexpecttostartwitha300-poundweight
butmustbuilduptoit,teamscan’texpecttosuddenlybepowerfulandstrong.Thatkind
ofchangetakestraining,practice,andtime.
Astheprojectprogresses,newpracticeswillbecomeingrainedhabits,makingthework
itselfeasier.Atthesametime,improvementswillgetharderandsmaller.Newchampions
ofScrumwillemergeaspeoplefindthewaytheyareworkingnowtobeasignificant
improvement.
InstitutionalizeNewApproaches
Iliketothinkofinstitutionalizednewapproacheslikeachangeindietorexercise.Atfirst
it’spainful.Asyouprogress,though,youachieveshort-termwinsandgetbetterandbetter
byfindingwhatworksforyou.Eventuallyyouwonderhowyoueverdidwhatyouusedto
doasthenewwayjustfeelsright.Agileapproachesarenodifferent.
Astheconsolidatedimprovementsbecomecommonplace,teammemberswillbeginto
wonderwhatitwasliketoworkinanon-agileenvironmentwheretheyonlyshippedonce
ayear.Whenthishappens,askthesechampionstospawnoffandcreatenewteams,
furtherinstitutionalizingtheframeworkacrosstheorganization.
KeystoSuccess
Evenwhenyoudoalltherightthings,winningpeopleoverischallenging.IttookRyan
fourmonthstobuildateam;itmighttakeyoujustaslongtobringpeopleonboard.Itall
dependsonthecultureofthecompany,themanagement,andofcourse,thepeople
themselves.Bottom-upeffortstakeawhiletospread.Themostimportantkeystosuccess
arepatienceandinformation.
BePatient
Oneofthehardestthingstodoisletotherscometoarealizationyou’vealreadyreached.
ButasStevelearnedathisformercompany,pushingasolutiondownpeople’sthroatsis
equallychallenging.Planttheseedsbutbewillingtoletthemgrow.Peoplelearnat
differentpacesandusingdifferentstyles.Whatconvincedyoumaynotworkfor
everyone.Askyourself,“HowwouldIfeelifthesepeoplewereaskingofmewhatIam
askingofthem?”Often,youranswertothisquestionwillcauseyoutochangeyour
approach.
Findoutwhatotherpeople’striggersare.Listenwhenothersexplainthattheydon’t
understand,areafraid,orarereluctanttochange.Askquestionsdesignedtoelicitanswers
thatwillallowyoutouncoverandaddressunderlyingconcerns.Trynottoletwhatyou
perceiveasalackofprogressfrustrateyou.Thingsofgreatvaluetakeafairamountof
time.
ProvideInformation
Ryangavepeoplehighlightedchapters,researchpapers,andcasestudiestohelpprovehis
case.Bepreparedtogiveyourowncolleaguessomeharddatatoovercometheirinitial
reluctance.Ryanalsoarrangedforpeopletotalktotrustedindividualswhohadsucceeded
withanagileapproach.Youshoulddothesame.Trainingisanothergreatoptionfor
helpingopenpeople’smindstoanewwayofthinking.
Rememberthatthoughthecurrentrutmaybepainful,mostpeopleareunwillingto
moveunlesstheytrulybelievethereisabetterpath.Yourjobistoclearlyexplainthe
alternativeyouareproposingandtowaitpatientlywhilepeoplemakeuptheirminds.In
theend,theonlypersonyoucancontrolisyourself.Throughoutthechallengingprocess
ofgettingpeopleonboard,keepyourheadup.Youmayhearnomoreoftenthanyes.Stay
focused.Staypositive.Staystrong.Thisischallengingstuff.
Reference
[KOTTER]Kotter,JohnP.2007.“LeadingChange:WhyTransformationEffortsFail.”
HarvardBusinessReview73(2):59.
WorkConsulted
Schwaber,Ken.2004.AgileProjectManagementwithScrum.Redmond,WA:Microsoft
Press.
Chapter3.UsingTeamConsultantstoOptimizeTeam
Performance
InTheFifthDiscipline,PeterSengedefinedlearningorganizationsas“organizations
wherepeoplecontinuallyexpandtheircapacitytocreatetheresultstheytrulydesire,
wherenewandexpansivepatternsofthinkingarenurtured,wherecollectiveaspirationis
setfree,andwherepeoplearecontinuallylearningtolearntogether”[SENGE].Creatinga
teamstructurewherepeoplecangrowtheirskillswhileaccomplishingbusinessgoalsisa
challenge.
Datashowthatthebestteamsizesarebetweenfiveandninepeople,allofwhomare
fullydedicatedtoaprojectforthedurationoftheproject,andwhoworktogetherina
cross-functionalwaytodeliverworkingsoftwareattheendofeverysprint[PUTNAM].
Whatmanycompaniesfind,however,isthattherearen’tenoughgoodpeopletogo
around.Creatingoneortwoteams?Sure.Creatingawholecompanyoffullycross-
functional,dedicatedteams?Muchmoredifficult.
Somepeoplehavegreatskillsbutdon’tnecessarilymakegoodteammembers.Others
areinsuchhighdemandthatit’shardtoholdthemononeteamforthelengthofthe
project.Inlightoftheserealities,howcanyoustructureateamthatisdedicatedtothe
project,containsalltheskillsyouneedtogetthejobdone,andprovidesopportunitiesfor
personalgrowth?
ThiswastheproblemfacingRebecca,aprojectmanageratamid-sizedcompany.Her
solutionisonethathasworkedatmanycompaniesandinmanysituations.Implementing
it,however,requiresanopenmindandanewwayoflookingatteams.
TheStory
Rebeccaisamanagerinamedium-sized(300+)softwarecompany.Today,asshedoes
everysingleFriday,sheissittingintheresourceplanningmeeting.Andtoday,asitdoes
everysingleFriday,themanagementteamisreviewingwhateveryoneisworkingon,
whichprojectsarecomingup,andhowtojugglekeysubjectmatterexpertsamong
competingprojects.WejoinRebeccainthemiddleofthismeeting.She’sboredandis
passingthetimedoodlingonhernotepad.Throughthehazeofherdoodlingandthebuzz
thataccompaniesthebusinessofshufflingpeoplefromprojecttoproject,itsuddenlyhits
her:Shewillneverhaveenoughskilledpeopletocreateadedicatedteamforher
upcomingCougarproject.Shestopsdoodlingandbeginstotunein.Justasshesuspected,
noneofthepeopleshewantsareavailableforadedicatedteam.Whatdoesthatmean?It
meansshe’sgoingtohavetoeithershareateamwithotherprojectsorcreateasecond-rate
teamthatshecanhavealltoherself.
“Ijustneedtochoosethelesserofthetwoevils,”shedecides.“That’sprobablya
sharedteam.Sowhatiftheteamissplitacrossmultipleprojects?IfItimeitright,Ican
cherry-picktheskillplayers.I’dhaveanall-starteam.”
Rebeccastartstogetexcitedaboutthisoption.Glancingattheschedule,sheseesthat
thestardevelopersandtestersareeachavailablefor20hoursperweekduringherproject
—andtheycanbeallhersifshelockstheminnow.Justassheleansforwardtospeakup,
shehearssomeoneshufflingyetanotherpersonoffoneprojecttohelpsaveanother.
Rebeccasitsbackinherseat,recallingherPoodleproject.Onthatproject,shehadMark
andBill,whoweresupposedlyfullydedicatedtoherproject.Yetwhenpushcameto
shove,theyweretheonlypeoplewhocoulddocertainwork,sotheygotcalledoffher
teamtohelpothers.Eventually,theirsplittimecausedherprojecttoslip.“Thatwon’t
work,either,”sheconcludes.“EvenifIgetmyall-stars,intheendtheywilljustbepulled
offmyprojecttohelpsaveothers.Thatwillleavemeoverbudget,understaffed,and
strugglingtomaintainquality.”
“WhatotheroptionsdoIhave?”shewonders.Shepicksupherpenandbegins
doodlingagain.Shebeginstolistthepeopleshecangetfull-time.
Larry:greatatSQLandreallybadatUI[userinterface],butverywillingtolearn
newskills
Scott:wonderfulall-aroundtesterwithsomedevelopmentbackground
John:C#andarchitectureaficionado
Michelle:greatdatamodelingskills,veryopenminded,andworkswellwithothers
Thosepeoplewouldmakeadecentteam,buttheycan’tdoeverythingtheprojectneeds.
“WhoelsecouldIchoose?”Rebeccawonders,lookingupattheresourcechart.“Nobody
I’dwant.ThepeoplewhohavetheskillsIneedandareavailablefull-timearenotteam
players.They’ddomoreharmthangood.1Rebeccatossesherpenonthetable.Nomatter
howsheslicesit,adedicatedteamcan’tcoveralltheprojectneeds.
1.SeeChapter21,“WhenCulturesCollide,”foranexampleofateammemberwhodoesmoreharmthangood.
Suddenlyanideacomestomind.“WhatifIcanhaveboth?”Rebecca’sideaissimple
yetoutsidethemainstreamformostcompanies.Shepicksupherpenanddrawsabig
circlearoundherkeyplayers.“Acoreteam,”shemuses.“Icouldhaveacore,dedicated
team,supplementedwithapoolof‘teamconsultants,’”sherealizes.Theseteam
consultantswouldbecompanyemployeeswhodon’tworkforanyteamfull-timebut
insteadareoncalltosupplytherightskillsattherighttime.Thiscouldwork.Theonly
problemisthatthecompanycurrentlydoesn’thavethatpoolofteamconsultants.That’sa
problemshecansolve.Shespeaksupinthemeeting.
“Everyone,Iapologizeforinterrupting,butI’mnoticingarecurringtrend.Duringthe
last30minutes,we’vehadtomovesevenpeoplefromtheircurrentlyassignedprojectto
anotherprojectindistress.Why?Becausetheyaretheonlypeoplewhomwebelieveare
capableofdoingaparticulartask.Iagreethattheyhavespecialskills,butwheredoes
movingthemleavetheiroriginalprojects?Itleavesthoseprojectsinthelurchandin
dangerofneedingsavingaweekortwofromnow.That’swhere.Andwillmovingthem
worktosavethetroubledprojects?Thetruthis,wedon’tknow,butthegamewe’vebeen
playinghaslikelybeencreatingthetroubledprojectsmorethanfixingthem.”Aheavy
silencefollowsRebecca’swordsaseveryheadturnstolookather.
“Whatothersolutionsdowehave?”asksRebecca’sboss,Dave.“Shiftingpeople
aroundistheonlywaytomanagetheworkwehave.”
Rebeccalooksdownatherhalf-bakedidea,sketchedamongabunchofdoodles.She
forgeson,unabletopassuptheopportunityDave’squestionpresents.
“Well,Iwasthinking.ThemostsuccessfulprojectsIhaveeverrunhavehada
dedicatedteam—”
“That’simpossiblehere,”interruptsDave.
“Iknow.Hearmeout,”saysRebecca.“Traditionally,dedicatedteamshaveallthe
personneltheyneedtobesuccessful,fromdevelopersandtesterstodesignersand
architects.I’mnotaskingforthat.I’msuggestingthatwhatIneedisadedicatedcore
team.Theycandomostoftheday-to-daywork.Forthosespecialtimeswhenweneeda
SQLexpertoranarchitectoraUIdesigner,I’dpullfromapoolofspecialistswhoaren’t
assignedtoanyoneteam.Apoolofinternalconsultantsthatwecouldall”—shegestures
aroundtheroom—“utilizeasneeded.They’dactasconsultantstothecoreteam.Inthe
shortterm,theywoulddo,orhelptheteamdo,thespecializedtasksthatthecoreteam
isn’tcomfortabledoing.Overthelongterm,ifweusepairingandcoachingcorrectly,the
coreteammemberscanpickupnewskillsandtakeonmoreworkthemselves.We
accomplishourbusinessgoalswhileworkingtowardourculturalgoalofbeingalearning
organization.”
Daveshakeshishead.“Rebecca,Iappreciateyoureffortintryingtosolvethisproblem,
butIreallydon’tthinkitwillwork.Wehaveaverycomplexorganizationalstructure.We
needtokeepourorganizationmatrixedsowecansolveissueslikethatwhentheycome
uponourprojects.This‘teamconsultant’roleyouaretalkingaboutjustseemslikeitis
notgoingtowork.HowwillImanagetheirtime?Whatguaranteecanyoumakethatthese
problemswon’tkeephappening?”
Rebeccathinksforamoment.Davedoesn’tseemaversetotheideaasmuchasunsure
ofwhyitwouldworkandhowhewouldmanageit.Shethinksofananalogythatshe
knowswillspeaktoeveryone.
“Okay,everyone—question:Haveyoueverhadyourhouseremodeledorhadanew
housebuilt?”sheasks.Overhalfofthe40peopleintheroomraisetheirhands.“Now,
howmanyofyouwerecompletelysatisfiedwithyourgeneralcontractor?Howmanyof
youhadcontractorswhoshowedupontimeanddeliveredwhattheypromised?”
Everyonelaughs,butnooneraisesahand.
“Yep.That’swhatIthought.Sad,right?Okay.Nowhowmanyofyouhaveusedthat
samecontractoragainafteryourinitialexperience?”Rebeccaasks,eyebrowsraised.
Again,nohands.
“Nobody?Whynot?”sheasks.
Abarrageofanswerscomeout.
“Theybrokeourtrust.”“Theywouldshowuplateornotatall.”“Theydidn’treturnour
callsinatimelyfashion.”“IfeltlikeIhadtohoundthemtogetourworkdone.”“They
wereconstantlyfullofexcuseslike‘thepersontodothetilingisonanotherjobtoday.’”
Thelistgoesonandon.
“Right.Ihearyou.Now,howmanyofyouhavesincehiredspecialists(maybepeople
youmetthroughyourgeneralcontractor)todoajob?”Rebeccacontinues.
“Ihave,”saysIan.“Thetileguy.He’sgreat.Heshowsupwhenhesays,alwayscalls
meback,andisverygoodathiscraft.Infact,hejustwentoutonhisownasan
independent.”
Rebeccaasks,“Doyouthinkthatbeingonhisownmakeshimmoreaccountableto
you?”
“Absolutely,”saysIan.“Hisreputationisatstake.Allhisbusinessisbyreferral.Ihave
senthimtoallmyneighborsforwork,andtheylovehim,too.”
“Doeshemanagehisowntime?”asksRebecca.
“Well,hesurebetter.He’stheonemakingthecommitmentstohiscustomers,andhe’s
theonedoingthework.Itrusthimtomanagehistime,”saysIan.
“Thatisakeypoint,Ian,”saysRebecca.“Forpeopletobeabletofollowthroughon
theirwork,tobefullycommitted,theyhavetomakethecommitmentforthemselves.In
thismeeting,thisresourceplanningmeeting,whatarewedoing?Wearemaking
commitmentsforresources,peopleotherthanourselves.Wearejugglingthemaroundlike
pawns,notconsideringtheirtime,theirpreviouscommitments,ortheirinterests.Weare
simplylookingattheirskillsandapplyingthemtoprojectsthatareinurgentneedofthose
skills.Worse,wedon’ttrustthemenoughtoallowthemtodoitthemselves.”
Sheglancesaroundtheroomagain,“Everyone,we’reactinglikegeneralcontractors,
andwe’resurprisedwhenitdoesn’twork.Ourcustomerstrustustodeliverontime,on
budget,andwiththequalitytheyexpect.What’sgoingtohappenifwedon’tmeettheir
expectations?”
“Weloseourcustomers,”saysavoicefromtheback.
“Right,weloseourcustomers!”exclaimsRebecca.“Topleaseourcustomers,weneed
tohaveemployeeswhoarevestedintheprojects.Thebestwayforustodothisistohave
themsignupforworkandmanagetheirownschedules.We’vesaidwewanttobea
learningorganization,acompanyfilledwithempoweredemployeeswhoarecross-trained
andsatisfiedwiththeirwork.Thismodelseemslikeawaytopleaseourcustomersby
deliveringwhattheyneedwhentheyneedit.Atthesametime,itgivesusawaytofoster
happyemployeeswhowanttostaywiththecompanylongterm.”
Daveisvisiblyflustered.“Rebecca,youcan’tbeserious.Ourdeliveryteamsarenot
capableofmanagingtheirownschedules.That’swhywehaveresourcemanagers.”
“No,Dave,wehaveresourcemanagersbecauseweare,howdidyousayit,ahighly
matrixedorganizationanddon’tpushaccountabilityorcommitmenttothepeopledoing
thework.Thestructurewehaveinplacemakesittoomuchofachallengeandfartoo
bureaucraticforourpeopletotrytomanagetheirowntime;that’swhywecreatedthe
resourcemanagerrole.Ian’stileguywentoutonhisownbecausehewasabletomanage
histimeandbringinworkforhimself.Hemadecommitmentsbasedonhisscheduleand
hisskillset.Wedon’tseeIancommittinghistileguytoinstallwindows.Sure,hemight
beabletoinstallawindowifhereallyneededto,butwhathedoesbestistile,sothat’sthe
servicehesells.Wehavepeopleinourcompanywhoaregreatgeneralists—theylove
doingalittlebitofeverything—andwehavepeopleinourcompanywhoarevery
specialized—greatatdatabasedesignandobject-orienteddesignpatternsorfantasticat
systemandnetworkdesign.Theyliketheirspecializationsandwanttofocusonthem.Our
problemisthatwearemanagingeveryone’stimeforthem.Whenwedothat,ifteamsfail
todeliver,theycanblameusbecausewearetheonestellingthemwhattodo.Theyare
notaccountabletotheirprojects;theyarejustexecutingwork—andwedon’tenablethem
todotheirbestworkbecauseweholdthemback,”saysRebecca.
Daveseemsatalossforwords.
Rebeccagoesinforthekill,“Dave,tellyouwhat,letmerunanexperimentonthe
Cougarproject.Givemelicensetoapproachafewpeopleaboutbeingpartofacoreteam
thatisfullydedicatedtotheproject.Iftheyagreetoworktogetherandwithme,we’llthen
sitdownandidentifysomecandidatestobeourteamconsultants.Iwanttobeabletotell
everyonethatwehaveyoursupportincreatingahybridteamofcoremembersandafew
peoplewhowillfloatbetweenprojects.Inreturn,we’llkeepyouandtherestof
managementwellinformedofhowthistrialisgoing.”
BeforeDavecanobject,Jim,thedirectorofthegroup,speaksup.
“Rebecca,”saysJim,“I’mgoingtoletyoutrythis.Twocaveats:Youwillworkinour
customers’bestinterests,andyouwillbeatestbedfortherestofthecompany.”Helooks
atDave.“She’sright.Toomanyhoursarewastedinthismeeting,andtoomanypeopleare
shuffledfromprojecttoproject.Thisproblemhastostop,andthisisthebestsolutionI’ve
heardtodate.Rebecca,letmeknowwhatyouneedtomakethisasuccess.”
Withthat,Rebeccahaswhatsheneedstoimplementthemodelthatstartedoutasa
doodlebornofboredomanddesperation.
TheModel
Inthischapter’sstory,Rebeccawasdealingwithfrustrationinsidehercompany.Shewas
abletoimplementasolutionforherteamthateventuallyspreadthroughtheentire
company:theuseofteamconsultants.
Ateamconsultantissomeoneinyourorganizationwhoisavailableforsomeamountof
workanddirectlyfillsaskillgapbetweentheteamandtheproject.Teamconsultantsare
notcoreteammembers.Theyhavenoteam,perse.Theychooseinsteadtoofferuptheir
servicesasinternal“gunsforhire,”providingspecificexpertiseasneeded.Team
consultantsoftenworkformultipleteamsandaretypicallyveryspecialized,so
specialized,infact,thattheymightnotmakegoodcoreteammembers.Thatdoesn’tmean
theteamconsultantshoardtheirknowledge,though.Aspartofalearningorganization,
teamconsultantshelpothersbyteaching,givingadvice,coaching—whatevertheteam
needsduringasprint.Andtheteamconsultantsgrow,too,learninghowtoworkaspartof
across-functionalteamandhowtosharetheirexpertisewithothers.
Thoughteamconsultantsoccasionallymaybebookedforthelengthoftheproject,they
typicallydonotworkfull-timeonthatproject.Theyarehiredspecificallytosolvean
immediateproblemortocontributealimitednumberofhourspersprint.Thecoreteam,
ontheotherhand,ismadeupofteammemberswhosetimeisfullydedicatedtothe
project.Collectively,theyareresponsiblefordeliveryofthework.Theyareacross-
functionalteamwhoworkononlyoneproject,eliminatingcontextswitchingand
multitasking.
JustasaScrumteamdoesn’thavetotakeonalltheworkproposedbytheproduct
owner,ateamconsultantdoesnothavetoworkforeveryteamthatasks.However,team
consultantsshouldmakethesego/no-godecisionswithinthecontextofbusinesspriorities,
personalavailability,andtechnicalexpertise.
Implementingtheteamconsultantmodelisatwo-partprocess:establishingateam
consultantpoolandbuildingyourteam.Ifyouarelimitingyourimplementationtoaone-
teamtrial,however,youcanskipthefirstpartuntilyoudecidetoscalethemodel
throughoutyourorganization.
EstablishingaTeamConsultantPool
Establishingapoolofavailableteamconsultantsiseasierthanitmayseem.Itinvolves
thesetwosteps:
Step1.Developandcommunicateatransitionplan.
Step2.Letpeoplechoose.
Step1:DevelopandCommunicateaTransitionPlan
Thefirstthingyouneedtodoisdevelopatransitionplanthatincludesthereasonforthe
change,thevisionofthefuture,andthepathtoachievingyourgoals.
Detailthecommonproblemsthatyouareexperiencingwithinyourorganization.
Communicateasharedvisionastowhyitisimportanttocreatealearning
organization.
Helppeopleunderstandthattheirrolesarenotgoingaway;onthecontrary,theyare
beingenhanced.
Reinforcethefactthatnow,morethanever,individualandteamcommitmentsdrive
customersatisfactionand,ultimately,businesssuccess.
Thenextthingyouneedtodoisaskpeopletosignupaseitherteamconsultantsorcore
teammembersbyacertaindate,whichleadstostep2:Letpeoplechoose.
Step2:LetPeopleChoose
Thepersoninthebestpositiontodeterminewhetherheorsheshouldbeacoreteam
memberorateamconsultantisthepersondoingthework.Communicatethedifferences
inthetworoles,perhapsevenpostingatablesuchasTable3-1thatliststhebenefitsand
downsidesofeachrole.
TABLE3-1Roles,Benefits,andDownsides
Teamconsultantswillworkonmultipleprojectsandwillneedtomanagetheirtime
accordingly.Teamconsultantsoftenchoosethisrolebecausetheyarepassionately
dedicatedtotheircrafts.Thesepeoplehavebeenworkingintheirsubjectmatterforso
longthattheyarethego-topeopleforcertaintypesofwork.
Signinguptobeateamconsultant,however,doesnotmeanthatyougettopractice
yourcraftwithouthelpingothers.Onthecontrary,wheneverpossible,teamconsultants
shouldworktobringuptheskillsoftheentireorganization.Thisiseasierinsomeareas
thanothers.Forinstance,noonewouldexpecttoseeagraphicdesignerteachingdesign
elementstoaten-yearveteranofinfrastructureprojects,butitwouldnotbeunusualtosee
aSQLexperthelpingoutacoreteammemberwhohassomeSQLskillsbutneedstolearn
moretobemosteffectiveinhercurrentproject.Teamconsultantsalsoarenottheretotell
theteamhowtodothework.Instead,theyadviseandinfluencetheteamastowhich
directiontotake.Consultantsworkalongsidetheteambutprovideleadershipaswell.
Atypicalweekforateamconsultantwithatechnicalbackgroundincludescoding,code
reviews,documenting,solvingtechnicalproblemstheteamisstuckon,providing
architecturalguidance,ordoinganythingelsethattheteamasks.Forcreativeservices
suchasgraphicdesignandtechnicalwriting,thetimewilllikelybespentwiththeteam
and/orproductowner,reviewingtheitemsneeded.Technicalwritersespeciallyneedtobe
awareofthe“done”criteriafortheteamandhelptheteamdeliverallrequired
documentationeachsprint.
Itisuptotheteamtoscheduletimedirectlywiththeteamconsultantandtomakesure
theworkisqueuedwhentheconsultantarrives.Ifateamconsultantoverbooksherselfon
toomanyprojects,it’suptohertofixthesituation.Thebenefittheteamconsultantsseeis
thattheycanstayfocusedontheircoreskillsandthattheycanbeinstrumentalinteaching
others,therebygrowingandbuildingthecompanywhileraisingthebaracrosstheboard.
Thepeoplewhomakeupthecoreteam,ontheotherhand,areskilledinmultipleareas.
Theyarenotexpectedtobeexperts;infact,theteamisdesignedtoprovidecross-
functionalbalanceofexpertise.Likeateamconsultant,acoreteammemberisresponsible
forhisorherowntime,butallthistimeisdedicatedtooneteamandoneproject.Core
teammemberscanstayfocusedonasingleprojectthroughoutitslifecycleandcanlearn
newskillsbyworkinghand-in-handwithothercoreteammembersandteamconsultants.
Theabilitytostaywithoneteamandprojectyetlearnnewskillsisanadvantagethat
shouldnotbedownplayed.TwoofthebiggestcomplaintsIhearatcompaniesaroundthe
worldarethefollowing:
1.Ihavetosplitmytime.
2.Ineverlearnnewthings.
Asaresult,peoplelookelsewhereforbetteropportunities.
Onacross-functionalScrumteam,coreteammemberscontinuallylearnnewskillsand
areabletostayfocusedonasingleproject.Assuch,thebusinessprofitsbyhavinga
stableworkforcethatiscontinuallylearning,enablingthebusinesstoremaincompetitive
andresponsivetochange.
BuildingYourTeam
Whetheryouchoosetofirstbuildacompanywidepoolofconsultantsorarejusttryingout
themodelonasmallscale,thefirstthingtoconsiderwhenbuildingateamistheskillsets
youneedfortheproject.Ifyouarenottechnicalenoughtodothistask,askforhelpfrom
acolleaguefamiliarwiththeproject.Afteryou’veidentifiedthetechnicalskills,you
shouldalsoconsidersoftercompetencies,suchascommunicationskills,open-
mindedness,andtheabilitytobeateamplayer.Thesecompetenciesareoftenmuch
hardertodetermine,butarevitaltosuccess.Thelistlookssomethingliketheoneshown
inthefirstcolumnofTable3-2.
TABLE3-2Samplelistofcompetencies,skills,andavailabilitywithsubjectiveanalysis
ofpotentialteammembers
Onceyouhavelistedtheskillsandcompetenciesyouarelookingfor,beginidentifying
thepeopleyouhavetochoosefromandmapthemtoyourwishlist.Includetheir
availabilityaswell.Rankeachindividualonascaleofzerotofivestars.Remember,there
isnothingquantitativeaboutthistask;itispurelysubjective.Youmightwanttoaskfor
helpwithidentifyingyourcandidates,justfortheaddedperspectiveasecondopinioncan
addtotheprocess.Theresultingchart,fullycompletedasshowninTable3-2,willbe
customizedtoyourownpeopleandrequirements;it’samoreformalizedversionofthe
analysisRebecca,fromthestory,didonthefly.
CoreTeam
SupposeTable3-2isthechartthatRebeccacreatesfollowinghermeeting.Lookingat
Table3-2,youcanseerightawaythatbothJohnandMichelleareveryavailable,and
togethertheybringthreekeyskillstothetable:architecture,SQL,anddatamodeling.In
addition,theyarebothconsideredgoodteamplayers.Asithappens,Rebecca’sprojectis
heavyinSQLwork,sothoughMichellehasSQLskills,Rebeccadecidesshewillneed
evenmorehelpinthatarea.LookingatherotherSQLpeople,RebeccacirclesLarryand
Scott;theyarebothmarginallyavailablebutcanprobablybecomefull-timemembers.Her
prospectsforthededicatedteamareJohn,Michelle,Larry,andScott.Asyoucanseeby
lookingatFigure3-1,Rebecca’scoreteamdoesnotcovertheentiresetofskillsneeded
forthisproject.
FIGURE3-1Thecoreteamcan’tcovertheentireproject.
TeamConsultants
Onceyouhaveformedyourcoreteam,meetasagrouptodetermineyourownstrengths,
weaknesses,andgapsinprojectcoverage.Ifyoufindyouhavegapsinskillcoverage,it’s
timetoconsiderwhichteamconsultantsyoumightbeabletoutilize.
Havetheteamreachouttoindividualsintheteamconsultantgroup(orinthe
organizationasawholeifyoudonotyethaveadedicatedpoolofteamconsultants)who
meetthoseneedsandwhotheyfeelwouldworkwellwiththeteamonalimitedbasis.
SupposethatRebecca’steamgetsacommitmentfromMichaeltobeavailableforC#code
reviewsandsomepairinghelponAPIstheteamisnotsureabout.Theteamalsoasks
DavidandStefantobeconsultantsforUIandAjax,respectively.Thefinalteamchart
looksliketheoneinFigure3-2.Noticehowtheteamconsultantsclosethecoreteam’s
coveragegaps.
FIGURE3-2Theteamconsultantsfillthevoidsontheproject.
SizeMatters
Everyonehasaninherentunderstandingthatteamsthataresmallerinsizetendtoproduce
faster.Addingpeoplecomeswiththeadditionalcostoframp-uptime.IntheMythical
ManMonth,FredBrooksputouttheprincipleknownasBrooks’law:“Addingmanpower
toalatesoftwareprojectmakesitlater”[BROOKS].Butisthisalwaysthecase?
Ina1999article,SteveMcConnellsuggeststhat“controlledprojectsareless
susceptibletoBrooks’lawthanchaoticprojects,”becausepeoplecanbesafelyaddeddue
tobettertracking,documentation,anddesign[MCCONNELL].However,even
McConnellacknowledgesthateveryprojectreachesapointwhenaddingpeoplebecomes
counterproductive.Thispotentialforcounterproductivitythenbegsthequestion—howbig
shouldacoreteambeandhowmanyconsultantsshouldithave?
AstudydonebyLawrenceH.PutnamandWareMyersin1998investigatedteamsize
[PUTNAM].TheirfindingswerepublishedintheCutterConsortiumin1998.Putnamand
Myerslookedat491medium-sizedprojects,thosewithbetween35,000and95,000“new
ormodified”sourcelinesofcode.Allwereinformationsystemsandwerecompleted
between1995and1998(thelastthreeyearspriortopublishing).
WhatPutnamandMyersconfirmedwasnotonlythatsmallerteamsoffivetoseven
deliveredinlesstime(seeFigure3-3)butalsothatasignificantincreaseineffortoccurred
whenteamsizesreachednineormore(seeFigure3-4).
FIGURE3-3Averageschedulemonths—smallertakeslesstime
FIGURE3-4Exponentialdevelopmenteffortgrowthwhenteamsizeincreasesbeyond
eight
Whenworkingwithteamconsultants,therightteamsizeshouldbefourtosixcore
teammembers,allowingyoutoaddbetweenoneandthreeconsultantswhilestillkeeping
theteamsizedcorrectly.Remember,consultantswillcomeandgo,butthecoreteam
shouldremainthesame.
CoreTeamsWorkingwithTeamConsultants
Onceyou’vebuiltateamofcoremembersandconsultants,youneedtoestablish
guidelinestoencourageteamwork.Thespecificguidelinesvaryamongorganizationsbut
shouldincludethefollowing:
Duringthecourseofthesprint,theteamandteamconsultantsarejointlyand
equallyresponsiblefordeliveringontheircommitments.
Teamconsultantsshouldshowupontime,bepartofdailymeetingswhenever
possible,andconductthemselvesasteammembersforthelengthofthesprint.
Teamconsultantsareexpertsinoneareabutotherwisenodifferentthanacoreteam
member.Thereisnohierarchyamongcoreteammembersandconsultants.
Ifanyoneoranythingisblockingatask,thetaskshouldbebroughtupatthedaily
scrumandaddressedimmediately.
Remember,too,thatyoucannothaveacoreteammadesolelyofconsultants.The
majorityoftheteamshouldbededicatedtotheprojectfrombeginningtoend.
TeamConsultantsandMeetings
Whenevereconomicallyfeasibleandlogisticallypossible,theteamconsultantsshould
attendallscrummeetingsduringthesprintsforwhichtheyareengaged.Rememberthat
theteamconsultantisthereforaspecificreason,notasanemergencyoverflowperson.
Consultantshavespecifictasksforthesprint,whetherthatistodotheworkdirectly,help
theotherteammembersdotheworkthemselves,orboth.Assuch,theyshouldbeableto
reportonprogressinadailymeetingandshouldhaveinputintoplanningandreviews.
Planningmeetings—Havingtheconsultantsattheplanningmeetingscanadda
newlevelofexpertise.Iftheteamisestimatingandcomesacrossastorythatitis
notasfamiliarwithastheteamconsultant,theconsultant’sinputwouldbe
beneficial.
Dailyscrummeetings—Havingconsultantsintheroomhelpsdriveawarenessand
keepsthemuptospeedonhowtheprojectisprogressing.
Sprintreviewmeetingsandretrospectives—Havingtheconsultantsintheroom
duringthereviewmeetingshowsthecustomereveryonewhoisworkingonthe
project,bothfull-timeandasaconsultant.Havingthemintheretrospectiveis
beneficialbecausetheconsultantsgetabetterunderstandingofteamdynamics,but
rememberthatthetimetheyspendintheretrospectivecomesoutofthetotal
availabilitypooltheyhave.
Ifbudgetaryortimeconstraintsmakesprintmeetingattendanceimpossible,theteam
shouldworkwiththeproductownertodecidehowbesttospendtheconsultant’stime.Ifa
consultantisavailableforonlyeighthoursduringasprintandthetasksheisbeingasked
tocommittowilltakethefulleighthours,itmightbemorevaluabletotheteamand
productownertogetmoreworkdonethantohavetheconsultantinthesprintmeetings.
Ontheotherhand,theteamandproductownermightchoosetodialbackaconsultant’s
taskstohavehimbeapartoftheday-to-daysprintactivities.Whateveryoudecidetodo
withregardtomeetings,thecoreteam,Scrum-Master,consultants,andproductownerall
needtobeawareofthecommitmentsandarrangementsmadebetweentheteam
consultantsandthecoreteam.
KeystoSuccess
Usingteamconsultantscanbeagoodideanotonlybecauseitfillsskillgapsbutalso
becauseitcreatesanenvironmentwhereone’sjobstabilityisdirectlyrelatedtothework
donewithandforothers.Inthischapter’sstory,Rebeccacomparedtheteam’sabilityto
hire(andfire)consultantstoahomeowner’sabilitytohireanindependentcontractorto
makerepairstoahouse.Homeownershirespecializedpeoplewhotheyknoworsuspect
aregoodattheirjobs.Thecontractorsworkhardtopleasethosehomeownerssothatthey
getreferralsandrepeatbusiness.Havingteamconsultantsenablesteamstofollowa
similarmodel.
Accountability
Accountabilityisastrangething.Whileitisnotsomethingthatcanbemandatedor
managed,companiesstilltry.TakeDavefromthischapter’sstory.Hismatrixedsolution
assumedthatpeoplecouldnotself-organize.Rebecca’s,ontheotherhand,pushedthe
responsibilityformanagingone’stimedowntotheindividual.InScrum,thepeoplewho
estimatetheworkdothework.Thesamephilosophyapplieshere—thepeoplewhodothe
workcommittothework,whethertheyareteamconsultantsorcoreteammembers.Team
consultantsareaccountabletothepeopletheysignuptodoworkfor.Coreteammembers
areaccountabletoeachotherandtotheteamconsultantsaswell.
Oneofthekeystomakingthismodelworkistheself-monitoringandbalanceof
accountability.Asyoucanimagine,thismodelquicklyidentifieslowornonperformers.
Forinstance,imaginethatDavidisateamconsultant.Davidfrequentlycommitstoteams
buteitherfailstodeliverontimeorturnsinlow-qualitywork.TheendresultisthatDavid
doesnothavemanyteamswillingtoworkwithhim,eitherbecausehisreputation
precedeshimorbecausetheyhaveworkedwithhimbefore.IfsomeonelikeDavidis
allowedtocontinueatthecompanydespitehispoortrackrecord,itwouldbe
demotivatingfortheotherteamconsultantsandforthecoreteammemberswhowouldbe
forcedtoworkwithhim.Thebettercourseofactionistotreathimliketheunnecessary
overheadhehasbecomeandremovehimfromthepayroll.
Identifyingpeoplewhoareunderperforming,thoughpainful,enablescorrectiveaction
—underutilizedconsultantswilleitherchooseontheirowntoimprovetheirperformance
orleavethecompany,ortheywillbeforcedbymanagementtomakechangesor,again,
leave.Toensurethattheyremainrelevantandemployed,teamconsultantsshouldseekout
feedbackonhowtheyaredoing,theircontributionstotheirteams,andthevaluetheyare
adding.Intheend,withcompaniesconstantlystrivingtobecomemoreefficientand
productive,reducingoverheadandtrimmingfatisagoodthing.
Experiment
Forthismodeltosucceed,itmusthavemanagementsupport.BymanagementsupportI
meanthatthemiddleandseniormanagersnotonlyrealizetheywantaneffective
organizationbutalsohavethecouragetoactuallydosomethingaboutit.Toget
managementandindividualcontributorstogetafeelforthismodel,tryitoutonasmall
scale,asRebeccadidinthischapter’sstory.Chooseyourcoreteamanddeterminewhich
expertswillbeneeded.Gaintheircommitmentandletthemknowapproximatelywhen
theirexpertisewillbeneeded.If,whenthetimecomesforthemtoworkwiththeteam,
theyareunabletobecauseamanagerhascommittedtheexperts(consultants)towork
withanotherteam,youwillneedmanagementtobewillingtostepinandsolvethe
conflict.Thesetypesofblockingissueswillbecommonasanorganizationmovestoward
adoptingteamconsultants.Eventually,theteam’sScrumMasterwillbeabletoremove
thatsortofimpediment,butduringatestrun,theScrumMastermightnothaveenough
authorityorinfluencetomakethingshappen.
BeCautiousofOverloading
WhenIfirsthelpcompaniesimplementthismodel,Inoticethattheteamconsultantshave
atendencytoovercommit—afterall,optimismisontheirside.Thethresholdfor
overloadingseemstobecrossedwhenaconsultanttakesonthefourthproject.Threeis
okay.Fourisusuallytoomany.Ifyouseeconsultantssignupformorethanthreeprojects,
warnthemthattheyneedtoleavesomeavailabilityandflexibilityfortheteamstheyare
servicing.Thereisnothingworseforateamthanbeingstuckorneedingguidanceona
projectandhavingaconsultantwhodoesnothavetimetoaddressituntilthenextsprint.
ThisisablockingissuethataScrumMasterwillneedtoaddress.
PlanforPotentialDowntime
Therewillbetimesintheebbandflowofprojectswhenteamconsultantsandcoreteams
bothgoidle.Sincepeoplehavebeentrainedtobeat100percentutilization,andsuddenly
theyarenot,managementmightpushtobreakupateam,forcingitsmembersinto
potentialteamconsultancy,orworse,togobacktothewaythingswereandhave
specialistsdospecificjobsonprojectsandthenmoveontothenextspecificjob.Don’tlet
themdoit.Takeacuefromcontractors:Keepafewsmallprojectsinreserveforslow
times—projectsthatneverseemtogetdonebecausesomethingelseismoreimportant.
Whendowntimehappens,feedteamsandteamconsultantsthoseprojectstoworkonuntil
thetimingisrighttotakeonanotherlargejob.
TeamConsultantsAreNotaReplacementforDedicatedTeams
SomemightlookatthismodelandthinkthatitcircumventsScrum’scallfordedicated,
cross-functionalteams.Itdoesnot.Whatitdoesdoisprovideteamsandcompaniesthe
flexibilitytostaywithintheboundariesofScrumbyhavingadedicated,cross-functional
teamwhileenablingthatteamtocallonexperts,teamconsultants,tohelpoutasidentified
andneededbytheteam.Itisnotthejobofaresourcemanageroranexecutiveto
randomlyassignpeopletotheteam;thatwillnotwork.Itisthejoboftheteammembers
todetermineandmanagetheirschedules.Ifyoustarttosee“teams”ofconsultants,ones
inwhichthereareonlyoneortwocoreteammembers,thededicated,cross-functional
teamhasbeenlost.Remindthebusinessoftheimportanceofanactualcoreteam
supplementedbyconsultantsandreboot.
Havingadedicatedteamwithalltheskillsnecessarytogettheprojectcompletedis
ideal.Butmostteamswill,atsomepointintheproject,findthemselveswishingfora
particularexpertise.Ifyouhaveinternalpeoplewhocanfillthisgaponatemporarybasis,
bringthemintotheproject.Ifyourorganizationdoesnothaveteamconsultantswhocan
fillthegaps,youmaywanttobringinexternalconsultantsforlimitedengagements.A
teamconsultantcansometimesscorealotofpointsforaprojectthatmightotherwise
strugglewithaskillgap.
References
[BROOKS]Brooks,Frederick.P.,Jr.1996.TheMythicalMan-Month,Anniversary
Edition.Reading,MA:Addison-Wesley.
[MCCONNELL]McConnell,Steve.Personalwebsite.
http://www.stevemcconnell.com/ieeesoftware/eic08.htm(accessedon2January2011).
[PUTNAM]Putnam,L.,andW.Myers.1998.“FamiliarMetricManagement:SmallIs
Beautiful—OnceAgain.”
http://www.qsm.com/sites/www.qsm.com/themes/diamond/docs/fmm_28.pdf.
[SENGE]Senge,P.M.1990.TheFifthDiscipline.NewYork:Doubleday/Currency.
WorksConsulted
Pedler,M.,J.Burgogyne,andT.Boydell.1997.TheLearningCompany:AStrategyfor
SustainableDevelopment,SecondEdition.London:McGraw-Hill.
O’Keeffe,T.2002.“OrganizationalLearning:ANewPerspective.”JournalofEuropean
IndustrialTraining,26(2):130–141.
Chapter4.PredictingTeamVelocity
Softwareteamsareabitlikecarsinthatyoucanmeasuretheirperformanceintermsof
efficiency.Carsmeasureefficiencyintermsoffueleconomy,howfaracarcantravelper
unitofgasoline.Teams,ontheotherhand,measuretheirefficiencyintermsofhowmuch
worktheycancompleteoveracertainperiodoftime.Thismeasureiscommonlyknown
asvelocityandistypicallyexpressedintermsofstorypoints.Simplyput,velocityisthe
averagenumberofstorypointsateamcompletespersprint,asdefinedbytheteam’sdone
criteria.(ReadmoreaboutdonecriteriainChapter7,“HowDoYouKnowYou’re
Done?”).
Isaythatteamsareabitlikecarsbecausetheyaremostlyunlikecars.Teamsdonot
comepackagedwithamanufacturer’sestimateofvelocity.Teams,therefore,mustpredict,
withsomedegreeofconfidence,whattheirfuturevelocitiesmightbe.And,whilepeople
caneasilycomparetwocars’fuelefficiencies,theycannot(andshouldnot)comparethe
efficiencyoftwoteamsbasedontheirrelativevelocities.That’sbecausewhilemilesper
gallon(orkilometersperliter)isanobjective,standardizedmeasure,velocitydependson
eachteam’sownsubjectiveestimates.Sowhileoneteamcansometimesuseanother
team’svelocityasastartingpointforwhatitsfuturevelocitymightbe,youcannotsaythat
oneteaminacompanyissomehowmoreefficientbecauseithasahighervelocitythan
anotherteam.Theteamsmightjustestimatedifferently.
Asyouhavelikelyexperienced,predictingvelocityisadifficulttask,especiallyfor
teamsthatarenewtoeachotherandnewtoanagileframework.Thefollowingstory
describeshowoneScrumteamdealtwiththiscomplexissue.
TheStory
WendiwastheScrumMasterforanewteam.TheteamwasexcitedtostartitsfirstScrum
projectbutwasstymiedbyhowtogivemanagementevenaballparkfigureforhowmuch
workitcouldaccomplishandbywhen.
Wendiaskedtheteamforsuggestions.Oneteammember,Paul,whowasvisibly
frustrated,startedthediscussion,“Howarewesupposedtogivethemvelocityestimates
beforewe’veevenstartedourfirstsprint?Whatarewesupposedtodo?Justpointata
randomspotontheproductbacklogandsayhere’showfarwe’llget?Thatseems
irresponsible.Makingwildguesstimatesiswhathasgottenusintosomuchtroubleinthe
past.Scrumwassupposedtobedifferent.”
“Iagree,Paul,butcanyouimaginewhatwouldhappenifwetellthemwehaveno
idea?Thatwe’lljustletthemknowwhenwefigureitout?”askedhisteammateFreddie.
“Therealityis,ifwedon’tgivethemsomekindofnumber,theywilldoitforus—‘Here’s
yourgoal.Hitit.’We’veallbeendownthatroadbefore.”
“Iwishwehadsomehistoricaldata,”musedIgnacio.“Italkedtoafriendofminewho
isrunningaScrumproject.Histeamlookedatitspastvelocitiesonotherprojectsand
usedthosenumbersasastartingpointforanewproject.Ithoughtaboutusinghisdatato
helppredictourvelocity,butdismissedtheideabecauseeventhoughourteamis
somewhatsimilartohis,we’realsoverydifferent.Ourteamisnew,we’veneverused
Scrumbefore,andourprojecthassomecomplicatingfactors.Idon’tknowhowtoaccount
forallthevariances.”
TheyalllookedatWendi.
Paulasked,“Sowhatarewegoingtodo?”
Wendiwentuptothewhiteboardandwrotedownthethreeideasthathadbeen
proposedandrejected.
“Iknow,Freddie,thatyoursuggestiontotellthem‘we’llletyouknowwhenwefigure
itout’wasmoretongueincheekthananything.ButI’dlikeustoconsideritasaviable
option,”Wendiexplained.“Sothatleavesuswiththreeoptions.Allareproblematic,butit
lookslikewe’vegottochooseoneofthem.So,let’sspendsometimelookingatthem,”
suggestedWendi.“Maybeifwebrainstormsomepositivesandnegatives,wecanfigure
outwhatthebestsolutionwillbe.Let’sstartwithhistoricaldata.Calloutsomepositives
andnegatives.”
Astheteambrainstormedanswers,Wendifilledinthechartshehadbegunonthe
whiteboard.
“Good,”saidWendi.“Let’sdiscussthisabitbeforewemoveontothenextsection.”
“I’llgofirst,”saidIgnacio.“Weareanewteam,sowedon’thavedataofourown.
Ideally,we’dpulldatafromasimilarteaminthecompany,butIdon’tknowofany.”
“Yep,”agreedPaul.“Ican’tthinkofanyteamsthatwecanuseasanexampleeither.
Mostaren’tdoingScrumatall.ThosethatareusingScrumareeitherjustgettingstarted
likeusortheirprojectsaretoodifferentfromours.”
“Wecouldlookatmyfriend’steam,”suggestedIgnacio.“Butwithhimbeingata
differentcompany,itfeelslikeastretch.”
Freddienodded.“Ijustdon’tthinkthisonewillworkforus.Ifwehadbeenworking
togetherforalongtime,andcoulduseourownhistoricaldata,Ithinkit’dbeokay,butto
grabsomerandomteam’snumbersandusethemasourestimatereallyscaresme.”
Everyonenoddedinagreement.
“Ithinkweallagreethathistoricaldatahasfarmorenegativesthanpositives.Let’s
moveontothenextone,blindestimation,”saidWendi,reachingforhermarker.
Theteamquicklycameupwiththeprosandconsofblindestimation.
“Thisisagoodlist,”saidWendi.“Let’stalkaboutacoupleofthese.Whocameupwith
thephrase‘estimatesarecommitments’?”askedWendi.
“Idid,”saidPaul.“Myconcernisthatonceweestimateourvelocity,we’llbeheld
accountabletoitthroughouttheproject.Whatifourinitialestimateistoooptimistic?We
needtobuildinasafetycushion.Takeourestimateandsubtractfive,orsomething.”
Theteamnoddedinagreement.
“LetmemakesureIunderstand.You’resayingthatifourinitialvelocityestimateistoo
high,wewillburnouttryingtohitthathighernumbereachsprint?”askedWendi.
“Exactly!”saidPaul.
“Ihearyou,Paul,”Freddieinterjected.“Butit’snobetterifourestimateistoolow.
They’llsay,‘Withallthattalentonyourteam,you’resayingyoucanonlydothismuch
workpersprint?Whatwillyoudowiththerestofyourtime?’Peoplewillpanicbeforewe
evengetstarted;managementmightevensayweneedtoaddmorepeopletogetthe
velocityup.Then,we’llhavetostartover.”
“Itwouldn’tbethefirsttime,”agreedIgnacio.
“IfIhearyoucorrectly,Freddie,you’reconcernedthatmanagementwilleithertellusto
domore—tohaveahighervelocity—orthatthey’lladdpeopletotheprojectbecausethey
willassumethatwemustneedmorepeopletogetthejobdone,right?”askedWendi.
“Yes,”saidthewholeteam.
“Fairenough,”saidWendi.“Evenifwedon’tgowiththisoption,I’llmakeanoteto
talktomanagementaboutvelocityingeneralbecausethismightbeaconcernnomatter
howwearriveatanestimate.Iwanttomakesurethattheyunderstandexactlywhata
velocityestimatemeansandwhatitdoesn’tmean.”
Wendiwroteanactionitem,Wenditoeducatemanagementaboutvelocity,ontheside
ofthewhiteboard.
“Okay,”Wendicontinued.“Let’slookatanotherofthepoints.Whatdoes‘createsa
falsebaseline’mean?”
“Iwrotethatone,”saidFreddie.“Ifwestartwithawildguessasourbaseline,andthen
dobetterthanweexpect,peoplewilltalkabouthowmuchwemusthaveimproved.Ifwe
doworsethantheso-calledbaseline,peoplewillwonderwhy.Wecantellthemit’sa
guessallwewant,butoncethereisarealnumberwrittendownsomewhere,we’re
comparedagainstit.”
“Iknowexactlywhatyoumean.I’llmakeapointtoincludethattendencyinmytalk
withmanagement,”Wendisaid.
“Evenwitheducation,though,whenitcomesdowntoit,it’sawildguess,astabinthe
dark,”exclaimedPaul.“Ifwe’regoingtobeagile,Iwantustofollowtheprinciples.
Pluckinganumberoutoftheairandpromisingtodeliveritmightmakeeveryonefeel
better,butnotforlong.It’sanemptypromiseandwillcreateabadenvironmenttotryto
makeScrumwork.”
“Ihearyou,Paul,”saidIgnacio.“Butthefactis,thatmightbewhatwehavetodo,at
leastthistime.Onournextproject,we’llhavesomehistoricaldataofourowntowork
with.”
Therestoftheteamnoddedinreluctantagreement.
“Well,Idoknowsomewaystomakeblindestimationalittlelessofashotinthedark,”
saidWendi.“Butbeforewegiveupandstartguessing,let’stakealookatmypersonal
favorite,‘waitandsee.’BythatImeanwepolitelybutfirmlyrefusetogivemanagement
anestimatenow.Instead,wepromiseamuchmoreaccuratenumberafterwe’verunthree
sprintsandhavesomerealdata.Icantellyoumyideasonthepositives.”
Wendiwrotethreepositivesontheboard.“So,youguystellmewhyitwon’twork.”
Theteamquicklypointedouttheflaws.
“Thoughts?”askedWendi.
“I’dlovetogowith‘waitandsee,’”saidIgnacio,“butIdon’tthinkit’srealistic.There
isnowaymanagementwillletuswaitthreesprintstogivethemanestimate.”
“And,”Freddieadded,“eventhoughhavingrealdatawouldallowustohavean
accurateandreliablereleaseplan,we’reanewteam.Itwilltakesometimeforustoget
uptospeed.I’mnervousaboutwhatouractualvelocitywillbeduringthefirstfew
sprints.Whatifit’sreallylow?”
“Itisarisk,”saidWendi.“ButIthinkit’sourbestoptionifwewanttosucceed.Wejust
havetheonetinyobstacleofgettingmanagementbuy-in,”saidWendi,smilingathow
clearlyfacetiousherlaststatementwas.
“We’llnevergetthisbythem!”Paulexclaimed.“Theywillrequireustoprovidedata
upfront.Therehastobeanotheroption.”
“Ifsomeonehassomethingbetterthanthethreewe’vealreadydiscussed,I’dloveto
hearit,”saidWendi,lookingaroundtheroom.
Theteamwasquiet.
Wendicontinued,“We’vewalkedthroughouroptions.Thetruthis,wejustdon’thave
enoughinformationatthistimetobeable,withanyconfidence,todetermineourlikely
velocity.Wecouldgivemanagementanumber,butitwouldbeawildguess.Let’stry
somethingasboldasweare.Let’sshowthemtheoptions,walkthemthroughtheprosand
cons,andexplainthatwewanttostartthisprojectlikeweintendtocompletethisproject:
transparentlyandhonestly.
Theteamlookedatherwithhesitation.
“But,”Wendiwenton.“Andthisabigbut.Wewillpromisethemthatwe’llpostour
observedvelocity,andassoonaswehaveenoughhistoricaldataofourown—three
sprintsworth,let’ssay—we’llgivethemanestimatedvelocityrangesothattheycan
makeareleaseplan.”
Wendiwentontoexplainindetailhowthewait-and-seeapproachwouldwork.The
teamagreedtogiveitatry.Theteamwasevenabletoconvinceaveryreluctantgroupof
managerstowaitforrealdata.
Beginningwithsprintone,theteamposteditstrackingchartsinpublicplacesand
updatedthemateachdailyscrum.Attheendofthreesprints,theteamgavemanagement
anestimatedvelocityrangeandexplainedwhatthatmeantintermsoflikelyfunctionality.
Theproductownerplannedareleasebasedonthepessimisticandoptimisticranges
providedbytheteam.
Thoughtheteamultimatelydeliveredtowardthelowendofitspredictedvelocity
range,itsestimatesprovedaccurate.Asaresult,noonewassurprisedbythereleased
product.Theproductownerhadallthemust-havefeaturesheexpected.Thecustomers
hadallthefeaturestheyhadbeenpromised(andhadnotbeenteasedwithanyofthe
featuresthatwerequestionablefortheinitialrelease).Intheend,everyoneagreedthat
combiningrealdatawithpatience,education,andtransparencyhadbeenthebestsolution.
TheModel
Wendiandtheteamstruggledwithhowtogivetheirproductowneranideaofhowmuch
theycouldaccomplisheachsprint.Afterabriefbrainstorm,theycameupwiththree
solutions:historicaldata,blindestimation,andwaitandsee.Wendi’steamultimately
electedtowaitandsee.Whydidtheyeliminatehistoricaldataandblindestimation?
TheProblemwithHistoricalData
Historicaldataisaviableoptionwhenyourteamhasworkedtogetherbefore.Inthis
chapter’sstory,Wendi’steamdismissedthisoptionbecauseitsmemberswerenewto
workingtogether,sotheonlyhistoricaldataavailabletothemwouldhavebeendatafrom
anotherteam,likelyoneatadifferentcompany.Whileit’spossibletoderiveanumber
basedonanotherteam’sperformance,it’snotanoptionIwouldrecommendbecauseofall
thedifferentvariablesinvolved:
Thenewnessoftheteamanditscomposition
Thepoliticalenvironment
Projectsizeandcomplexity
Theproductownerandcustomer
Thefirstvariabletoconsideristherelativenewnessoftheteam.Thenewnessofateam
willaffectitsvelocityascomparedtoanexistingteam,ifonlybecauseanewteamtakes
timetogel.Teammembersmustlearneachother’sstrengthsandweaknessesand
determinehowbesttoworktogether.Further,anewteammaynotbeideallycomposed.It
mightstillbeclingingtosometraditionalapproaches,suchashavingtwoseparateteams
—onemadeuponlyofdevelopersandonededicatedtotesting.Thismono-functional
teamapproachwillnotseethebigperformanceimprovementsoutofthegatethatatruly
cross-functionalteamwill.
Thenextvariablethatcanaffectvelocityisthepoliticalenvironment.Overtime,
companiesrestructureorchangedirection.Whatmayhavebeenthecompanygoalayear
agomaybeobsoletenow.Keymanagersmayhaveshiftedroles,changingthedynamics
oftheenvironment.Sometimespoliticalchangesareobvious;othertimes,thechangesare
pervasivebutmuchmoresubtle.Teamsusinghistoricaldatamustallowforthesenuances,
whichcanbeverydifficulttodo.
Thethirdvariabletoconsiderisprojectsizeandcomplexity.Teams,neworwell
established,thattakeonaprojectthathasdifferenttechnologyorachangeincomplexity
cannotrelyonhistoricaldata.WhenJeffSutherlandwasCTOatPatientkeeper,heoften
toldmethathisteamscouldsnuffoutthecompetitionbecausetheywereabletorespond
tochangequickly.Oneofthereasonstheywereabletodothiswasthattheworkwas
similarandtheteamsremainedconsistent;theywerenotswitchingfromalegacyC++
applicationtoaJavawebplatform.Theyweren’tsloweddownbyalearningcurve.
Thelastvariablehastodowiththeproductownerandcustomer.Whilethesemaynot
seemlikelikelyvariablestoconsider,theycanbehugefactors.Saytheteamremainsthe
samebuttheproductownerisnew.Thevelocitythattheteamsawinthepastissureto
changebecausenotallproductownersarecreatedequal.Therelationshipbetweenthe
teamandtheproductowner,muchliketheoneamongnewteammembers,needsto
developovertime.Bythesametoken,workingwithanewcustomerrequiresadjustments
thatcouldaffectvelocityaswell.
Ifyoufindyourselfinthesituationwhereyouareconsideringusinghistoricaldata,take
thesefactorsintoaccountandbecareful.Usingotherteams’velocitiesasadatapointis
fine.Usingitasyourteam’spredictedvelocity,however,isfraughtwithperil.Proceedat
yourownrisk.
SheddingLightonBlindEstimation
Ifyouareforcedtoprovidesomesortofvelocityestimatebeforeyou’vedoneanywork
together,blindestimationisprobablyyourbestbet.Ratherthanjustactuallyguessing
blindlyatanumber,however,youcandosomebackgroundworktoshedasmuchlighton
yourguessasyoupossiblycanbeforepredictingyourvelocity.
Thestepsinthis“not-quite-blind”estimationtechniqueareasfollows:
1.Estimatetheproductbacklog.
2.Decomposeareferencestory.
3.Determineapoint-to-hoursapproximation.
4.Identifytheteamcapacity.
5.Estimatetheteamvelocity.
6.Communicatethevelocityasarange.
BeforeIdiscussthesestepsinmoredetail,letmeaddafewdisclaimers.
First,pleasedon’tthinkI’madvocatingthisasageneralpractice.Ionlysuggestit
forthosesituationswhenyouabsolutelyhavetotakeaguess.
Second,onceyouhaverealnumberstohelpyoumakeamoreeducatedguess,throw
awaytheestimatesthatyouderivedinthisexercise.They’reartificial,acrutchto
helpyougetstarted.And,worstofall,they’rebasedonabigagileno-no,mapping
storypointstohours.
Third,everynumberyouprovideinablindestimateshouldbereplacedwithreal
dataassoonasyou’vehadtimetodoasprintortwo.Andeverypoint-to-hours
approximationyoumaketoarriveatthatnumbershouldbediscarded,no
exceptions.
EstimatetheProductBacklog
Thefirststepinthisadmittedlyless-than-idealtechniqueistoestimatetheproduct
backlog.Iftheproductbackloghasalreadybeenestimatedinpoints,skiptothenextstep.
Ifnot,youneedtoprovidepointestimatesfortheproductbacklogitems.Todothis,
browsetheproductbacklogwiththeteam.Youarelookingforatwo-pointreferencestory.
(Iuseatwo-pointstoryasareferencesothatiftheteamcomesacrossastorythatis
smaller,ithasroomtoassignitasmallerpointvalue.)Oncethetwo-pointreferencestory
hasbeenidentified,workwiththeteamtocomparethatstorywitheveryotherstoryinthe
productbacklog,assigningpointvaluesuntileachstoryinthebackloghasapointvalue
associatedwithit.IliketousePlanningPoker[GRENNING]forthis,butyoucanuseany
methodyouchooseaslongastheentirebacklogisestimatedinpointswhenyouaredone.
(Forhelpwithestimatingparticularlylarge,rawproductbacklogs,seeChapter29,
“PrioritizingandEstimatingLargeBacklogs—TheBigWall.”)
DecomposetheReferenceStory
Oncetheproductbacklogisestimatedinpoints,it’stimetoidentifyaroughhour-to-point
mapping.Todothis,youmustfirstdecomposeareferencestory.Withtheteam,choosea
two-pointstory(thismayormaynotbethesamestoryasyouusedinstepone).Forthat
story,identifythetasksnecessarytocompleteit.IuseOsborn’sbrainstormingtechnique,
asidentifiedinChapter7,toidentifythetasks.Thisisahighlyinteractiveprocessandis
mosteffectiveifeveryoneparticipates.
Oncetheteamhasidentifiedthetasksforthereferencestory,itneedstoestimatehow
manyhoursthosetaskswilltaketocomplete.YoucanusePlanningPokertoarriveat
theseestimates;justhavethenumbersonthecardsrepresenthoursinsteadofpoints.
BecauseIadvocatethatteamslimitestimatesofanytasktonomorethan13hours(ifa
taskwilltakelongerthan13hours,breakitintomultipletasks),removeallthehigher
cardsforyourdeck—youmightevenconsiderremovingthe13.Further,sticktothe
numbersonthecards.IfyouareusingtheFibonaccisequence,thatmeansyouwillhave
sixvaluestochoosefrom:1,2,3,5,8,13.Whatifapersonestimatesthetaskatfour
hours?Thepersonmustchoose—threeorfive.Thisisdonetomaintainalevelof
accuracythatisgoodenoughwithoutbeingtooprecise.
Points-to-HoursApproximation
Supposethatwhenthehoursforeachtaskareaddedtogether,thetotalforthereference
storyis14hours.Thenextstepistoextrapolate:Alltwo-pointstoriesintheproduct
backlogwilltaketheteamroughly14hourstocomplete.Ofcourse,inactualitytheteam
mightcompletethis,oranyothertwo-pointstory,in2hours,8hours,or16hours.It’sa
roughestimate—andforthepurposesofblindestimation,that’sokay.Fromthis,youcan
determineapoints-to-hoursapproximation.
14hours/2points=7hoursperpoint
Letmeemphasizeonemoretime:Youdon’tknownearlyenoughaboutyourteam,your
project,ortherealitiesofthedevelopmenttohaveanumberthisspecificinmind.Usethe
points-to-hoursapproximationtohelpbuildyourinitialestimate,andthenthrowitaway
assoonasyouhaverealdata.
TeamCapacity
Next,youneedtodeterminetheteam’scapacity.Tocalculatecapacity,decidehowmany
hourspersprinttheteam(notindividuals)willcontributetotheproject.Togetthis
number,youhavetocollectdataattheindividuallevel;however,remembertoreportback
whattheteamcommitmentis,notwhattheindividualcommitmentsare.
Haveeachteammemberwritethenumberofhoursheorshehasavailableperweekto
contributetotheproject.Remember,thisnumbershouldnotbe40.Everyonehas
unrelatedprojectactivitiesthatofteninterferewithdedicatedprojecttime.Thisoverhead
ultimatelytakesawayfromthetimeeachpersonhasavailabletodoactualtask-related
work.Askpeopletocommunicatetheiravailabilityastwonumbers:bestcase(high)and
worstcase(low).
Addtheworst-caseestimatestogetherandmultiplybythenumberofweeksinasprint.
Thisisyourlow-rangeteamcapacity.Addthebest-caseestimatestogetherandmultiply
thatbythenumberofweeksinasprint.Thisisyourhigh-rangeteamcapacity.Table4-1
presentsanexample.
TABLE4-1TeamCapacityEstimates
Inthistable,Itookthesumofthelow-rangeweeklycapacityandmultiplieditbythe
numberofweeksinasprint(2)togetatotalof176hours.Ithentookthesumoftheteam
members’high-rangecapacitiesperweekandmultiplieditbysprintlengthinweeks(2)to
getatotalof236availablehours.Itislikelythattheactualteamcapacitywillnotbeeither
theabsolutehighortheabsolutelow;theteamshouldfeelconfident,though,thatits
capacitywillfallsomewhereinbetweenthetwoextremes.
EstimateTeamVelocity
Thefollowinghasbeendeterminedforthisexample:
Theproductbackloghas200points.
Atwo-pointstoryisestimatedtotakeroughly14hours,or7hoursperpoint.
Theteambelievesitcandeliverbetween176and236hoursofworkpersprint.
Younowhaveenoughdatatoestimatethevelocityfortheteam.Determinealow
velocityandahighvelocitybydividingthelow-andhigh-capacityrangesfortheteamby
theestimatedhoursperpointandroundingdown,asshowninTable4-2.
TABLE4-2EstimatingVelocity
Inthisexample,theestimatedvelocitycouldbecommunicatedasbeingbetween25and
33pointspersprint.Tolearnhowtousethatinformationtodeviseaninitialreleaseplan,
seeChapter11,“ReleasePlanning.”
IncreasingConfidenceintheTechnique
Extrapolatinganumberofhoursperpointfromonereferencestoryisveryroughandvery
quick.Ifyou’dlike,youcanrefineyourestimatefurtherbyestimatingafewdifferent
referencestoriesofthesamepointvalue.Supposeyouestimatefivetwo-pointreference
stories:
1.Yourinitialstory:14hours
2.Story2:22hours
3.Story3:30hours
4.Story4:25hours
5.Story5:20hours
Fromthis,youcanseethattheinitialreferencestoryof14hoursmightbeabitlow.A
moreaccurateestimateseemstobeapproximately22hours,with14and30hoursbeing
outliers.Addingmorereferencepointsmayhelpincreaseyourconfidenceinyourblind
estimates,butitdoestakesignificantlymoreworkandreliesonarelativelywell-
estimatedproductbacklog.Itmightalsogiveyouafalsesenseofsecurityinyourvelocity
estimate.
Rememberthatnomatterhowmanydatapointsyouuse,atthetimeinwhichyouare
estimatingthesestories,yourteamhasyettodoanywork.Youreallydon’tknowfor
certainatthispointhowlongitwilltakeyoutoaccomplishanytask.Whetheryouchoose
toextrapolatefromonedatapointormore,remindyourteamandyourstakeholdersthat
theestimatedrangeisveryroughandwillcertainlychangeastheteambeginstogeta
betterpictureofhowmuchworktheycanaccomplishpersprint.
WaitandSee(UseRealData)
Wendiandtheteamultimatelydecidedtowaitandseewhattheiraveragevelocityisfor
thefirstfewsprintsbeforeprovidinganinitialestimate.Theteamplannedtorunthree
sprints,capturingtheobservedvelocitydataattheendofeachone.Ipreferthisoption
becausetheteamismakingitscalculationsbasedonrealdata,datathatdoesnotexist
untiltheprojectisrunning.
Evenifyouhavetocommunicateanestimateusinghistoricaldataorblindestimation,
youshouldstillcollectyourowndataandreviseyourestimatebasedonthatdataassoon
asyoucan.Infact,youshouldtrackyourvelocityandrefineyourestimatesthroughout
thelifeofyourproject,nomatterwhichinitialmethodyouchoose.(Fordetailsonhowto
maintainareleaseplan,seeChapter11).
Thebenefitofwaitingandseeing,ofusingrealdata,isthattheteamisusingitsown
dataonitscurrentproject.Basinganestimateonrealityenablesareleaseplantoreflect
fact,notfiction.Themainhurdletothisapproachisthatmanagementisgoingtowanta
numberbeforeyouarereadytogivethemone.Toovercomethisobstacle,communicate
thebenefitsofwaitingtothemanagementteamandlayoutaplanastowhentheteam
willprovidenumbersandwhyrealdataisworthwaitingfor.
Whenusingrealdata,youshouldfollowthesesteps:
1.Collectandchartyouractualvelocityforatleastthreesprints.
2.Calculateaveragevelocity,butcommunicatearange.
3.Mapyourvelocityrangetotheproductbacklog.
4.Updateyourvelocityandlikelyvelocityrangeaftereachsprint.
CollectandChartRealData
Thefirststepistocollectyourteam’sdata.Trackyourvelocityforthreesprints,mapping
thedataonapublicchartpostedintheteamarea.Attheendofthreesprints,yourchart
willlooksomethingliketheoneinFigure4-1.
FIGURE4-1Samplevelocitiescapturedduringthreesprints
CalculateAverageVelocitybutCommunicateaRange
Onceyouhavethreesprintsworthofdata,calculateyouraveragevelocity.Donot,
however,communicatethisaverage.Why?First,becauseyoursisanewteam,thisinitial
datamightnotbestableenoughtouseforanextendedperiodoftime.Second,youwant
toavoidmisunderstandingsthatarisefromfixatingonasetnumber.Forexample,asIwas
writingthischapter,mywifeaskedmewhattimeIwouldbedoneandreadyfordinner.I
toldher,inabout30minutes.WhatImeantwhenIsaidaboutwassomewherebetween20
and40minutes.Whatsheheardwas30minutes—not29,not31—30.Shefixatedona
numberandheldmetoit.
Whenthe30-minutemarkcame,therefore,shesaid,“Okay,it’sbeen30minutes.You
shouldbedone—comeandeatorthefoodwillbecold.”Myresponse,whichwasless
thanstellar,was,“ButI’mnotdone.Isaidabout30minutes;Ineedanother10minutes.”
Thisfrustratedherbeyondbelief.Iwas95percentconfidentthatIwouldbedonein20to
40minutes,butIdidnotcommunicateitthatway;Icommunicated30.Mywifeheardthis
asacommitment.Imeantitasanapproximation.
IfIhadgivenmywifearange,“Iam95percentsureI’llbedonein20to40minutes,
shewouldhaveknowntohavedinnerreadyin40minutes(myworst-caseestimate)but
wouldhavehadsomehopethatIwouldbetheretohelpsetthetableandopenthewineif
Ifinishedearlier.Bysaying30straightup,Icommunicatedahighdegreeofconfidencein
anumberthatwasmerelythemiddleofalikelyrange.
Youdon’twantfrustratedmanagementanddisappointedcustomers.Ifyougivethema
setvelocity,theyarelikelytomakeplansaroundthatonenumber.Ifyougivethema
range,ontheotherhand,theyaremorelikelytoplanforabest-caseandworst-case
scenario.Ifyoutellthemyouhavearangebutarenotveryconfidentinityet,theyare
likelytomakethoseplansalittlemoreflexible.It’sallaboutcommunication.Avoiding
misunderstandingsgoesalongwaytowardhavingasatisfiedcustomer.
So,eventhoughyou’llcaptureyouraveragevelocity,youwillnotcommunicateyour
averagevelocity.Instead,talkintermsofalikelyvelocityrangeandyourconfidencein
thatrange.ImaginethatthenumbersinthechartinFigure4-1reflectyouractualvelocity
duringyourteam’sfirstthreesprints.Youraveragevelocitywouldbe12((10+14+
12)/3).Yourlikelyvelocityrange,however,wouldbe10to14(lowvelocitytohigh
velocity).Andbecauseyouareanewteamthatisstillformingandstorming,yourdegree
ofconfidencethatfuturevelocitieswillfallinthisrangemightbe75percent.(Formore
onstagesofteamdevelopment,seeChapter20,“AddingNewTeamMembers.”)
Itisimportanttorememberthatthedegreeofconfidenceissubjectiveandqualitative.
Whiletherearewaystomeasuresubjectiveconfidence,Idon’trecommendthatyoutryto
measureitinanyabsolutesense.Ifindtheefforttoohighcomparedtothesmallamount
ofvaluegained.
Todeterminetheteam’sdegreeofconfidence,haveeachteammemberwritedownhis
orherconfidenceratingonapieceofpaper—wheneveryonehasanumberwrittendown,
flipoverallthewrittenpagesatonce.Youcanskipthisifyourteamiscomfortabledoing
thisverballyandjusthaveeveryoneansweratthesametime.Thepointistoprevent
peoplefrombeinginfluencedbyothers’answers.Next,reviewthenumbersthattheteam
memberschose.Ifthenumbersaresimilar,you’vefoundyourteam’sconfidencerating.
If,ontheotherhand,youhavealargerangeofconfidencenumbers,youneedtohave
morediscussions.Askiftherearespecificreasonswhysomeoneislessconfidentthan
others(e.g.,Ithinkwe’llgofasterinfuturesprintsbecauseitwilltakesometimeto
understandthetechnology;Ithinkwemightslowdownforafewsprintsbecausewe’re
goingtolearnhowtoworkinpairs).Encouragetheteamtotalkitout.Then,voteagain.
Dothisuntilalloftheindividualconfidenceratingsconverge.
TruncatedDataCollection
Toooftenteamswhoinitiallygetpermissiontocollectdataforthreesprintsbefore
communicatingarangearecoercedintoprovidingdataafteronlyoneortwosprints
togethersothattheproductownercancommunicatethereleaseplantomanagement,
customers,andstakeholders.Thelimitedamountofdatamakesitdifficulttocommunicate
arealisticrange.
Ifyoufindyourselfinthissituation,considertwoapproaches.ThefirstistouseMike
Cohn’smultipliers.Thistableofmultipliersgivesteamsawaytocommunicateaprobable
velocityrangeuntiltheyhaveenoughmeaningfuldatatocalculatetheirown.InAgile
EstimationandPlanning,Cohnexplainshowtousemultiplierstoestimatefuturevelocity
basedonobservedteamvelocity,asseeninTable4-3.YoucanseethatCohnrecommends
thatifyouhavecompletedonlyoneiteration,youshouldmultiplyyourvelocitybythe
highandlowmultiplierstoarriveatarangeyoucancommunicate[COHN].
TABLE4-3MikeCohn’sObservedTeamVelocityMatrix
InmyearlyprojectsIstartedwithCohn’svalues,aslistedinTable4-3.Theywere
extremelyhelpful.AsIencountereddifferentteamswithdifferentbackgroundsworking
ondifferenttechnologies,however,IfoundthatIstartedmodifyingCohn’smatrixinto
somethingthatwasnotdrivenbythenumberofiterationsateamhasunderitsbelt.Why?
Well,Ididn’talwayshaveexperiencedteams,andoftenafterthefourthsprint,we’dfind
thatwestillneededthesamemultiplierthatweusedinsprintone.Inotherwords,Ifound
thatthenumberofiterationsnecessarytoreachastablevelocitywasdifferentfor
experiencedteamsthanfornewlyformedteams,andIwantedamatrixthatwouldreflect
thatreality.ThismodifiedmodelisillustratedinTable4-4.
TABLE4-4ModifiedVelocityMatrix
Toseehowthemodifiedmatrixworks,supposeTeamSuperBunnyisanewlyformed
teamforaprojectanditsteammembersareworkingtogetherforthefirsttime.Theteam
runsitsfirstsprintand,liketheteaminFigure4-1,achievesavelocityof10.Ifafterthat
sprint,theteamispressedtocommunicatearange,itshouldusethelowandhigh
multipliersforCategory2,newteam.
AsIprogressedwiththismodifiedmatrix,Irealizedanotherfactorthatcontinually
surfaced:thetechnologyorprojecttypetheteamswereworkingon.Istartedasking
myself,“Istheprojecttechnologycompletelynewtothepeople(unknowntechnology),or
isitsomethingthatthemajorityoralloftheteamhasexperiencewith(known
technology)?”Thisquestionisimportanttoconsiderbecauseunknowntechnologies
createalevelofuncertaintyandriskthatwouldnototherwisebepresentforateamthatis
justdoing“thesameoldtypeofwork.”
Becauseofthis,thenextfilterIpassateamandaprojectthroughexpandsonmy
originalmodifiedvelocitymatrixinTable4-4andincludesproject/technologyfamiliarity,
illustratedinTable4-5.Ofcourse,howfamiliarateamiswithatechnologyissubjective,
butitisanimportantfactorwhenateamisintheearlystagesofaprojectandworkingto
communicateitsvelocity.
TABLE4-5ModifiedVelocityMatrixwithProject/TechnologyFamiliarity
Thevolatilityoftheteam’svelocityvariesaccordingtoitsmakeupandprojecttype.I
findthatmorestableteamscanstopusingthistableafteroneortwomonths(twotofour
sprintsdependingonsprintlength).Newerteamshaveahardertimeandshouldcontinue
tofactorinhighandlowmultipliersforaboutthreemonths(threetosixsprintsdepending
onsprintlength).Oncethreemonthshavepassed,teamsshouldnotusethistableand
shouldinsteadrelysolelyontheirrealizedvelocityranges.
KeystoSuccess
Determiningyourteam’svelocitydoesnothavetobeachallenge.Thethreetechniques
listedinthischaptercanhelpyougetstartedandkeepyourvelocityontrack.
IamoftenaskedwhichapproachIrecommend.Eachapproachhasatimeandaplace
anditsownmeritsandissues.Table4-6summarizesmyrecommendations.
TABLE4-6WhentoUseEachApproachtoEstimatingVelocity
Waitingfortheobservedvelocityproducesthebestresult,asitisbasedonactualteam
data.Itcan,however,makemanagementorcustomers(especiallythosenewtoScrum)
feeluncomfortable,astherewillbenoinitialreleaseplangeneratedbytheteam.Thismay
negativelyaffectthetrusttheteamhaswithitsstakeholders,resultinginincreased
pressurefortheteamtodeliver.Compoundthiswithaninitialvelocitythatisnotwhat
managementorthecustomerswereexpecting,andtheteamwillfinditselfinaholethatit
mustdigitselfoutofbeforeitevenstarts.Tomakewaitingaviableoption,the
ScrumMastermustworkespeciallycloselywiththeproductownertohelpmanage
expectationsandcommunicateprogress.Somesuggestionsforwaystokeepstakeholders
inthelooparetoinvitethemtothesprintreviewmeetings,toallowthemtowatchthe
dailyscrum,and,ifneeded,tohostsmall,informalmidsprintreviewsforpeople
concernedabouthowmuchprogressisbeingmade.
Usinghistoricaldatacanbeanexcellentoptionwithanexistingteamworkinginan
environmentsimilartothoseithasencounteredinthepast.Asthelistofvarying
environmentalconditionsincreases,however,theviabilityofthisoptiondecreases.
Factorssuchaschangestoteamcompositionandtechnologyoranewcustomeror
productownerwillimpactateam’sabilitytorelyonhistoricaldataelements.
Blindlyestimatingtheteam’svelocityusingreferencestorieswill,atleastatfirst,give
theteam,customers,andmanagementthecomforttheyarelookingfor.Doingso,
however,setsatrap.Toooftentheteam’sinitialreleaseplan,whichwasbasedsolelyon
itscalculatedvelocity,isturnedintoacommitment.TheScrumMastermustworkwiththe
productownerandcustomertocorrectlymanagetheirexpectations.TheScrumMaster
mustbesurethateveryoneinvolvedunderstandsthatthevelocitycalculationtheteam
derivedisacalculatedguessintendedsolelytohelpbuildareleaseplan.Allstakeholders
mustunderstandthatonceobserveddataisinplace,thecalculatedestimateswill
disappearandbereplacedwithrealdata.
Whatevertechniqueyouusetoarriveatyourvelocity,rememberthatthisnumberisthe
epitomeofaball-parkestimate.Assoonasyouhaverunasprint,anyestimatesderived
fromhistoricaldataorblindestimationshouldbethrownoutandreplacedwitha
predictiverangebasedonwhatevervelocitywasattainedinyourfirstsprint.Asthe
projectprogresses,yourconfidenceinyourvelocityrangewillincrease.Continueto
throwoutpreviousestimatesandreplacethemwithnewonesasyougathermoredata.
Mostimportantly,communicatewithandbetransparenttoyourcustomersand
stakeholderssothattheytoounderstandhowmuchconfidencetheyshouldplaceinyour
initial,interim,andlaterestimates.Inallcases,remembertouserangesandtoexpress
youranswerwithadegreeofconfidencethatwillhelppeopleunderstandhowmuchtrust
toputintoeachestimate.
References
[COHN]Cohn,Mike.2006.AgileEstimatingandPlanning.UpperSaddleRiver,NJ:
PrenticeHall.
[GRENNING]Grenning,James.
http://renaissancesoftware.net/files/articles/PlanningPoker-v1.1.pdf(accessedon11June
2009).
Chapter5.ImplementingtheScrumRoles
TraditionalteamsthatshifttoScrumencounternewrolesanddifferentwaysofthinking.
TheyfirstneedtofindaScrumMaster,whosejobistokeeptheprocessrunningsmoothly
withoutdictatingsolutions.Theyalsoneedtohaveaproductowner,whoistaskedwith
steeringtheteaminthebestdirectionbasedonbusinessvalue.Then,theymustlearntobe
goodteammembers,whichinvolvescultivatingacross-functionalattitude,learningnew
skills,andworkingontasksthatmightbenewtothem.
FittingexistingteammembersintotheScrumrolescanbechallenging.Afterall,
sometimespeopledon’tfitneatlyintojustonecategory—ajack-of-all-tradesdeveloper
mightalsohavegreatleadershipskills.Aformerteamleadermightalsohavecrucial
codingskillsandadeepknowledgeoftheproductmarket.Whenthathappens,should
thesemultifacetedindividualstakeonmorethanoneroleforthegoodoftheteam?What
arethepotentialbenefitsandtheanticipated,andunanticipated,negativeimpactsthatcan
comefromallowingonepersontowearmultiplehatsonaScrumteam?
TheStory
MarcuswasaskedtobuildanewScrumteamtoreleaseamission-criticalapplicationfor
thecompany.MarcusandhisnewlyformedteamdidnothaveanyexperiencewithScrum,
buttheydidhavethesponsorshipandsupportofmanagementtolearnhowtousethe
Scrumframework.
Thefirstthingtheteammembersdidwasgettogethertofigureouthowtheywould
structurethemselves.Onformerteams,MiguelandJosehadbeendevelopersandHugo
andDominichadbeentesters.TheirrolesontheScrumteamwereclear:Theywouldbe
theteammembersresponsibleforexecutingthevisionofthebusinessascommunicated
andmanagedbytheproductownerthroughtheproductbacklog.
Marcus,ontheotherhand,wasmoredifficulttoposition.Onhisformerteam,hehad
beentheprojectmanager.Healsohadadevelopmentbackground.Theteamwentback
andforthonhowtobestuseMarcus.Shouldhebeamemberofthecoreteam,doingwork
onthesprintbacklog?OrshouldheserveastheScrumMaster,formalizinghiscurrent
leadershiprole?Or,shouldheperhapsbetheproductowner,helpingsteertheprojectin
therightdirection?AndifMarcusdidn’tfilltheseroles,whowould?Nooneelseonthe
teamhadhisunderstandingofScrumandthemarket.
Becausetheteammembersdidnothavetheauthoritytobringinconsultantstohelpfill
anygapsintheirskills,1theycameupwithwhattheythoughtwasthebestpossible
solution:Marcusshouldsplithistimebetweenallthreeroles.Mostlikely,theyimagined,
thetasksoftheScrumMasterandproductownerwouldn’trequiresomeonefull-time.
Marcuscoulddoboth.Then,theyreasoned,whenMarcuswasn’tbusydoing
“managerial”things,hecouldfillhistimewithteamtasks.Afterall,itwasn’tthatunusual
intheircompanytohavemanagersalsotakeonhands-onwork.Sotheyforgedahead.
1.SeeChapter3,“UsingTeamConsultantstoOptimizeTeamPerformance.”
Thingswentwellatfirst.Eachdayduringthedailyscrum,Marcusreportedhisstatus
liketherestoftheteam,highlightingthathedidnothaveanyimpedimentsandthatthe
taskshesignedupforwereontrackacrosstheboard.
Bytheendofthefirstweekoftheone-monthsprint,hehadmetwiththeknown
stakeholderstofurtherbuildtheproductbacklog,facilitatedallthenecessarymeetings,
andsignedupforseveraltasks(40hours’worth).Hisplanwastoaccomplishtenhoursof
workonthesprintbacklogperweek.Thisfirstweek,however,hehadnotspentevenone
houronthosetasks.Heandtheteamweren’tworried,though.HisScrumMasterand
productownerdutieswouldprobablyscalebacknow,theyreasoned,andtherewerestill
threeweeksleftinthesprintforhimtocompletehistasks.
ThesecondweekyieldedboththefirstScrum-relatedimprovementandthefirsthintof
troublebrewing.Marcusspentthefirstfewdaysoftheweekreviewingthesprintbacklog
lookingfortrends,oneoftheScrumMasterdutieshehadn’tgottentoduringthefirst
week.Whilereviewingthebacklog,henoticedthateveryworkitemthatHugoworkedon
wastakingabout50percentlongerthantheteamhadestimated.Thepatternwasuniqueto
Hugo;everyotherteammemberwaswithin20percentoftheestimates.Marcusraised
thispatterninthedailyscrummeetingthatFriday.Hugoconfirmedthathewasstruggling
withthework.TheteamdecidedthatHugowouldpairwithJose,aseniordeveloper,and
thattheywouldworktasksdowntogether.Marcuswasecstatic.Afteronlytwoweeks
usingScrum,theyalreadyhadidentifiedanissuethatwouldhavegoneunaddressed
otherwise.
Theteam,whilehappyabouttheimprovement,wasabitconcernedaboutthefactthat
Marcushadn’tfoundtimetoworkonanyofhistasks.Hisfellowteammemberspointedly
askedMarcusabouttheworkthathesignedupfor—couldhedoit,ordidtheyneedto
findanothersolution?Marcusagreedthatitwastimeforhimtoputonhisteammember
hat.Nextweek,hepromisedtheteam,hewouldbeginhisteammembertasks.
Weekthreequicklypassed.Despitehisbestefforts,Marcuscouldnotfocusonthe
sprinttaskshehadonhisplate.Histimewasconsumedbyacrisiswiththestakeholders
(15showedupoutoftheblue,claimingtheyhadbeenleftoutoftheoriginalmeetingsand
demandedbetterplacementoftheirstoriesonthebacklog),theresultingreprioritizationof
thebacklog,negotiationswithstakeholders,andall-aroundfirefighting.Marcusandthe
teamhadnoideahowtimeconsumingthejobofproductownercouldbe,nottomention
thetasksrequiredofaScrumMaster.
Marcuswasstuck.Hewasacommittedcoreteammemberandknewhisteammates
wererelyingonhimtodowork,hewastheproductownerandhadtoensurethe
stakeholderinterestswerebeingaddressedbytheteam,andhewastheScrumMasterand
wassupposedtobefocusingonteamhealth.Somethinghadtogive.
Atthestartofthefourthweek,Marcusdedicatedhimselftohissprintbacklogitemsin
solitaryconfinement.Heshutoffhisemail,retreatedtohisoffice,lockedhisdoor,and
shuttheblinds;however,theworkthathesigneduptodowasinfactmuchlargerthanhe
oranyoneelsehadanticipated.
ByWednesdayeveningofthefourthweek,Marcusacceptedthathewasnotgoingtobe
abletodeliverhistasksthissprint.Heburiedhisfaceinhishandsandbegantosearchfor
waystotelltheteamthathehadfailed.Suddenly,Marcushadwhatheconsidereda
brilliantidea.Hewasn’tjustateammember,hewastheScrumMasterandtheproduct
owner,too,wasn’the?
Delusionalfromburninghimselfout,hedecideditwastimeforMarcustheproduct
ownertomeetwithMarcustheScrumMasterandMarcustheteammember.How
convenientthattheycouldallgettogetherinoneperson!Togethertheydecideditwould
bebesttopostponethetasksthatMarcushadsignedupforandputthembackonthe
productbacklogtobereprioritizedandaddressedinafuturesprint.Marcustheteam
memberupdatedthesprintbacklog,revieweditwithMarcustheproductowner(allwith
MarcustheScrumMasterwatching),anditwasdone.Noharm.Nofoul.Marcustookoff
hismanyhats,wipedhisbrow,andsighedwithrelief.Problemsolved.
Thenextmorningatthedailyscrummeeting,Marcushandedcopiesoftheburndowns
toeveryonetoreview,justashehaddoneeveryday.Today,though,somethingsmelleda
bitrottenonthesesuddenly-on-targetburndowns.Miguelspokeup.
“Marcus,whatisthisdropintheworkremaining?”heasked.
“Ohthat,”Marcusreplied.“IremovedsometasksthatIhadsignedupfor.Nobigdeal.
Asproductowner,Idecidedwecandothatstuffnextsprint.”
Theroomwentsilent,andalleyesturnedtoMarcus.
“Youdidwhat?”exclaimedDominic.“Youcutyourownwork?”
“Marcus,youcan’tdothis.Whatwereyouthinking?”demandedHugo,without
allowingMarcustimetorespondtoDominic’squestion.
TheteamcontinuedtodigintoMarcus,demandinganexplanation.Marcusrealizedhe
wasinadeephole.
“Guys,I’msorry.I’msorry!”pleadedMarcus,tryingtogetawordin.“Ididn’tthinkit
wouldmatter!”
“Well,itdoes!”saidJose.
Marcusfelthisheartsinkintohisshoes.Hefeltawfulforlettingtheteamdownand
understood,toolate,thatwhathedidwaswrong.
“Marcus,ifthisisgoingtowork,youcan’tdothatagain,”saidHugo.
“Youneedtodecidewhatyou’regoingtodoonthisprojectbecauseitisclearthat
splittingyourtimebetweenScrumMasterandproductownerandsigningupforworkon
thesprintbacklogdoesnotwork,”addedDominic.“We’vegotteamissuesthataregoing
unaddressed.Weneedyoutoseewhatwearemissingontheteamdynamics!Allofyour
timehasbeenspentwiththecustomers,andyou’relettingusdown.”
Marcusacknowledgedhismistake.
“Guys,I’msorry.IdidnotthinktherolesofScrumMasterorproductownerwouldbe
sodemanding.Myjobasproductownerhastakenalmostallofmytimethissprint,andI
don’tseeitgettinganybetter.Idon’twanttoletyouguysdownasateam,butIknowmy
jobasScrumMasterisnotworkingouteither.Andmyteammemberrole!Man!Iblew
thatone,”admittedMarcus.
“Look,Marcus,”saidHugo.“Iknowthisistoughonyoumostofall,butweneedyou
tofocusononethinganddoitwell.Whatdoyouwanttodo?”
Marcuscontemplatedhisoptions.He’ddoneadecentjobasScrumMaster.Hereally
likedtheproductownerroleandcouldseehimselfdoingthatjob.Still,hehatedtogiveup
developmentworkaltogether.
“C’monMarcus,it’sbeenfiveminutes,”saidHugo.“Timetodecide.”
“I’llbetheproductowner—I’vegotthemostinvestedinthatnow.Whatarewegoing
todoforaScrumMaster?”
“Wewereallprettysureyou’dpickthat,”saidHugo,withtheteamnodding.“Whatif
wetalktoFilipaaboutbecomingourScrumMaster?She’sbetweenprojects.Shewould
probablyneedtoturntoyouforsomeanswersatfirst,buttheworkofScrumMaster
wouldbeherpriority,notyours,”saidHugo.
Marcusfelttheweightoftheworldbeingliftedoffhisshoulders.
“Thanks,guys,Ireallyappreciatethis.Icouldn’thavekeptupthecircusactforanother
sprint!”exclaimedMarcus.“IhadnoideawhatIwasgettingmyselfinto.Nooneona
Scrumteamshouldwearmultiplehats;Idon’tcarehowsmalltheteamis!”
TheModel
Inthischapter’sstory,MarcusandtheteamstruggledwithwhatroleMarcusshouldplay.
Hehadexperienceindevelopmentandhadmovedontobecomeaprojectmanager,where
hehadbeensuccessfulforseveralyears.Hewrestledwithhowtonarrowhisdiverseskill
settooneoftherolesinScrum.TeamsnewtoScrumoftenstrugglewiththesameissues.
TheytrytomapcurrentcompanyrolestotheonesinScrum,attempttomixroles,or
misinterpretwhatthetimeandskillrequirementsareforthevariousScrumroles.
Considereachoftheroles,startingwiththeproductowner.Theprimaryjobofthe
productowneristobethecustomerrepresentative,turningthevisionintoaworkable
productbacklogfortheteamtoexecuteandmanagingthereturnoninvestment/business
valueoftheproductorserviceunderdevelopment.Theproductownerhelpsbringclarity
tothevisionoftheproducttobedeliveredandthenworkswiththecustomersand
stakeholderstobuildalistofrequirementscalledaproductbacklog.Theproductbacklog
containsanythingthatneedstobedonetodeliverthevision—everythingthatwillcontend
fortheteam’stimeoverthelifeoftheprojectandthatbringsvaluetotheenddeliverable.
Typicalitemsinaproductbacklogincludestories(orfeatures),taxes,spikes,and
preconditions(formoreinformationonthis,seeChapter25,“OptimizingandMeasuring
Value”).Inservicetothestakeholders,theproductownercreatesasenseofurgencyand
pushestheteamtomaximizevelocityandquality.
TheroleoftheScrumMasterismultifaceted.First,theScrumMastershouldworkto
buildandmaintainahigh-performingteam.Onthesurface,thisroleappearstobesimple:
Managethedailyscrum,collectstatusfromtheteam,andcoordinatethevariousmeetings
andtasks.Thetruthis,though,thatnothingaboutaScrumMaster’sjobissimple.The
ScrumMasterisnottheteammanagerorleader;onthecontrary,theScrumMasteristhe
fluidthatensurestheteam’sengineisfiringonallcylinders.ScrumMasterskeeptheteam
focusedandontrack.Todothiseffectively,ScrumMastersneedtobeabletoseetheforest
forthetrees—toseethebigpictureandlookforplaceswheretheteamcanmake
improvements.
Second,theScrumMasterisexpectedtoworkwiththeproductowner,helpingas
neededbutalsoprovidingakeycheckandbalanceagainstthewilloftheproductowner.
Theproductownerwillwantteamstohaveahighvelocity;it’stheScrumMaster’sjobto
makethathappenwhileprotectingtheteam’shealth.GoodScrumMastersincrease
velocitybyremovingimpediments,monitoringteamhealth,andhelpingtheteamknow
howitistrackingtowarditsdeliveryofthesprintgoal.
ThefinaljoboftheScrumMasteristobeachangeagentintheorganization.Good
ScrumMastersreachbeyondtransformingtheteamtohelptransformthecompanyaswell.
ScrumMasterslookforopportunitiestocreatealearningorganization,offeringlunch-and-
learnandotherinformaltrainingonScrum,advisingnewScrumteams,andgenerally
beingaresourceandadvocateforScrumthroughouttheorganization.AScrumMaster’s
subtle,servantleadershipcanhaveatremendousimpactontherestofthecompany.
Coreteammembersdeliverthevisionandbuildtheworkneededtoimplement
featuresfromtheprioritizedproductbacklog,asmanagedbytheproductowner.Todo
thismosteffectively,teammembersdependontheScrumMasterandproductownerto
dealwiththenoise,enablingthemtofocussolelyonthetaskathand.
WhatmakesScrumuniqueisthateachrolehasminimaloverlapandisinintentional
conflictwiththeotherroles.Theproductownerisexpectedtodrivetheteamtoexecute
thevisionofthebusinessanddeliverbusinessvaluetothestakeholdersandcustomers.
TheScrumMaster,ontheotherhand,focuseshisorhertimeonensuringtheteamis
healthyandabletoexecutethevisionoftheproductowneraseffectivelyandefficiently
aspossible.Theteamconcentratesondeliveringthework.Withoutaproductowner,the
teamrisksmissingthemark.WithoutaScrumMaster,theteamrisksburnout.Without
committedteammembers,theprojectitselfisatrisk.
ChoosingRoles
Onceyouunderstandwhattherolesareandwhytheyexist,youneedtolookathowto
matchpeopletothoseroles.Thefirstthingtorememberwhenpickingyourrolesisto
disregardanyassignedtitlesthatmightexistinyourcompany.Titlesdonotmaptothe
rolesinScrum.Skillsdo.Considerthecompetenciesyouwanttohaveineachroleand
matchpeopletothem.
Table5-1summarizessomekeycompetenciestolookforwhenfillingeachofthethree
rolesinScrum.
TABLE5-1ScrumRolesandCompetencies
Youcanflipthisaroundtheotherway,too,ifit’smorehelpful.Listthekeydutiesofa
typicalprojectmanagerinyourorganization,forinstance.Thencomparethosetothe
responsibilitiesofeachScrumrole.InTable5-2,youcanseehowsomeoftheworkofa
traditionalprojectmanagermapstotherolesinScrum.
TABLE5-2MappingProjectManagerDutiestoScrumRoles
Thoughthesechartscanhelpyoustopthinkingintermsoftitlesandstartthinkingin
termsofskillsets,choosingpeopleforataskisneverthatcutanddried.Ifaformer
projectmanagertakesontheroleoftheScrumMaster,shemightfindherselfwishingshe
couldbemorehands-onwiththetasksinthesprintbacklog.Atesterwhoisparticularly
giftedatfacilitation,ontheotherhand,mightdesiretotakeontheScrumMasterrole.
Givepeoplefreedomtochoosetherolesthatbestsuitthem.Whatpeoplearecalledisso
muchlessimportantinScrumthanwhatpeopledo.
MixingRoles
MixingrolesinScrumiswhenasinglepersontakesonmorethanoneScrumrole.For
example,apersonisateammemberandtheScrumMaster,orapersonistheScrumMaster
andtheproductowner,orapersonistheproductownerandateammember.Theother
option,ofcourse,isMarcus—apersonwhotakesoneachrolesimultaneously.
Itistemptingtothinkthatasinglepersoncansplittimeacrossroleseffectively;after
all,thatiswhatpeoplehavebeendoingforyearsontheirprojects.I,too,havemixedall
therolesinScrum.LikeMarcus,IthoughtthatIcoulddoeverything,and,likeMarcus,I
failedmiserably.Ihavealsotriedeachofthepossiblecombinationsatleastthreetimes.
Eachtimetheyendedinfailure.Icanandwilltellyounottodoit.However,Ialso
understandthatyou’llwanttotryitanyway,soconsiderthisadisclaimer.
Peopleoftenaskwhat’swrongwithmixingroles.Thisquestioncomesfroma
fundamentalmisunderstandingofwhateachroleentailsandhowthatroleinteractswith
theothermembersoftheScrumteam.
Acombinationproductowner/ScrumMasterisakintoatwo-headeddragon.Eventually
oneheadwilleattheother.TheproductownerandScrumMasterrolesareinconflictwith
eachotherbydesign.Oneexiststodrivetheteam,theothertoprotecttheteam.Suppose
youaretheproductownerforateamandthecustomerisridingyouhardtopushtheteam.
Ifyoudonothaveamechanisminplace(theScrumMaster)tomonitorthedemandsbeing
placedontheteam,itislikelytheteamwillbepushedbeyondthelevelofitsendurance.
Productivitywillberealizedintheshorttermduetotheextrapush,butthecustomerwill
cometoexpectthisasalong-termthing.Theissuehereisthattheteamisnotworkingata
sustainablepace.Eventuallyproductivitywilldecreaseandmoralewillsufferasteam
membersburnout.Theproductownermightnotcareiftheteamiskeepingitsmoraleup
andmightnotevencareifqualitysuffers,aslongasthedatesarehitandthecustomer’s
needsareperceivedtohavebeenmet.
It’sequallyineffectivetohaveaScrumMasterbutnoproductowner.Withoutthesense
ofurgencyaproductownerbrings,itislikelythattheteamwillmovetooslowly.Without
aproductownertokeeptheteamfocusedondeliveringvalue,theteammightinclude
functionalitythatitthinkswouldbefuntobuildorwouldbesomethingnicetohave.The
team,notthecustomer,soonendsupdrivingtheproductvision.Inthesecases,the
customerwillsoonbegintoquestionwhethertheproductwilleverbedelivered,will
wonderwhethertheteamcouldbemovingfaster,andwillwonderwhyitispayingfor
featuresitdidnotaskfor.Eventually,thecustomerwilllosefaithintheteamaltogether.
Ifonepersonisplayingbothroles,andthereisapushycustomer,thepersonplayingthe
roleswillneedtodecidewhichjobwinsout:theScrumMaster,wherebyhewillnotsatisfy
thecustomerbutwillprotecttheteam,ortheproductowner,wherebyhewillsatisfythe
customerandwilllikelyhurttheteam.Theseconflictscomeupineveryproject,whichis
whyitisimportanttonotmixroles.
Incontrasttothetwo-headeddragonthatacombinationproductowner/ScrumMaster
becomes,acombinationteammember/ScrumMasterseemsinnocuous.Still,thereare
issuesthatmakethiscombinedrolelessthanideal.Earlierinthischapter,Isaidthatthe
ScrumMaster’sjobistobuildandmaintainahigh-performingteam.Considertheteam
member’sprimaryfunction:tobuildandexecuteonthevisionascommunicatedbythe
productowner.ThisjobdirectlyconflictswiththejobofaScrumMaster.Ifthe
ScrumMaster’sjobistoseetheforestforthetrees,thejobofateammemberistobein
theforest,staringatindividualtrees(e.g.,userstories)forthedurationofthesprint.The
problemwithmixingthesetworolesisthatiftheScrumMasterisdoingtask-specific
work,shewon’tbeaslikelytoseethebiggerissueswiththeteamandthereforecannot
elevatetheteamtogreatness.
Acombinationproductowner/teammemberroleisnearlyimpossibletodowell.A
productownerjusthastoomuchnoisetocontendwith.Earlyinanyproject,thejobofthe
productownerwillbeintense.Theproductownerwillbeworkingwithcustomersand
stakeholders,workingtobuildaproductbacklogandtounderstandthevisionindepth.
Thefastertheteamgoes,theharderitwillbefortheproductownertokeepupwiththe
team’sdemandforstories,clarification,andverification.
Theonlybenefittothiscombinationisthattheteamwillhavetheproductownerinthe
roommostofthetime.Eventhen,itisdifficultforproductownerstohaveaclearvision
ofwhattheteamisworkingtoexecutewhentheyaresplittingtimebetweendevelopment
andproductownerduties.
WhataboutExtremeProgramming’scallforhavingthe“customerintheroom,”which
Iamallforbutrarely,ifever,see?Couldhavingacombinationclient/productownerbe
thenextbestthing?Sometimes.
First,considerthatiftheproductowneristheactualclient,heholdsthemoney.This
giveshimthepowertopullthe“Ihavethemoneycard,sodowhatIsay”routine—nota
funsituationfortheteamortheScrumMasterwhoistryingtoprotectthatteam.
Second,considerthatacustomerhasotherworktodo.Forexample,acolleagueof
minewasrunningaScrumprojectatanorganizationI’llcallZDev.Theclient,I’llcallit
WiCo,hadarepresentativeactingastheproductowner,butnotbychoice.Shewas
electedproductownerbyhermanageratWiCobecauseshehadthemostknowledgeof
thesystemthatwasunderdevelopment.Sheservedastheactualproductownerfor
ZDev’sScrumteambecauseWiCodidn’twanttopayZDevforaproductowner’stime.
Thingsweregreatinthebeginning,andtheteamgotwhatitneeded.Astimewenton,
though,theclient/productownerbecameincreasinglydistant,eventuallyonlyshowingup
forthedemomeetingsandeventhennotbeingengaged.ZDevnoticedthistrendand
stoppedtheproject.ThebigwigsatWiCoflippedoutanddemandedanexplanation.
ZDevexplainedthattheproductownerwasnotengaged;underthosecircumstances,
ZDevwouldratherbuildnothingthanbuildthewrongthing.
WiCodidaninvestigationastowhytheproductownerhadcheckedoutoftheproject.
Theclient/productownerexplainedthatshehadtokeepdoingherprimaryjobinaddition
totheextraworkofproductowner,whichhadbeenhandedtohersimplybecauseshewas
asubjectmatterexpert.Whenshelookedatwhatshewouldbejudgedonforher
performancereview,sheelectedtosacrificetheZDevprojectbecauseitwastiny
comparedtoherothergoalsfortheyear.WiCorealizedthatitwouldhavebeencheaper
andmoreeffectivetohavehiredaproductownerfromZDevinthefirstplace,soit
restartedtheprojectwithaproductownerfromZDev.
Combiningallthreeroles,asituationIaffectionatelyrefertoasthetrifectaofdeath,is
anexceedinglybadidea.Ican’tthinkofanupside.Still,I’vebeenwhereyouareand
knowmanyofyouwilltryitanyway.Ifyouhaveaone-ortwo-personteam,thismight
work—eventhen,don’tbetonit.Thisdysfunctionisasymptomoflargerissues,
includingthepossibilitythatyoushouldnothavetakenontheprojectinthefirstplace.
When,NotIf,YouDecidetoMixRolesAnyway
HopefullybythispointIhavemadeaclearcasefornotmixingtheroles.Irealize,though,
thatyou’reprobablygoingtotryitanyway.Whenyoudo,Isuggestyoumixonlythe
teammemberandScrumMasterroles.Why?It’stheleastdamagingcombination,putsthe
ScrumMasterintheroomwiththeteam,andwilllikelybetheeasiesttosellto
management,especiallyiftheyaresayingyou“cannotdoScrum”becauseofthe
perceivedadditionaloverheadintheroles.Becarefulwhenyoudoit,andmakesure
everyoneontheteamisonthesamepagefromthebeginning.Readmoreabouthowto
justifyhavingafull-timeScrumMasterinChapter8,“TheCaseforaFull-Time
ScrumMaster.”
KeystoSuccess
Marcus’storyillustratesanextremecaseofmixingrolesinScrum,butthemoreIwork
withteams,themoreIfindmixingtobeanoptionthatteamspropose.Itisalltoo
commontoseeaScrumMasteralsoactasateammemberandisnotunusualtoseeone
personactingasbothScrumMasterandproductowner.Neithercombinationresultsinthe
bestsolutionforyourcustomersoryourteam.
Evenonasmallteam,resistthetemptationtodeviatefromtheScrum“recipe,”
especiallyatfirst.Youwillfindthatyouultimatelyperformmuchbetterifyoutakethe
extraefforttobuildtheintentionaltensionthathavingthreedistinctrolesonyourteam
provides.Ifyou’restrappedforcashorpersonnel,shareaScrumMasterorproductowner
withanotherteam.Havingapart-timeScrumMasterismuchbetter,andsomuchmorein
keepingwiththechecksandbalancesinherentinhavingthreedistinctroles,thanhaving
oneteammembertryingtofulfillmultipleroles.Ifyoudothis,keepinmindthatit’sfar
easiertoshareaScrumMasterthanaproductownerbecauseonceateamgetscranking,a
part-timeproductownerlikelywillhavetroublekeepingup.
Ifyouareinacoreteammemberroleandmissyourleadershipduties,lookforwaysto
leadfromwithintheteam.Headupanimprovementcommunity.Startorgrowalocal
user’sgroup.BecomeaScrumadvocateinsideyourorganizationbybeingamentoror
offeringlunch-and-learnopportunities.Youmightevenconsidervolunteeringasthepart-
timeScrumMasterforanotherteam,whereyourdutieswon’tdirectlyconflictwithyour
teammemberresponsibilities.
Becreative.Bepersistent.Andbepreparedtojustifytheimportanceofhavingthree
separateindividualsservingasScrumMaster,productowner,andteammember.
SometeamshaveclaimedsuccessinrotatingtheroleofScrumMasteramongtheteam
members.I’veneverattemptedthismethodandhavenotseenthisresultinagood
outcomeforanyonewhohas.Withoutlong-termfocus,theScrumMasterbecomesa
glorifiedadministratorfortheteam.TheskillsrequiredofaScrumMasterarespecialized
andtheroletooimportanttobehandedaroundthecampfirelikeabottleofmoonshine.
IprefertohaveoneScrumMasterforaslongastheteamistogether,andseenothing
wrongwithhavingtheteamchooseanewScrumMasteriftheteamfeelsthatperson
mighthavetherightstufftoshepherdtheteamandstanduptotheproductowner.
Irecognizethatrealityoftengetsinthewayofwhatwouldbeideal.Butinallyour
decisions,keepinmindthatwhenpushcomestoshove,someonemixingrolesultimately
willbeforcedtochooseasinglerole.Someonesplittingtheteammemberand
ScrumMasterroleswillbeforcedtochoosewhichonetodoandwhichonetosacrifice.
Thisisinevitable.Recognizethiscostifyouestablishateaminwhichpeoplemustactin
multipleroles.
Chapter6.DeterminingSprintLength
Thereisnoone-size-fits-allmagicbulletfordeterminingasprintlengththatworkswell
foreveryteam.Originally,Scrumcalledforone-monthsprints,butnowadaysmanyteams
havebeensuccessfulwithtwo-weekorevenone-weeksprints.
Withalltheseoptions,howdoyouchoosethesprintlengththatworksbestforyour
teamandproject?Isthereeveratimewhenit’sokaytohaveasprintlengththatislonger
thanonemonth?Whywouldateamwanttoimplementone-weeksprints?Andwhatare
thefactorsthatinfluencewhattherightsprintlengthshouldbe,especiallyonanew
project?
Thischapterexploresthesequestionsandtheconceptofsprintlengththroughastory.
Afterthat,itdescribeswaysyoucandeterminewhichsprintlengthmakesthemostsense
foryourteam.
TheStory
JayandRachelweretappedtodeliveranorder-trackingsystemfortheirclient,Tegla,an
executiveaircraftmanufacturer.Astheypreparedtomeetwiththeclient,JayandRachel
struggledwithhowbesttodealwiththeproject’srequirementsandconstraints.
“Rachel,I’vebeengoingovertheserequirementsdocumentsfordaysandI’mstuck.
We’vegotsomedifficultconstraintstoworkwith.Teglaneedsustobuildanorder-
trackingsystem.TheproblemisTegla’sbudgetcycleendsattheendoftheyear,which
meanswehavetogetthesystembuiltquicklyandcorrectly,becauseafterthefirstofthe
yearwewon’thaveabudgettofixit.FromwhatIcantell,thestakeholdersatTeglaare
notyetveryclearontheirrequirements.Alltheyknowistheydon’twantthenextversion
ofwhattheyhavetoday;theywantsomethingcompletelynew.”
“Wow,”saidRachel.“That’svague.”
“What’sworseisthattherequirementsareabitdated.Thereisavisualdesign
documentthatsomeoneputtogetherforthem,completewithUIelements,behaviors,and
systeminteractions.Wecanusethisasastartingpoint.Wealsohavethelegacysystemas
areference,alongwiththeusecasesthatwerebuilttosupportit.Therestofitwillneedto
bedevelopedovertime,”repliedJay.
“Hmmm,”saidRachel.“Let’sdivideandconquerandseewhatwecanfigureout.If
youcanidentifytheessentialpeopleforthecoreoftheteambasedonwhatyouknow,I’ll
talkwiththecustomerandcomeupwitharecommendationforhowtostructurethis
project.”
Afterafewdays,RachelandJaymetagain.
Jaydescribedhiseffortstobuildacoreteam.Rachelrespondedwithherown
conclusionsandquestions.
“IthinkusingScrumtomanagethisprojectwouldreallyhelp,”saidRachel.“How
muchexperiencedoesthecoreteamhavewithScrum?”
“Actually,theteammembershavebeenonafewScrumprojectstogetherandare
experiencedwithtechnicalskillsliketest-drivendevelopmentandcontinuousintegration.
They’reprettystrong,”Jayreplied.
“Good,”saidRachel.“IspokewiththestakeholdersatTeglaandgavethemahigh-level
overviewofourvariousprojectengagementstyles,andtheylikedScrumthebest.Igave
themabunchofinformationonhowScrumworks,andtheywerereceptive.WhatIdid
nottellthemishowlongthesprintswillbe,soweneedtofigurethatout.Here’swhatwe
knowsofar.”
Rachelwroteabulletedlistonthewhiteboard.
“Greatsummary,Rachel,”saidJay.“ThebiggestissuesIseearethe31December
deadlineandthelooserequirements.Wedon’tknowexactlywhatitistheywant,and
neitherdothey.Withourteam,theirdeadlines,andthefuzzynatureoftherequirements,
I’mthinkingshortfeedbackcycleswillworkbest.I’mthinkingweeklysprints.”
Rachelsmiled.“Metoo.TherealvariableisTegla.Idon’tthinkthestakeholdershave
thetimeneededforone-weeksprints.Theywouldhavetobeverycommittedand
availabletotheprojectforone-weeksprintstowork,andIjustdon’tknowifthey’llbe
willingorabletodothat.Logistically,itwouldbepossible.Allthecustomersarelocated
intheonelocaloffice.Still,they’reprettybusywithotherduties.Ican’tthinkofany
projectwithTeglawherewe’veaskedforthatlevelofcommitment,”saidRachel.
“Well,alloftheotherprojectswehavedonewithTeglahavebeenbetterdefined,”
counteredJay.“Wedidn’tneedthatlevelofcommitment.”Hepausedforamoment,then
continued.“Let’ssetupameeting.We’llaskthemafewquestionsandgetanideaofhow
muchtimetheyhavetocommittotheproject.Then,we’llmakeourcaseforweekly
sprintsandseewhattheyhavetosay.Neverhurtstoask,right?”
ThecustomermeetingcamebeforeJayandRachelknewit.Theyhadagoodturnout:
AllfivecustomerrepresentativesfromTeglawerepresent.Jaydecidedtostartby
recappingwhyeveryonewasthereandwhatthepurposeofthemeetingwas.“Hifolks,”
hesaid.“Weareheretodaytotalkabouthowwearegoingtoworktogethertobuildthe
systeminthetimeframeyouwant.”
Jaycontinued.“Wehaveasolutionthatwethinkwillworkforourteam,buttomakeit
workweneedyourcommitment.Ourapproachwillprovideyoufrequentopportunities,
wehopeweekly,toreviewthesystem.Wewillworkwithyoueachweektodetermine
whatwebuildthefollowingweek.Wewilldelivercodeinastatethatispotentially
shippablesowecanputitonyourproductionsystemsandnothaveissuesdealingwith
operations.”
Thecustomers’eyesgotverywideuponhearingthis.“Weeklyreleasesandfeedback?
Soundsgreat.What’sthecatch?”oneofthemasked.
“Well,inordertoshipeveryFriday,wearegoingtoneedyoutospendalotofyour
timeguidingusintherightdirection.We’retalking20to30hoursperweekforone
person,lessfortherestofyou.Thattimewillbespentrefiningtheproductbacklog,
runningthroughallthestoriestoensuretheyworktoyoursatisfaction,helpingprioritize
theupcomingsprints,reviewingandhelpingtriagebugs—andwritingbugsforthat
matter.Also,we’llneedyouto—”
Jaystoppedinmidsentenceashesawtheeyesofthecustomersglossoverindisbelief.
Oneofthemspoke:“Wehavejobstodo.Howarewegoingtobeabletodothis?”
“Well,”saidJay.“Itisalot,Iagree.”
Rachelnoddedheragreement.
Jaycontinued,“However,doingthiseachweekwillgiveusabout22opportunities—
oneperweekforsixmonths—toadjustthedirectionoftheproject.It’sthebestwayto
makesurethatwhatyouhaveattheendoftheyeariswhatyouwant.”
“Itmightbethebestway,”repliedoneofthecustomers,“butIknowIcan’tcommitto
theamountoftimeandfeedbackyouwillneed.Isthereawaywecanstretchitoutabit?
Whatifwedidthisonceamonthinsteadofeveryweek?”
Rachelchimedinthistime,“JayandIdiscussedthisoptionbeforethemeeting.
Monthlyfeedbackcyclesdoworkformanyprojects.Theissuewebothidentifiedis
aroundtherequirements;theyareverysoft.Combinethatwiththefixedend-of-year
deadlineandwerunahighriskofbuildingthewrongthing,whichnoneofuswant.
Monthlysprintsonlygiveusfiveopportunitiesforfeedback,becausebythesixthsprint,
we’redeliveringthesystem.”
“It’sallaboutstimulus-to-responsetime,”agreedJay.“Ifyouweretocutyourfinger,
howquicklywouldyouwantyourbraintorespondtothecut?Immediately,right?Well,
whenwebuildapieceoffunctionality,it’sbetterfortheoverallhealthofthesystemif
yourespondtothesechangesalmostasimmediately.So,wewanttobuildinseveral
stimulus-to-responsecycles.Doingthatrequiresaninvestmentonyourpart.However,
makingthatinvestmentmeanswehaveahigherlikelihoodofgettingitright.”
Rachelnoddedandsaid,“Iknowyou’dratherhavemonthlysprints,butgiventhetime
durationoftheproject,Istronglyfeelwewon’tgetenoughresponsethatway.Whatifwe
compromiseandhavetwo-weeksprints?That’snotasideal(orintense)astheone-week
sprintsweproposedoriginally,butitstillgivesusanadequatestimulus-to-responsetime.”
Thecustomerteamknewthemath.Asix-monthreleasewindowwithtwo-weeksprints
meanttheywouldhavebetweentenandtwelveopportunitiestoimpactthedirectionofthe
project.Theyalsoknewthatgettingthesysteminplacebytheendoftheyear—and
havingitbetherightsystem—wascritical.Otherwise,thebudgetwouldbegoneandthey
wouldbestuckwitheitherhalfasystemoracompletesystemthatnoonecoulduse.
“We’llfindawaytomaketwoweekswork.We’lljusthavetojuggleourschedulesa
bitforthenextsixmonths,”saidtheirdecisionmaker.“We’regoingtoneedyourhelp,
though.WearenewtothisScrumthing,soyouwillhavetohelpguideusthrough.Weare
alittleskeptical,butyoumakeagoodargument.Let’sgowithatwo-weeksprintlength
andgetthisthingoutthedoor.”
TheModel
Choosingtherightsprintlengthisaboutdetermininganappropriatestimulus-to-response
cycle.Inthischapter’sstory,theteamandthecustomerwerepressedwithatightdeadline,
somethingnotuncommoninsoftwareprojects.RachelandJayexplainedtothecustomers
that,withtheirfirmenddateandfuzzyrequirements,thestimulus-to-responsetimeforthe
projectneededtobeasshortastheycouldhandle.
Inasprint,theinitialstimulusisthecustomersettingthepriorityofthestories.The
responseistheteambuildingworkingsoftware.Thebuildingoftheworkingsoftwareisin
turnastimulustothecustomer.Thecustomer’sresponseisfeedback.Themore
instantaneousthatfeedback,thehigherthelikelihoodthatwhatisdeliveredintheendis
whatthecustomerreallywanted,whichisnotnecessarilywhatthecustomeroriginally
askedfor.Thisstimulus-responsecyclecontinuesuntiltheprojectends.
RachelandJayrecommendedone-weeksprints.Theyarrivedatthisconclusionby
takingintoaccountthefollowingcriteria:
Theexpecteddurationoftheproject
Customers/stakeholders
–Availabilityforfeedbackandguidance
–CulturalbarriersandScrumfamiliarity
–Environmentalfactors
TheScrumteam
–Scrumexperience
–Technicalcapabilities(suchasautomatedacceptancetesting,test-driven
development[TDD],automatedreleases,etc.)
–Abilitytodecomposework
Theseelementsplayacriticalpartwhenanyteamistryingtodeterminehowlongits
sprintsshouldbe:fromoneweektoonemonth.Thenextsectionlooksateachelementin
moredetail.
ProjectDuration
Sprintlengthsshouldbechoseninrelationtoprojectduration;however,theyshouldnever
belongerthanonemonth.Considerathree-monthproject.Ifithasone-monthsprints,the
stakeholderswillgettoparticipateinonlytwodemosbeforetheprojectisreleased.This
isnotenoughfeedbacktomitigatetherisks.Shortersprintlengthsareanecessity.
Whataboutayear-longproject?Assumingone-monthorfour-weeksprintsthatbreak
approximatelymonthly,thatprojectwouldoffer11opportunities(plusthefinalrelease)
forstakeholderstoseethedevelopingproduct.One-monthsprintsarearealisticoption,
dependingontheotherfactorsinvolved.
Theareabetweenthreemonthsandoneyearislessclear.Theprojectinthischapter’s
storywasasix-monthproject.Ifasix-monthprojectisrunonaone-monthsprintmodel,
theteamhasascantfiveopportunitiesforfeedbackbecausethelastsprintwillendthe
project.Isthatenoughfeedbacktoproducetherightproduct?Itdepends.Myadvicefor
projectsofgreaterthanthreemonthsandlessthanoneyearwouldbetochooseasprint
lengththatmirrorstheprojectlength—meaningaprojectthatisshortshouldhaveshort
(one-totwo-week)sprints.Aprojectthatislongcanhavelongersprints,betweentwo
weekstoonemonth.Again,andIcan’tstressthisenough,sprintlengthshouldneverbe
longerthanonemonth.Infact,Irecommendtwoweeksfornearlyallofmyprojects,asI
finditgivestheidealamountofstimulustoresponse.
Ifaprojectisexpectedtolastmorethanoneyear,rethinktheproject.Multiyearprojects
aretoobig.Findawaytodivideitintoshorterreleases.Justasyouwouldn’twantatwo-
monthsprint,youdon’twantatwo-yearproject—divideitintofour,six-monthprojects
instead.Ifyoufindyoucan’tcomeupwithawaytobreaktheprojectintosmaller
components,thenyoulikelyhavelargerculturalissuesinyourcompanythatshouldbe
addressedbeforeyoutrytouseScrum.
Figure6-1showsanotherwaytoviewit.Thelighterthesprintlengthbaris,themore
likelyyouaretobuildtherightthingbecauseyouwillhavemoreclarity.Asyoumoveto
theright,toadarkershade,youhavelessclarity,lesscustomerinvolvement,andyou
increasetheriskofbuildingthewrongthing.
FIGURE6-1Amountoffeedbackandcustomerinvolvement
ProductOwnerandStakeholders
Whenworkingtodeterminesprintlengthwithyourproductownerorcustomer,itis
importanttofactorinthreethings:
1.Productownerandstakeholderavailability
2.CompanycultureandfamiliaritywithScrum
3.Productenvironment
Lookattheavailabilityfirst.It’scrucialtobalancetheteam’sneedswiththeneedsof
yourstakeholders.Havingaone-weeksprintmightsolvesometeamproblemsbutcould
puttoomuchstressontheteam’srelationshipwithitsstakeholders.Discussthesituation,
justasRachelandJaydid.Explainwhystakeholderfeedbackissoimportanttothe
project’ssuccessandtellthemwhattheywillgetoutoftheaddedexpenseoftheirtime.
Remember,inmostcases,thosewhoarenewtoScrumarenotaccustomedtoScrum’s
demandforinteraction.Theyareusedtodroppingtherequirementsoffatthebeginningof
theprojectandpickinguptheirproductattheend.Regardlessofthesprintlengthyou
choose,youwillwanttospendtimeeducatingeveryoneaboutthevalueoffrequent
feedbackandthenecessityofstakeholderinvolvementinthedevelopmentprocess.
Next,examinethecompanyculture.IsworkingwithaScrumteamnewtothecompany
anditsculture?Isitperhapsbeingtestedinapilotgroup?Ifso,considerthatshortsprints
maygiveafalseimpressionthatScrumteamsputunduepressureonstakeholders.Find
waystoalignthevaluesofthecompanywiththoseofthestakeholdersandScrumteam.If
thestakeholdersandScrumteamvaluetheideaofhavingworkingsoftwareeverytwo
weeksbutthecompanyvaluesanall-encompassingprojectplan,theprojectwillstruggle
regardlessofsprintlength.Again,educationiskey.Meanwhile,themoreresultstheteam
produces,themorewillingareluctantcompanywillbetoacceptthevalueoffrequent
iterationsoveracomprehensiveplan.
Theenvironmentinwhichthefinalproductwilllivecanalsoaffecttheproject.
Environmentalfactors(suchasregulatoryissues)areoftenoverlookedbut,frommy
experience,affectwhattheteamcandeliverandwhen.Ifyourteamhasalargenumberof
regulatoryissuestocontendwith,youwillprobablywanttochoosesprintlengthsofat
leasttwoweeks(threemaybeideal)becauseoftheamountofcomplianceassessmentand
auditingthatwillneedtooccurbeforeanysoftwarecantrulybeconsideredshippable.
ScrumTeam
TheScrumteamitselfisafactorindeterminingsprintlength.Considerationsincludethe
following:
TeamexperiencewithScrum
Teamengineeringcapabilities(TDD,continuousintegration,pairprogramming,
etc.)
Teamabilitytodecomposework
Inthischapter’sstory,theteammembershadsomeexperiencewithScrumandXP.
Theykneweachotherwell,wouldnothavetostartfromscratch,andfeltcomfortable
workingwithintheScrumframework.Noneofthemhadthe“Iownthispartofthecode”
mindset.JayandRachelknewthis,sotheyfeltconfidentwithone-weeksprints.Asarule,
aninexperiencedScrumteamshouldstickwithtwo-weektoone-monthsprintsbecausea
one-weeksprintismuchmoreadvancedandbettersuitedforestablishedteamsthathavea
goodworkingrelationship.
Ifyoudochooseaone-weeksprintlength,youneedtohavetheengineeringcapabilities
inplace(orlearnthemawfullyquickly)toexecuteworkinthatcompressedtimeframe.
Goodengineeringpracticesarejustasimportantwithlongersprintlengths,buttheir
absenceisnotaspainfulorglaringlyobviousonaone-monthsprintasitisonaone-week
sprint.Toefficientlyexecuteaone-weeksprint,theteammustbeabletoestablishand
maintainacontinuousintegrationserverandshouldfollowengineeringpracticessuchas
TDDandpairprogramming.Utilizinganautomatedacceptancetestingframeworkisalso
arequirement,asthetestingdebtgrowthwillbefastandfurious.Iflearningthese
mechanismsinahurryisyourgoal,thenaone-weeksprintmightmakesense.Otherwise,
don’teventhinkaboutaone-weeksprintuntilyouhavethesecapabilitiesinplace.
Theabilityoftheteamtodecomposeitstasksiscriticalonshortsprintsandstill
importantonlongersprints.Decomposingtasks,inandofitself,isanartform,onethat
requirescriticalthinking,aclearmind,andtheabilitytoseebeyondthesurfaceofa
problem.Ifyourteamisgoodatdecomposingtasks(orwantstogetgoodinahurry),
shortersprints(onetotwoweeks)canwork.Ifyourteamisstilllearninghowto
decomposetasks,youmightwanttostartwithlongersprints.Readmoreabouttask
decompositionandwaystoimproveinChapter12,“DecomposingStoriesandTasks.”
DeterminingYourSprintLength
“Sothisisallfineanddandy,”yousay,“butattheendoftheday,Ineedtofigureouthow
longmyteam’ssprintsshouldbe!”
IfindmyselfaskingaseriesofbasequestionseachtimeIsetupaproject,justasJay
andRacheldidinthestory.Thesequestionshelpdeterminesprintlengthbutarenot
conclusiveandshouldbeconsideredguidelinesratherthanhardandfastrules.WhatI’ve
endedupwithisaquizsimilartooneyou’dseeinamagazine,whereyouansweraseries
ofmultiplechoicequestions,giveacertainvaluetoeachanswer,andthentabulatethose
answerstoarriveatyouridealsprintlength.Aswithanytool,useitwisely—iftheanswer
itgivesyoudoesnotfeelright,thenchooseadifferentsprintlength.
First,answerthemultiplechoicequizshowninTable6-1.Choosetheanswerthatmost
closelymatchesyoursituation.
TABLE6-1QuestionstoAsk
Onceyou’veansweredthemultiple-choicequestionsinTable6-1,usethescoringkey
inTable6-2toassignanumberforeachquestionbasedonyouranswer.You’llnoticethat
therearethreenumbersinthekey:1,3,and5,where1=BadChoice;3=Workable;5=
Ideal.You’llcarryallfournumbersthatmatchyouranswerintothesprintlengthmodel.
TABLE6-2ScoringKey
Asanexample,recallthatinthestoryJayandRachelhadatimelineofsixmonths.I’ll
usethisasthedatapointtoanswerthefirstquestion:Whatismyprojectduration?Their
answerwouldbeC.6–8months.IfyouhadaprojectdurationthatmatchedJayand
Rachel’s,youtoowouldgotothe6–8monthsrowinthescoringkeyandcopythe
numbersintothesprintlengthmodel,asshowninTable6-3.
TABLE6-3AnswerstotheProjectDurationPortionoftheSprintLengthModel
Youwouldthenanswerthenextquestion,takingthenumericalvaluesfromTable6-2
andpopulatingthesprintlengthmodel.Youshouldproceeduntilyouhaveansweredall
questions.
Forexample,assumethatyouranswersforquestions2through5(aboutthecustomer)
wereallB,andyouranswerstoquestions6through8(abouttheteam)wereB,A,andA.
YourcompletedmodelwouldlookliketheoneshowninTable6-4.
TABLE6-4ExampleSprintLengthModel
Inthelastrow,youwillseesomenumbers(3,4.75,4,and3).Thesearecalculated
averages(Iaddedthenumbersineachcolumnanddividedbyeight,thenumberof
questions).Basedontheaveragerating,yourhypotheticalprojectshouldworkbestwitha
two-weeksprint,withthreeweeksbeingaclosecontenderandone-weekandone-month
sprintscominginlast.
BeWarned
Youshouldhavenoticedthatsomeoftheoptionsinthemodelaboveruncontrarytothe
recommendationsIhavemade.Youcanselect,forinstance,aprojectdurationgreaterthan
12months.Theseoptionshavebeenhighlightedaswarningsignanswers(denotedbyan
asteriskinthescoringkey).Ifyoufindyourselfwithoneormorewarningsignanswers,
youlikelyhavelargerissuesthansprintlengthtodealwithinyourcompany.Theseissues
shouldbeaddressedbeforeyoutryScrum.TeamsthatstartusingScrumwiththeseissues
inplaceusuallyendupfailingandthenblametheframework.UsingScrumforthefirst
timeisstressfulenough.Tryingtodoitwithtoomanypreexistingwarningsignsisnearly
impossible.
BeyondtheQuiz
Afteryougainmoreexperiencewithchoosingsprintlength,youwillbeabletogaugea
goodsprintlengthforyourteaminmuchthesamewaythatJayandRacheldid,by
analysis,discussion,andfeel.
Whenteamsdonothaveexperiencerunningsprints,theytendtoexperimentwith
varioussprintlengths,whichcanbeconfusingforthecustomeranddebilitatingtothe
team.OnecompanyIworkedwithwantedtoexperimentwithallthesprintlengthstosee
whichonefitthembest,eventhoughtwoweekswastheobviouschoicebasedonthe
sprintlengthmodelandjustsimplegutfeel.Theystartedoutwiththree-weeksprints,then
two-weeksprints,thenaone-weeksprint,thenaone-monthsprint,thenbacktoatwo-
weeksprint,andfinallyathree-weeksprint.Theyendedupsettlingontwo-weeksprints,
butbythetimetheteamfinallylandedonanoptimalsprintlength,theteammembersfelt
liketheyhadjustwalkedawayfromacarcrashwithnoseatbelts.
IfyourteamisnewtoScrum,youshouldstartwithoneofthetwoacceptedstandards
(twoweeksoronemonth)anddothatconsistentlyforseveralsprints.Ifyoufindthatyou
arehavingdifficultyatthatpoint,itismuchmorelikelythatScrumhasuncovereda
problemyourteamishavingthanthatthereissomethingwrongwithyoursprintlengthor
withScrum.
KeystoSuccess
Determiningsprintlengthdoesnotneedtobeadauntingtask,butitalsoisnotsomething
thatshouldbetakenlightly.
Whendeterminingsprintlength,itisessentialtorememberthefollowingthings:
Stabilityofrequirements
Projectduration
Amountofriskyouarewillingtotakeon
Theabilityoftheteam
Thetoleranceofthestakeholders
Foreachofthesepoints,rememberthatthestimulus-to-responsetimeshouldbethe
maindriverinyourdecision.Themorefeedbackyouhave,thebetteryouwillbeableto
toleraterisk.Shortersprintsenableyoutoidentifypotentialriskssoonerbutcomewitha
costofincreasedcustomerinteractionandmoreinterruptionsfortheteam.Longersprints
meanthatitwilltakelongertofindtherisksbuthavethebenefitoffewerinteraction
pointsandinterruptions.Balancingfeedbackwithinteractionandinterruptionsisa
challengethatyourteamandstakeholderswillperfectovertime.
ThequestionsandcorrespondingscoringkeyIprovidedinthischaptermaynotwork
foreveryone.Whenyou’readjustingsprintlength,consideritastartingpoint.Don’tstress
aboutfollowingthemodel’sexactquestionsandanswerweightings.Focusinsteadon
whetheryouareconsideringbothyourcustomerandyourteamwhendeterminingyour
sprintlength.Finally,don’tforgetthereasonsyouareworkinginshortiterations:togather
stakeholderfeedback,toshowprojectprogressthroughworkingsoftware,andto
frequentlydeliveraprojectthatispotentiallyshippable.Therightsprintlengthbalances
theteam’scravingforfeedbackandinputwiththeteam’sabilitytodeliverandthe
stakeholder’sabilitytorespond.
SprintsLongerthanOneMonth
InAgileProjectManagementwithScrum,KenSchwaberwrites,“TheSprintistime-
boxedto30consecutivecalendardays….Thisisalsothemaximumtimethatcanbe
allocatedwithouttheTeamdoingsomuchworkthatitrequiresartifactsand
documentationtosupportitsthoughtprocesses.Itisalsothemaximumtimethatmost
stakeholderswillwaitwithoutlosinginterestintheTeam’sprogressandwithoutlosing
theirbeliefthattheTeamisdoingsomethingmeaningfulforthem”[SCHWABER].
Thisadviceisimportantbecausethewholepurposebehindtheone-month-or-lesssprint
lengthisthefeedbackloop—validatingthatthepaththeteamisonisthecorrectone.
Anotherwaytoputitisthatinthebeginningofthesprint,theteamheardwhatthe
productowner(andthestakeholders)askedfor.Attheendofthesprint,theteampresents
whatitthinksitheard—essentiallytryingtopreventwhatIcallthe“whatImeant
syndrome,”whencustomersandstakeholderssayafterasprintorrelease,“Youbuiltwhat
IaskedforbutnotwhatImeant.”Thissituationplaguessomanyteams,whywouldthey
notwantshorterfeedbackloops?
ExtendingSprintLength
“Ifwecan’tfinishourwork,shouldweextendthelengthofoursprinttofinishthework
wehaveinthebacklog?”Igetthisquestionallthetime.Extendingthesprintlengthis
dangerous.RonJeffriestoldmeonce,“Ifyoucan’tgetyourworkdoneinthreeorfour
weeks,whatmakesyouthinkyoucangetitdoneinfive,six,seven,oreight?”His
suggestiontomeatthetime?Switchtoone-weeksprints.Why?Simplybecauseyoucan
comeinonaMondayandseewhatyouneedtodobytheendoftheweek.It’sclearand
simple.Further,itforcesstoriesandtaskstobesmallerandprovidestheteammore
opportunitiestoreflectandcorrectissues.Inotherwords,itgreatlyimprovesthestimulus-
to-responsetime.
Reference
[SCHWABER]Schwaber,Ken.2004.AgileProjectManagementwithScrum.Redmond,
WA:MicrosoftPress.
Chapter7.HowDoYouKnowYou’reDone?
“Areyoudoneyet?”Thisseeminglyharmlessquestionisaskedcountlesstimesonalmost
everysoftwareproject.Thewayyouanswer,however,isanythingbutinnocuous.Ifyou
respondwitha“yes,”youmightbeforcedtotakeonadditionalwork.Ifyousay,“no,”
youcouldbebrandedassomeonewhocan’tgetthingsdone.Ifteammembers’answers
vary,youcouldloseyourstakeholders’trust.
Establishinganup-front,commonunderstandingofdonecansaveteamsandbusinesses
countlesshoursofprocessthrash,ambiguity,andhiddenwork.Inthischapter,youlearn
whatadefinitionofdoneis,howitaddsvalue,andthevalueitcommunicatesto
stakeholders.Youalsolearnanexercisethathelpsyoubuildyourowndefinitionofdone
andmanageitovertime.
Considerthestoryofoneproductowner,MaryAnne,andwhathappenedwhenshe
hostedastoryworkshopwithhercustomersandstakeholders.
TheStory
MaryAnnewashostingastoryworkshoptobuildtheproductbacklogforalargeback-
officeinfrastructureproject.Shehadgatheredroughly20stakeholdersintheroom,
includingsystemsengineers,generalmanagers,developers,marketingpeople,product
managers,andsalespeople.Eachhadvaryingdegreesofinterestinthisproject,andeach
thoughtthathisthingwasthemostimportantandshouldbebuiltfirst.MaryAnneknew
fromthebeginningthatsuchadiversegroupwouldbeachallengeandthatshewould
needtofocusthemeetingtofilteroutthenoiseandgettherealstoriesneededtostartthe
work.
MaryAnnehadherteam’sdefinitionofdoneinherbackpocket.Evenso,shedecided
nottodistributeitatthebeginningofthemeetingfortworeasons:Shewantedtoensure
peoplefeltopenandunconstrainedbyapredeterminedlist,andshedidnotwantthemto
gettheimpressionthatthedefinitionofdonewasupfornegotiation.
Twohoursintothemeeting,thegrouphadauthoredapproximately200stories.This
achievementwasahugesuccess.However,peoplewerestartingtogethunguponthe
sequenceinwhichthestorieswouldbeaccomplished—theirordering.Naturally,the
systemsengineerwantedtoseemonitoring,security,andallhardwareandnetwork
infrastructurebuiltfirst.Themarketingpeoplejustwantedareleasedate.Thedevelopers
andtesterswantedtodrillintotheweedstofigureoutwhateachstorymeant.
ItwasatthispointthatMaryAnnerevealedtheinitialdefinitionofdonethattheteam
hadidentified.Thelistcoveredwhatitmeanttobedonewithastory,asprint,areleaseto
theintegrationenvironments,and,finally,toreleasetoproductionenvironment.
Thestakeholderswereshocked.Neverbeforehadtheyseensuchdetailand
commitmenttoaqualityrelease.Billwasthefirsttospeakup.
“MaryAnne,thislooksprettycomprehensive.Areyousayingthatwitheachsprint,you
willdoperformancetesting?”Billasked.
“Yes,”saidMaryAnne,“andmore.Weplantodoeverythingneededtoshipoursystem
asit’sbeingbuiltinsteadofwaitinguntiltheend.”
Billcontinued,“Whatabouttheenvironmentbuildouts?Whyaren’ttheyonhere?”
“Simple,”statedMaryAnne.“Ourdefinitionofdonecoversthethingsthatwillbe
presentthroughoutthelifeoftheproject.Forexample,thetroubleshootingguidesthatwe
willwriteforyourteamwillbeexpandedwitheachstory,meaningwewon’thavea
documentationphaseattheendoftheprojecttodoallthedocumentation.Wewilldo
everythingneededtodeliveroursystemeverysprint.”
“IthinkIgetit,”saidBill.“Yourdefinitionofdoneisallaboutthingsthatareconstant
throughouttheproject—notone-timethings.Thosewouldbemoreonthetasklevel,or
maybestorylevel?”
“That’sright,”saidMaryAnne.“Ourdefinitionofdoneisaboutkeepingour
professionalismhigh.LikeaChristmaspresentisdonewhenit’sunderthetreeand
wrappedwithabow,ourdefinitionofdoneiswhenatask,astory,asprint,orarelease
meetsthiscriteria.We’lltestforiteachsprintanddemoitinthereviewmeetingaswell.”
Afterseeingtheteam’sdefinitionofdone,thesystemsengineerswerecomfortablewith
thelevelofworkMaryAnne’steamwasdoingtoaddresstheirneedsoneachstory,sprint,
andrelease.Thesecurityteamwasequallypleasedtoseethelevelofarchitecture,
documentation,andthreatmodelingthattheteamwasdoing.Equally(ifnotmore)
satisfiedwerethesales,marketing,andgeneralmanagementstakeholders.Knowingthat
theteamwouldcompletetheworktosuchadetailedleveleachandeverysprinthelped
assureeveryonethathisownpieceofthepiewouldbedonecorrectly.
TheModel
Havingadefinitionofdoneforyourteamhelpsallthestakeholdersvisualizetheteam’s
commitmenttodothebestpossibleworktomeettheneedsofthebusinessandits
customers.Toteamsthatuseit,thedefinitionofdonebecomesawayoflife—nota
checklisttofollowbutacommitmenttoexcellence.
Thedefinitionofdonealsogivesteamsawaytocommunicate.Wheneveryonecansee
whatitmeansforthisteamtobedonewithitswork,theteamnolongerhears,“Areyou
donewiththisorareyoudonewiththat?”Insteadtheyareasked,“Isthisstorycomplete?
Isthesprintcomplete?Haveyoureleasedtoyourenvironments?”Andeveryone
understandswhatanaffirmativeanswerreallymeans.
Eachteamshouldcreateadefinitionofdonethatisuniquetoitsownparticular
company,product,orsituation.Thefollowingexercisehelpsyourteamexplorewhatit
meanswhenastoryisdone.Figure7-1liststheitemsyouneedforthisexercise.
FIGURE7-1ItemsneededfortheDefinitionofDoneExercise
TheDefinitionofDoneExerciseisconstructedfromthesecomponents:
1.Brainstorming
2.Categorization
3.Sortingandconsolidation
4.Creationandpublishing
Thisexercisehelpsyoucreateyourinitialdefinitionofdone.NoticeIsaid“initial.”
Definitionsarenotcreatedonce,buriedinadrawer,andneverseenagain.Teamsshould
periodicallyscheduletimeduringretrospectivestoreviewtheirdefinitionsofdoneand
determinewhetherthereareopportunitiesforimprovementormodification.Feelfreeto
reviseyourdefinitiontomeettheneedsoftheteamanditsstakeholders,butbecareful.
Toomanyrevisionstoofrequentlymaycreatedoubtaboutthevalidityofthedefinitionof
doneintheeyesofthestakeholders.Investthetimetocreateasolidbaselineandmodify
thelistbasedontheexperienceandfindingsoftheteam.
Introduction
Peopleoftenaskmewhoshouldparticipateinthisexercise.Thisquestionalwayscatches
meoffguard.Theansweristhateveryoneontheteam,nomatterhisorherexpertiseor
background,canaddvalueandshouldbeinvolved.
Iftheteam’sprojectisabackenddatabasesystemorathree-tierwebapplication,some
peopleontheteamwillhavelessexperienceandknowledgeofthetechnologythanothers.
Thatisjustafact.Keepingteammembersoutofthisexercise,though,onlydeprivesthe
teamofthevaluablecontributionsofotherteammembers.Italsokeepsthemfromhaving
avaluableteambuildingexercise.
Therefore,Irecommendhavingtheentireteamdothisexercise,regardlessofskills,
background,orroleontheteam.Considerincludingyourproductowner,whohasinsight
andinformationthattheteammayfindvaluable.Oftentimestheproductownerwillshare
companywideorprojectmandatesthattheteammaybeunawareof.
Brainstorming
AlexF.Osborniswidelyknownasthefatherofbrainstorming.Inhisbooks,Your
CreativePower[OSBORN01]andAppliedImagination[OSBORN02],Osbornoutlines
thebrainstormingtechnique,asystemthatusesthebrainto“storm”creativesolutionstoa
problem.Thiscreativeapproachisdesignedtogenerateafreeflowofideas.Inthe
brainstormingsession,therearenorightorwronganswers.Thereisnocriticism,thereare
onlyideas.Therulesofbrainstorming,outlinedbyOsborn,aresimple:
Nocriticismofideas.
Goforlargequantitiesofideas.
Buildoneachother’sideas.
Encouragewildandexaggeratedideas.
Atthebeginningofthebrainstormingsession,setthepropertone.Thereasontheteam
istogetherintheroomistoidentifyeverythingthatitneedstodotoshipsoftware,the
truestmeasureofprojectprogressIhaveencounteredtodate.
Itisimportanttosetthedirectionofthebrainstormingsessioninthebeginning.Startby
writingonawhiteboardthequestiontheteam’sdefinitionofdonewillanswer.What
questionisthat?Itdepends.Themostcommonquestionis,“Whatdoweneedtodo,asa
team,toshipsoftwaretoourcustomers/stakeholders?”
Yourquestionmayvary,dependingonyourownteam’suniquecircumstances;
however,thepurposeisthesame.Makesurethequestionisonawhiteboard,oranyother
viewableplaceintheroom,beforeyoucontinue.
Handeveryoneapenandastickypad.Ihavefoundthatindividualslikehaving
differentcolors,butthisultimatelydependsonyourteammembers’preferences.
Kickoffbrainstormingbyrepeatingthequestionyouareanswering(seetheprevious
oneforanexample).Haveeachteammemberwriteanansweronasticky,calloutthe
answer,putthatstickyinapileinthemiddleofthetable,andrepeat.Teammemberscan
writeonlyoneanswerperstickyandmustcalloutaftereachansweriswritten.Asteam
membersstarttosharetheiranswers,inevitablysomewillsay,“I’vealreadywrittenthat.”
Donotworryaboutcreatingduplicateitemsatthemoment.Thiswillbeaddressedlater.
Whythecallout?Ihavefoundthatthecalloutputsthestorminbrainstorm.Ihave
personallyidentifiedmultipleadditionalitemswhenfellowteammembershavecalledout
adefinitionofdoneitem.Ihavealsowitnessedteammembersbuildingoneachother’s
ideaswhencoachingteamsthroughthisexercise.Ihaverunthisexercisewithouttheteam
memberscallingoutwhattheywroteonthestickies,butitresultedinastale,
unproductivemeeting.Callingoutmightfeelweirdanduncomfortableatfirst,butthe
feelingsubsidesveryquicklyoncetheteambecomesengagedandthemeetingbeginsto
flow.
Runthebrainstormingpartofthesessionuntilpeoplerunoutofideas.Itisgenerally
easytoidentifywhenpeoplearedonebecausetheflowofstickynotesbeginstodwindle.
Peoplebeginlookingaroundtheroomandateachother,searchingforsomethingnew.
Categorization
Thereshouldnowbealargepileofstickynotesonthetablewaitingtobesorted.Startby
askingtheteammembershowtheyeachthinkthestickynotesshouldbecategorized.The
mostcommonresponsesIseelooklikethis:
Development
Test
Projectmanagement
Other
Allofthesetypicalresponsesdecomposetheworkbyfunctionalarea,whichmakes
sense.Afterall,peoplehavebeenconditionedtoworkinfunctionalsilos,notincross-
functionalmultidisciplineteams.Unfortunately,categorizingthiswayreinforcesthe
functionalroleswithinateamanddoesnotpromotecross-functionalinteraction.
Additionally,customersandstakeholdersgenerallydonotcareaboutwhatitmeanstobe
donewithdevelopmentortest.Theycareaboutwhatitmeanstobedonewithareleaseto
productionorareleasetomanufacturing.
Ifyougetthoseresponses,challengetheteamtochangeitsfocustocustomervalue.
Remindtheteamthatdeliveringstoriesattheendofasprintandreleasingtoan
integrationenvironmentwherecustomerscanuseandinteractwiththesoftwareprovides
value.Mentionthatthecustomerreceivesevenmorevaluewhenasystemisreleasedtoa
productionenvironmentandofficiallydone.
Afterintroducingthislineofthinking,theresponsesItypicallyseechange
dramatically:
Donewithastory
Donewithasprint
Releasedtointegration
Releasedtoproduction
Oncethecategoriesareidentified,clear,andunderstoodbytheteam,createareasonthe
wallsintheroomtopoststickynotesundereachcategory.
Thisisateamexercise.Eachpersongrabssomestickynotes(preferablyothers’notes)
fromthetableandbeginsplacingeachnoteundertheappropriatecategory.Team
membersshouldnotspendagreatdealoftimewrestlingwithwhethercategoriesareright
orwrong—atthispoint,theyshouldjustgetthenotesonthewall.Sortingthenotes
shouldtakebetween10and20minutes,dependingonthequantityofstickynotes
generated.
Onceallstickynotesareonthewall,haveeveryonetakeafewstepsbackandlookat
thewall.
Thatisalotofstuff.
SortingandConsolidation
Onceeverythingisonthewallandcategorized,it’stimetobeginconsolidation,usingan
approachsimilartothatadvocatedbyMikeCohn[COHN].
Thisisalsoateamexercise.Instructtheteamasfollows.Eachpersonreviewsthe
stickynotesonthewallandlooksforduplicateitems.Duplicatesincludeexactmatches
andsimilarmatches.Forexactmatches,simplytakethetwomatchingstickynotesand
stickthemtoeachothersothatthetoponefullycoverstheoneunderneath,asillustrated
inFigure7-2.Dothisonlywhenitisclearthattheitemsareexactmatchesandthatthe
decisiontomarrythemwillrequirelittlediscussionlaterinthesession.
FIGURE7-2Exactmatches
Forsimilarmatches,havethetopstickynoteoffsettheoneunderneath,asillustratedin
Figure7-3.Thishelpseveryoneeasilyidentifyitemsthataresimilarbutnotexact
matches.Theseitemsrequirefurtherteamdiscussiontodetermineaclearmeaningforthe
definitionofdonecandidateitem.
FIGURE7-3Similarmatches
Forstickiesthatseemtomakenosense,asillustratedinFigure7-4,createanew
categoryofftothesideandnameit“other”orsomethingsimilar.Theteamwillrevisit
theseitemslast.
FIGURE7-4Initiallymakesnosense
Again,havetheteamstepbackandlookatthewall.Theymaystillbeoverwhelmedbut
theyshouldstarttofeelthatthingsareabitmoremanageable.
Onceallnotesareconsolidated,theteamisreadytodiscusswhatthecommentswritten
oneachstickynotemean.Asfacilitator,startwithasetofstickies(Iliketostartwiththe
exactmatches,astheyaretheeasiest),takethemoffthewall,readthemtotheteamand
ask,“Whatdoesthismean?”Oncetheteamanswers,moveon.Ifcertainteammembers
consistentlydonotanswer,askthemdirectlyforconfirmationthattheyunderstandwhata
specificstickysetmeansbeforemovingon.Itisimportanttotimeboxthisactivity.Ifthe
teamcannotcometoconsensus,orevenagreement,shelvetheitemforlater.Ifitis
happeningrepeatedly,invitetheteamtotakeamentalbreak,perhapsbygoingforawalk.
Aftertheexactmatchesarefinished,moveontothesimilarmatchsets.Theseare
managedslightlydifferently.Takethesetoffthewall,readthemtotheteam,andask,
“Whatdoesthismean?”Whentheteamanswers,pickthecardfromthesetthatmost
closelymatchestheteam’sanswerorcreateanewstickytoreflectwhatwasdiscussed.
Afterasetofsimilaritemshasbeendiscussed,theteamshouldbeleftwithonlyonecard
thatrepresentswhatwillbecommittedtoandcommunicatedbytheteam.Throwout
duplicatesorconsolidatethemliketheir“exactmatch”counterparts.Throughoutthe
process,newstickiesmaybecreatedandoldonesdiscarded.Thisiskey.
Lastly,moveontothestickiesthatareanomaliesormakenosense.Usethesame
processofpullingastickyoffthewall,readingit,andaskingwhatitmeans.Followthis
byasking,“Doestheteamneedtoincludethisiteminitsdefinitionofdone?”Iftheteam
respondswitharesounding“yes,”movethestickytoitspropercategory.Iftheteam
respondswithaplainno,tossit.Iftheteamisunsureorhesitant,facilitateadiscussion
thatresultsineitheraresoundingyesortheitembeingtossed.
Ifyourproductownerisintheroomatthistime,shemayhavequestionsastowhy
itemsarebeingtossed.Helptheproductownerunderstandthatwhilethingscanalwaysbe
addedtothedefinitionofdoneatalaterdatewithoutbreakingordamagingtrust,
removingitemsafteritispublishedisdetrimentaltobuildingandmaintainingtrust.
Oncetheteamhasreviewedallstickynotes,understandswhateachonemeans,and
agreesthatallstickiesareintherightcategory,thisportionoftheexerciseiscomplete.
CreationandPublishing
Teamsaregenerallytiredatthispoint.Theentireexerciseisadrainingexperiencebut
veryrewarding.Creatingandpublishingthedefinitionofdoneistheeasiestpart.
Takeadigitalpictureofwhatisonthewallandputitinelectronicformat.Publishthe
definitionofdoneontheinternalteamwebsiteandcreateaposterthatcanbehungforall
tosee.Itservesasareminderofwhatitmeansfortheteamtobedoneandactsasa
powerfulcommunicationtool.Whenstakeholdersask,“Areyoudoneyet?”theteamcan
pointtothedefinitionofdoneandanswer,“Wearedonewithourstoriesandworkingon
ourrelease”—andthepersonaskingwillunderstandexactlywhattheteammeans.
Whatabout“Undone”Work?
Supposetheteamgetstotheendofasprintandsomeitemsdon’tmeetthedefinitionof
donecriteria.Whathappens?Shouldtheygetpartialcredit(whateverthatmeans)for
workcompleted,orshouldtheworknotcounttowardtheteam’svelocity?
Formeit’ssimple.Isuggestyoufollowthismodelaswell:Ifastorymeetsthe
definitionofdone,it’sdone.Ifitdoesnot,thenitisnotdone.It’sprettyblackandwhite.
Discussionsaboutcomplexity,almostornearlydone,oranyotherexcusetosayacertain
storyshouldbeincludedinthevelocityshouldbediscounted.Undoneworkgoesbackto
theproductbacklogforprioritizationbytheproductownerandmaybere-addedtothe
sprintbackloginthefollowingsprint.
KeystoSuccess
Creatingandpublishingadefinitionofdoneaccomplishesthreethings.
First,ithelpsbuildabondbetweenteammembers.Itgivesthemthefeelingthatthey
areallinthistogetherandthatitismoreimportanttodeliverontheirjointcommitments
thantofocusonspecificindividualtasks.
Second,itprovidesclearcommunicationtostakeholders,andbyimplication,drives
downtheriskoftechnicalorotherdebtbeingdeferredtolaterinthecycle.Ifa
stakeholderaskstheteamifthesoftwareworks,andtheresponsebytheteamis,“Sureit
works,butwedon’thaveaninstaller,”theteamhasrackeduptechnicaldebtbecausethe
componentisnottrulydone.Throughthedefinitionofdone,andthroughits
communication,stakeholdersgainaclearunderstandingthatiftheteamsaysitwillbe
releasingtoproduction,theteamwillhavemetaseriesofrequirementsthatareneededfor
sucharelease.Nomorewilldonesimplymeanthatsomethingiscoded.Onthecontrary,
donewillmeanexactlywhatispublishedinthedefinitionofdone.Stakeholderswillcome
toexpectthislevelofqualityandcommitment.
Third,itkeepstheteamontrackandfocused.Whenplanninganiteration,theteamhas
areferencepointastowhatitmeanstobedone.Theguessworkisremoved,enablingthe
teamtofocusondeliveryinsteadofspeculatingaboutwhatcouldbe“ifonlythisorthat
happened.”Thecommitmentismade,published,andadheredto.Thedefinitionofdone
shouldberevisedasneededandrepublished.Whenusedcorrectly,itprovidestheteam
withacommonvisiononhowtoachievetheiteration,release,andprojectgoals.
References
[COHN]Cohn,Mike.2004.UserStoriesApplied.UpperSaddleRiver,NJ:Addison-
Wesley.
[OSBORN01]Osborn,AlexF.1948.YourCreativePower.NewYork:C.Scribner’s
Sons.
[OSBORN02]Osborn,AlexF.1957.AppliedImagination.NewYork:Scribner.
Chapter8.TheCaseforaFull-TimeScrumMaster
OrganizationsoftenhavedifficultytransitioningtoanagileprocesssuchasScrumor
ExtremeProgramming(XP).Evenaftertheygetpastthe“it’safad”or“wecan’twork
likethat”excuses,someintheorganizationstillhavetroublelettinggoofoldideasand
habits.Oneofthemostcommonargumentsteamsfaceisthattheorganizationcan’tjustify
oraffordafull-timeScrumMaster.Organizationsareusedtohavingpeoplewearmultiple
hats,andhavingateamleaderwhodoesn’talsocontributetotheworkoftheprojectis
hardformanytounderstand.
Chapter5,“ImplementingtheScrumRoles,”talkedabouthowScrumMastersdotheir
jobsmosteffectivelywhentheyarefullydedicatedtothatroleanddonotalsoserveas
teammembersorproductowners.Butdidyouknowhavingafull-timeScrumMastercan
actuallysavetheorganizationmoneyinthelongrun?Formore,followSteinashe
explainsthisnotiontohisboss,David.
TheStory
“Ijustdon’tgetit,”saidDavid.“YouareoneofthebestdevelopersIhave.WhyshouldI
sacrificeallyourcodingabilityandmakeyouadedicatedScrumMaster?Can’tyoudothe
coachingbitontheside?FromwhatIcansee,it’sjustaglorifiedreportingjob.”
Steinsighedquietly.Davidwashisimmediatemanager,andwhiletheyhadbeendoing
Scruminthecompanyforsometime,Davidhadalwaysfoughtit.
“I’vetakenthetraining,talkedtoteamswhohavedoneseveraldifferentagile
processes,andreadseveralbooksandarticlesonthis,David,”explainedStein.“Theyall
saythesamething—thatafull-timeScrumMasterisessentialtomakingthemostof
Scrum.”
Davidsneered.“Yoursisn’ttheonlyteamaroundheredoingScrum,youknow.Take
theCollettiproject,forinstance.I’veseenwhatthatScrumMaster,Teresa,does—shejust
schedulesthemeetingsandcollectsdata.Bigdeal.Ineedyouinthetrenches,Stein.You
candoyourreportinginfourhoursaweek.”
Steinwasreadyforthis.“IhearyouandIagree.Icoulddoreportinginfourhoursa
week.Let’stalkabouttheCollettiprojectforasecond,though.Whatkindsof
improvementshaveyouseenfromthatteam?”
“Well,atfirsttheteamgotbetter—about20to30percentfasterthanitwasbefore—but
thenitstalledout.Ihaven’tseenanyofthosehugegainstheconsultantspromisedme.”
“Iagreewithyou,David.TheCollettiprojecthasn’tmademuchprogressafterthe
initialimprovements.ButoneofthereasonsisthatTeresahasn’tbeenallowedtoletgoof
herteammemberrole.Shedoesn’thavetimetodoanyofthethingsScrumMastersare
supposedtodo.”
Steinwenttothewhiteboardandbeganwritingsomeofthekeyfunctionsofa
ScrumMaster.
“ReportingisatoolgoodScrumMastersuse,butit’sonlyacontributingactivitytothe
realthingsScrumMastersaresupposedtodoeveryday,”explainedStein,ashecontinued
towrite.“Thesearejustafewoftheothers,”heexplained.
“Iagreethosethingsareimportant,butI’mnotconvincedthey’reworthremovingyou
fromyourhands-onwork.I’vegottobeabletojustifythecost,”saidDavid.
“I’mworkinguptothat.IndulgemeforaminutewhileIwalkthroughthiswithyou.
Yourememberwhatvelocityisright?”askedStein.
“Yes,theamountofwork,orstorypoints,orsomething,thatateamgetsdoneina
sprint,”statedDavid.
“Closeenough.SomyjobastheScrumMasteristohelptheteamgetitsvelocityup,
whichessentiallydrivesthecostperpointdown,”saidStein.
“Costperpoint?”askedDavid.
“Yes,yousee,thevelocityiscalculatedonthenumberofstorypointsateamdeliversin
eachsprint.Everyteamhasacost,theloadedteamcost.Let’ssaythatmyteamcoststen
grandpersprint,justtokeepourmathsimple.Everysprint,myteamdeliverstenstory
points.Whatisthecostperpoint?”askedStein.
“Athousandbucksperpoint.Sowhat?”askedDavid.
“Well,ifyougivemetimetodoallthethingsonthiswhiteboard,”saidStein,pointing
backtohislist,“Icangetthatcostperpointdowntosomethingmuchclosertofive
hundredtosixhundredfiftydollars.”
“Youmustbejoking.Cutitinhalf?Whatmagicareyougoingtoperformtodothat?”
askedDavid.
“That’swhatmakesthisafull-timejob.Ilookupfromthenoiseofeverydayworkto
seetrends,patterns,problemsthatareblockingtheteamfromgoingfaster.Ifyouhavea
kinkinahoseandthewaterison—howmuchwatercomesout?Notmuch.Ifyouunkink
thehose,thewaterflowsagain.Oneofmyjobsistolookforkinksandthenworkwith
youorotherteamsorHRorseniormanagementtogetthosekinksoutasquicklyas
possible.”
“I’mwithyousofar,”saidDavid.“Keepgoing.”
“Somyotherbigresponsibilityistobuildacohesiveteam.Likeacoachonafootball
team,right?He’snotouttherepassingtheballorrunningplays,ishe?Butdoesthatmean
hehasnothingtodobutrecordthestats?No.He’sleadingtheteam,watchingfilm,
workingoutstrategies,helpingthemembersoftheteamseewheretheyneedtoimprove.
Heliftsteammembersupwhenthey’redownandkeepsthemgroundedwhentheystartto
strayfromtheirgoals.Hefocusestheteamonfundamentalsanddisciplineandjustplain
functioningasaunit.
“TheScrumMasterjobislikethat.I’mstillhands-on.Myhandsarejustbusydoing
otherthings.Ileadandguidetheteamthroughtheprocessallthewhilekeepingahigher-
levelviewofwhatneedstobedone.Iremoveimpediments,keepeveryonefocused,find
waystoimprove,allinthenameofincreasingvelocity.Now,unlikeafootballcoach,I
canhelpoutandwritecodefromtimetotime.ButIwouldonlydothataspartofhelping
theteamwhenitisstuck.It’snotreallypartofmyjob.Makingsense?”askedStein.
“Goodpoints,”saidDavid.“Butyouhaven’texplainedhowthiscostsmeless,yet.”
“Well,ifIdomyjobwell,theteamwillgofasterandgetmoredone,right?Therewill
befewerimpediments,moreteamwork,improvedperformance.Withmeasapart-time
ScrumMaster,we’dperformaboutlikeTeresa’steam.Somyteamwouldgofroma
velocityoftenstorypointstotwelveorthirteen,andyourcostwouldgofromathousand
perpointtosomethingmorealongthelinesofsevenhundredfiftytoeighthundreddollars
perpoint.Withmeonfull-time,we’llstartoutwiththoseimprovementsbutthenquickly
movetoseventeentotwentystorypointspersprint.Sopointsthatusedtocostagrandare
nowcostingyou—”
“Aroundfivehundredtosixhundreddollarspersprint.Isthatrealistic,though?Can
havingadedicatedScrumMasterreallydoubleteamperformance?”askedDavid.
“TheresearchI’vedoneandthepeopleI’vetalkedtosuggestthatit’spossible,butI’m
hesitanttomakethosekindsofpromiseswithouthavingdoneitbefore,”saidStein.
“However,theresearchdoesleadmetobelievethatwecan’treachourtruepotential
unlessI’mworkingonthisfull-time.You’repayingmetoworkontheteamanyway.So,if
havingmeworkasaScrumMasterinsteadof‘inthetrenches’meanswedoevenalittle
betterthanTeresa’steam,wouldn’tyougrantmethatthecostsavingsmakehavingafull-
timeScrumMasterworthwhile?”
“Yes.Ifyoucanshowmethatthisworksandgetsomegoodgainsandimprovements,
andhelpdrivethechangebackintotheorganization,I’llgrantyouanythingyouwant,”
Davidsaid,smiling.“Showmewhatyoucando.”
TheModel
OneofthejobsoftheScrumMasteristoremoveimpediments.Anotheriseducatingthe
Scrumteam(includingtheproductowner),stakeholders,andothersintheorganizationso
thattheteamiseventuallyabletoresolveitsownimpediments.Thisultimatelyresultsin
moreefficientteamsthatcangetmoredone.GoodScrumMastersfunctionastheoilinthe
engine—theyreduceorremovefriction,enablingteamstomovetoahigh-performing
state.
IamoftenaskedhowImeasuretheimpactaScrumMasterhasonateamor
organization,andhowIconvincemanagementto“allow”apersontotakeonthe
ScrumMasterrolefull-time.Myanswer:Startwithratesofimprovementandrelatethatto
dollarsandcents.
Thougheachteamwillhavedifferentvelocities,runadifferentnumberofiterations,
andhavedifferentoverallresults,therateofimprovementonanagileteamfollowsthe
samegeneralpattern.Iwanttowalkyouthroughanexamplewithfictitiousnumbersso
thatyoucanseehowthatpatternforms.Idon’twantyoutogetcaughtupintheexact
numbers,though.It’sthepatternthatmatters—anditisevidentinthetrendlineineach
chartthatfollows.OnceI’veestablishedthepattern,Ishowyousomerealchartsfromreal
teamssothatyoucanseethepatternrepeatitselfagainandagain.
Supposeafictitiousteamisrunningtwo-weeksprintsandisabouttwomonthsintothe
project.Afterfoursprints,theteamisaveragingaround10pointspersprint(seeFigure8-
1).Duringsprint3,theteamcomestotherealizationthatitwantstoaddafull-time
ScrumMaster.
FIGURE8-1Outputpatternforthefirstfoursprints
Afteraddingafull-timeScrumMaster,theteambeginstoseesomeinitial
improvements.Theteamlearnstoworktogetherinanagileway,andtheScrumMaster
startstoremoveimpediments.Theaverageinsprints5through8goesuptoabout12
pointspersprint(seeFigure8-2).
FIGURE8-2Outputpatternforsprints1through8
Torecap,sprintblock1(sprints1–4)hadanaverageof10points.Theteamdidnot
haveafull-timeScrumMasteruntilsprint4.Sprintblock2(sprints5–8)hadanaverageof
about12,a20percentimprovementwithafull-timeScrumMaster.
Whathappensifyourollbacktheclockandworkonthepremisethattheteamnever
addsafull-timeScrumMaster(assumetheteamhasone,butthatpersonissplittingtime
betweenteamtasksandScrumMasterresponsibilities)?Afterthefirstsixsprints,theteam
wouldbegintoplateau,asillustratedinFigure8-3,whichshowsaflatteningtrend.The
teamhaslikelyachieveditsmaximumoutput.
FIGURE8-3OutputwithoutaScrumMaster
Noticethattheteamsputteredout,forwhateverreason.Itcouldbethatthe
ScrumMasterwasdoingtoomuchsprinttask-relatedwork,itcouldbethatthe
impedimentsfacingtheteamcouldnotberesolved,itcouldbethattherewasnocohesive
coreteambutinsteadonlyavarietyofpeopleworkingonvariouspartsofthecode.
Regardless,thisiswheremostteamsendup.TheystartScrum,getsomesmallgains(10
to25percent),andthensputterout.Theybecomefrustratedbecausetheyknowtheycan
domore.Someevenenduprevertingtotraditionaldevelopmentapproaches.
Returntotheoriginalpremise,wheretheteamaddedtheScrumMasteraftersprint3.
Theteamiswellcoachedandisinareasonablysupportiveorganization.Thisteamalso
stumblesabitbutthenrightstheship—afterthefirstsixsprints,theteamtakesonestep
backandthenbeginstoshowsteadyimprovementinsprints11through14,asidentified
bythetrendlineshowninFigure8-4.
FIGURE8-4OutputwithaScrumMaster
Nowwhatyouseeisthattheaveragefromsprint8tosprint14ismorelike15to17
pointspersprint.Sofar,thisteamhasmovedfroma10-pointaverage,througha12-point
average,toa16-pointaverage,a60percentimprovementsofar.
Thisteamisn’tdoneyet,though.Theteamcontinuestoimprove,clearingblocking
issuesandobtainingtraininginmanyengineeringpractices.Theteambeginstoperformat
highlevels,findingtheirsweetspotandhoveringatasustainablepace(seeChapter23,
“SustainablePace,”formoreonthistopic).
ThefinalchartinFigure8-5showsanaverageof24pointspersprintfromsprints15to
23.Theteamthentopsoutatanaveragevelocityof28forthenextfivesprints,sprints24
through28.Thetrendlineflattenseventually,butatamuchhigherlevelthantheteam
withoutafull-timeScrumMaster.
FIGURE8-5Outputpeak
Table8-1summarizestheimprovements.
TABLE8-1SummaryoftheImprovements
Improvedvelocityisgreat.Buttohelpbringthepointhometoyourmanager,youneed
toputitintermsofcostperstorypoint.
Teamsgenerallyhaveaflatcostthatcanbeeasilyidentifiedbytheemployeeloaded
cost.Consideramodelwherethenumbersareroundedbutarebasedonanactual
company(seeTable8-2).
TABLE8-2EmployeeLoadedCosts
Whatyouseehereisthatanemployee’scostaddsuptoaboutdoublehisorhersalary.
Soifyouhaveanemployeeloadedcostof$200,000(rounding),andthatemployeehas
about47workingweeksavailable(52weeksavailableminus3forPTO,minus2for
governmentholidays),thenthatemployeehas1,880hoursavailabletowork.At$200,000,
thatcomesouttojustunder$107/hrincosttothecompany.Nowcompaniesdoneedto
makemoney,especiallyconsultingcompanies,sotheyoftenmarkupwhattheycharge
theirclientsfortheiremployees’time,sayto$150or$225anhourdependingontheskill
setoftheemployee.Butjustusetheactualcostforthisanalysis.
Now,youhavethecostperpointandknowwhatitcostsperhourforoneemployee.Ifa
teamcanbustout10pointspersprintandtheloadedteamcostisabout$440anhour
(teamoffourpeopleatarounded$110anhourloadedcost),theteamcosts,persprint,
$35,200($440times80hoursforatwo-weeksprint).Thisassumesadedicatedteam
workingononeprojectandthatthetimespentonnon-project-relatedtasksisstillaloaded
costontheproject.
Ateamcosts$35,200persprint.Table8-3showshowallthismapstoTable8-1.What
youseehereisthatthisfictional,well-coachedteam,withafull-timeScrumMaster,over
thecourseofeightsprints(4months),reduceditscostperpointby17percent.
TABLE8-3SummaryoftheImprovements
Overthecourseof14sprints(7months),thesameteamwasabletoreducethecostper
pointby38percentfromthestartandincreasevelocityby60percent.Overthecourseof
28sprints(14months),theteam’scostperpointwasreducedby64percent,aresultofthe
team’s180percentimprovementfromthebeginning.
Now,Ijustmadethesenumbersuptoshowyoutheoverallpattern.Canrealteams
expectthissamekindofimprovement?Yes.Realteams,withfull-timeScrumMasters
whoareengagedincoachingtheteam,management,andthestakeholders,andwhoare
activelyremovingimpediments,cananddoexhibitastrikinglysimilarpattern.I’llnow
showyousomerealteamsandrealdata.Itypicallycapturetensprints’worthofdata
becauseafterabouttensprints,thereisenoughtoseeiftheteamisgoingtosucceedordo
poorly.
ThefirstexampleisshowninFigure8-6.Noticethatthoughthenumbersaredifferent,
thepatternisthesameasinthechartspresentedearlierinthechapter.Figure8-7presents
anotherexample.Noticethatthoughthischartreflectstheperformanceofadifferent
team,thepatternisalmostidenticaltothepreviouschart.Notethatinbothexamples,the
teamfailedasprint.Figure8-8showsachartfortheteamthatfailedasprintbydelivering
zeropoints,andstruggledallthewaythroughsixsprintsbeforeimprovingdramatically.
FIGURE8-6Outputfromarealteam
FIGURE8-7Outputfromanotherrealteam
FIGURE8-8Actualnumbersfromateamthatstruggled
Therealteamsyouseeintheseexamplesallhadvaryingstartingpointsandsustained
velocities,butineachcaseyoucanseeaquickrise,followedbyashallowdip(wherethe
teamwasindangerofstagnating),followedagainbyasharpriseandagradualincreaseto
highsustainablepace.
Sowhydidtheseteamsachievetheseimprovementswhileotherssputterout?The
reasonsfortheinabilitytogrowareasplentifulasthenumberofagileteams.Somefailto
implementengineeringpractices,othersdon’tlearntoworkasatruecross-functional
team,stillothersstrugglewithorganizationalblockers.WhileIcannotsayforcertainwhat
causedtheteamsshowninthesechartstoachievetheirresults,Idoknowthatallthese
teamshadfull-timeScrumMasterswhowerefocusedonclearingimpedimentsand
maximizingteamefficiency.
Don’thandicapyourScrumMasters.Staffingfull-timeScrumMastersgivesthemthe
abilitytorealizetheirtrueroleofteamcoachandadvocate.Anditallowsteamsthe
opportunitytoreachtheirfullpotentialaswell.
KeystoSuccess
ThejobofScrumMasterisreal.Itcanhaveabigimpactoncosts,asillustratedpreviously,
savingthecompanymoney—period.ButwhatdoesaScrumMasterdoalldaytojustifya
full-timerole?Thefollowinglistencompassesmost,butnotall,oftheday-to-daytasks.
Removeimpediments/resolveproblems
Breakupfights/quarrels
Actasateammom
Reportteamdata
Facilitate
Helpoutwhereneeded
Educatetheorganization
Driveorganizationalchange
In2007,MichaelJamespublishedagreatchecklist(seetheURLinthereferences
section[JAMES]).Ifthelinkisbrokenbythetimeyoureadthis,searchfor“ScrumMaster
ChecklistMichaelJames”inyourfavoritesearchengine.
RemoveImpediments/ResolveProblems
Removingimpedimentsanddealingwithproblemsarealwaysatthetopofthelist
because,especiallyearlyinaproject,therearemanyissuestodealwith,bothexternaland
internal.Manychaptersinthisbookareaboutremovingimpediments—runningagood
dailyscrum,havingpeopleshowupontime,andsoon—buttherearemorethanjust
team-centricimpediments.Impedimentsorproblemsfoundbyteamsinlargecompanies
couldbethatanotherteamdoesnotrespondinatimelyfashion,yourteamneedsto
understandhowaninterfaceworksandthepeoplewhowroteitarenotavailable,oryou
havesomeoneoutsickforafewdays.Youalsohavetointerfacewithmanagement,doing
everythingfromconvincingthemthatanagileprocessisworthwhiletoremindingthemof
thefactthatyourjobisfull-timetopavingthewayforbonusesbasedonteam,ratherthan
individual,performance.Finally,ScrumMastersworktohelptheteamsolveitsown
problemsandremoveitsownimpediments.AgoodScrumMastershouldstrivetowork
himselfoutofajobbycreatingahigh-performingteam.Forsome,thismaybeimpossible
toachieve,butitshouldalwaysbethegoal.
BreakUpFights/ActasTeamMom
Peoplearehuman.Sometimestheygetinweirdmoods,don’tgetenoughcoffee,havea
badnight’ssleep,orjustseesomethingthatsetsthemoffinabadway.Oneday,my
youngestdaughter,Emma,whowassixatthetime,couldnotdecidewhatshirttowear
andthoughteverythingshepickedoutlookedterrible—shelostit.MywifeandIhadto
bringherbacktoreality.
I’vehadperfectlyrationalteammemberswhocometoworkonedayandloseitovera
challengetotheirideas.Talkingthemofftheledgetakespatienceandpeopleskills.Good
ScrumMastersneedtohavethesoftskillstointervenewhennecessaryandtheemotional
intelligencetoknowwhenit’sbettertostayoutofitaltogether.
ReportTeamData
TheScrumMasterneedstohelptheteamimprove.Oneofthewaysthisisdoneisthrough
reporting.AgoodScrumMastertrackstheteam’shistoricvelocities,burndownrates,and
manyotherproject-relatedmetrics.ThisisdonenotonlytoassisttheScrumMaster’sown
teaminimprovingitsestimationandsmoothingtherateatwhichstoriesarecompleted
duringasprintbutalsotohelpotherteams(especiallynewones)intheorganizationas
well.
Theimportantthingtorememberisthatreportingteamdata,eitherinternallytothe
teamorexternallytomanagement,doesnotmeanyouarecollectingdatatoholdagainst
theteam.Instead,youareprovidingvisibilityintodatathattheteamneedstoseeand
understandtoimprove.
FacilitateandHelpOutWhereNeeded
FacilitatehasitsrootsintheFrenchwordfacile,whichistomakethingseasy.Thejobof
theScrumMasteristomakeiteasierfortheteamtoachieveitssprintgoal.
ManyScrumMasterswronglyassumethatthebestwaytofacilitateistojustdothe
work,whichisnotthecase.Facilitationisnotsolvingotherpeople’sproblemsordoingit
forthem:it’smakingthingsrunmoresmoothly.Thegoaloffacilitationshouldbetohelp
theteamanalyzeandgetabetterunderstandingofthesystemandtheproblemsathand.
ThejoboftheScrumMasterisnottoprovideanswersortodoeverythingfortheteam,
butratheritistohelppeoplegettotheanswersthattheymayalreadyknow.It’slike
teachingamantofishsohecansustainhimselfversusjustgivinghimafisheverytime
he’shungry.GoodScrumMasterspracticeafacilitativeformofcoachingcalledservant
leadership.JeanTabaka,inCollaborationExplained,sumsthisupnicely.
Simplystated,theservantleaderasleaderdrivestoservethegroupfirst.Leadership
evidencesitselfinservantleadersthroughtheiruseofpower;thatis,inapositionof
strength,theydeterminethatthegreatestpowertheycanwieldisinservicetotheir
teamsasleader.Fortechnicalleads,teamleads,andprojectmanagerswhohaveused
powertocontrolversusserveteams,thisparadigmshiftcanseemantitheticaltotheir
role.Ultimately,however,asevidencedintheagilesoftwaredevelopmentcontext,a
shifttothisalteredstyleofleadershipreapsthegreatestrewards.[TABAKA,p.18]
Now,theremaycomeatimewhenyouneedtohelpouttocompleteatask.Helpingout
isokayonoccasionaslongasyoudon’tforgetthatitcanhinderyouinyourroleas
ScrumMaster.AsI’vementionedinpreviouschapters,astheScrumMasteryouneedto
seetheforest,notjustthetrees.Teammembersarelookingatthetreeinfrontofthem.If
youstarttohelpoutwithtasksandstories,youtoowillbegintoseeonlythetrees,
potentiallycausingyoutomisslargerthingsorimpedimentsthatarenegativelyimpacting
theteam.
Whenyoudohelpout(andIknowyouwill),rememberthatdoingsomustbethe
exceptionratherthantherule.Whiletheteammembersmightkickandscreamwhenyou
refusetohelpmoreoften,remindthem(andyourself)thatyouarenothelpingfortheir
owngood.Iftheystartrelyingonyoufortoomuchandyouimpacttheirvelocity,you
havejustdonethemadisservicebyartificiallyinflatingit.Thelinebetweenhelpinga
teamandhurtingitisafineone.Oneexampleofthiscouldbethattheteamhas
overcommitted.IftheScrumMaster“helpsout”bydoingsomeworkitemsonthesprint
backlog,therebyenablingtheteamtomeetallormostofitscommitmentstotheproduct
owner,thedamageisdone.Theteamwillnotlearnwhyitendedupinthissituationand
willlikelyrepeatitagain.Thegoalhereisfortheteamtolearn,notfortheScrumMaster
tobailouttheteam.
EducatetheOrganizationandDriveOrganizationalChange
“Ifyouwanttomakeenemies,trytochangesomething.”Thatquote,commonlyattributed
toformerUnitedStatesPresidentWoodrowWilson,definitelyappliestothesetwo
ScrumMastertasks:educatetheorganizationanddriveorganizationalchange.It’stoughto
convincepeopletotrysomethingnewbecausechangeisfrightening.Ifindthatwhennew
concepts,policies,ormethodologiesarebeingintroducedinsideanorganization,people’s
firstresponseistowonderhowitwillaffectthem.Willtheirjobsbesafe?Willtheybe
abletoprovidefortheirfamilies?Othersopenlyrebel,refusingtoconsiderthenewway
becausethestatusquo,asbadasitmightbe,isbetterthantheunknown.
AgoodScrumMasterfindsawaytointroducenewideasandinitiatechangewithout
shockingpeople’ssystems.Forexample,afriendofmineisrunningforthelocalschool
board.He’snotgoingtojustwaitandshowuponelectiondayandaskpeopletovotefor
him.Instead,he’srecruitingpeople,likeme,tohelpwithhiscampaign.Thatcampaign
willintroducethevoterstohimandtohisideas,andeventuallyattempttoconvince
peoplethatheisthebestchoiceforthepost.
AsaScrumMaster,youshouldhaveastrategiccampaignforeducatingthe
organization.Consideryourtimelineforrollingitout,whereyouwanttobeandwhen,
andwhomyoucanrecruittohelpbringinyourmessage.Oncethemessageissent,
hopefullyinmultipleformats,youwillbeabletobringpeopleovertoyourwayof
thinking.Asaresult,theywillbeopentohowyouareworkingandwhatyouarebuilding.
Intheend,thejoboftheScrumMasteristwofold:tohelpbuildteamsandtohelpthe
organizationbecomesuccessful.Toreadmoreaboutgettingpeople,andorganizations,on
boardwithScrum,seeChapter2,“GettingPeopleonBoard.”
InSummary
It’stoughtojustifyyourjob,especiallywhenitmightnotbeajobyou’vedonebefore.
WhenapproachingyourmanageraboutmakingtheScrumMasterroleafull-timeone,be
suretohaveacoolheadandagooddealofammunition.
Comearmedwithasmanyfactsasyoucangetyourhandson.Bringdatashowingthe
improvementrealizedbyteamsinyourorganization.Ifyoudon’thaveanyfromyourown
company,bringdatashowingimprovementsinotherorganizations.Relatethose
improvementstothecostperpoint.
Bepreparedtoremindmanagementofthereasonsteamsuseagileprocessesinthefirst
place:lowercosts,reducedrisk,happieremployees,moresatisfiedcustomers,andan
increasedabilitytorespondtochange.
References
[JAMES]James,Michael.2007.“ScrumMasterChecklist.”
http://www.scrummasterchecklist.org/pdf/scrummaster_checklist09.pdf(pulledon15
November2009).
[TABAKA]Tabaka,Jean.2006.CollaborationExplained.UpperSaddleRiver,NJ:
Addison-Wesley,p.18.
WorkConsulted
Benefield,Gabrielle.2008.“RollingOutAgileinaLargeEnterprise.”Proceedingsofthe
AnnualHawaiiInternationalConferenceonSystemSciences(1530–1605),p.461.
PartII:FieldBasics
Chapter9.WhyEngineeringPracticesareImportantin
Scrum
Scrumdoesnottalkaboutengineeringpractices.Assuch,youmightassumethat,likea
Jedimaster,youareexpectedtousetheforcetostartthesprint,committothework,and
thenmagicallymakeitappear.You’renot.ButScrumdoesexpectthatastheteambegins
toworkinanagilemanner,itwillsoonrealizethatgoodengineeringpracticesare
essentialtobecomingahigh-performingScrumteam.Engineeringpracticesarethemagic,
theforce,thepixiedustneededtogetthingsoutthedoor.Idonotattempttodefineallthe
engineeringpracticesthatyouneedtoimplementonyourScrumprojects—thereareother
booksforthat.WhatIdotrytoconveyinthischapter,however,iswhyyouneed
engineeringpracticesandhowtheycanhelpdevelopmentteamsovercomesometypical
obstacles.
IstartwithastoryaboutPatrick,adeveloperbytradewhomovedintoproject
managementatanewcompanyandgotalittlelessthanhebargainedfor.
TheStory
WhenPatrickacceptedhisnewjobatHelix,hewasexcited.Helixhadagreatreputation,
afabulousproducthistory,andhadlongbeenPatrick’sdreamcompany.Patrickcould
hardlywaittogetstartedinhisnewroleasScrumMaster.True,he’dbeinheritingateam,
buthehadbeentoldtheteamwasusingScrum,aframeworkPatrickwasveryfamiliar
with,havingusedScrumandExtremeProgramming(XP)fromboththemanagerand
developerperspectives.Andhewassure,sincetheteammembershadbeentogetherfor
sometime,thatthey’devolvedintoafairlyhigh-performingteam.
Patrickwasinforarudeawakening.
Onhisfirstfulldayonthejob,Patricksatdownwiththeteammembersindividuallyto
gettoknowthemandseehowtheirprocessesworked.HisfirststopwasNiall,reputedto
beoneofthebestcodersontheteam.
“So,Niall,”saidPatrick.“I’vebeenwatchingyouworkforawhile.You’reasgooda
coderaseveryonesays.I’msurprised,though,thatyoudon’tseemtousetest-driven
development.Whynot?”
“Toomuchup-frontworkandtoomuchthrowawaycode,”Niallresponded
offhandedly.“It’skindofawasteoftime.We’veonlygotsixmonthstogetallthisoutthe
door,”hesaidpointingtothewallfullofindexcards.
“Sure.TDDmighttakesomeextratime.Andthereisusuallyextracode,butthedesign
thatemergesismuchcleaner,andwhenyouencounterissuesanderrors—”saidPatrick
beforeNiallinterruptedhim.
“We’vegotadebuggerandacross-functionalteamthatincludestesters,”saidNiall.
“Weaddanybugswefindtothenextsprintandsolvethemaswefindthem.Asfor
design,wehadalotofdesignmeetingsupfront,sothat’sanonissueforus.”
“SoyourissuewithTDDisextratime,correct,Niall?”askedPatrick.
“Yes,Idon’thaveenoughtimetodoit.Weneedtocrankonthecode!”exclaimed
Niall.
“Whataboutwhenyouaredealingwithbugs?Howdoyouknowwheretolook?”asked
Patrick.
“Iusethedebuggertofindtheissues,”statedNiall.
“Whatdoyouconsiderallthetimeyouspendinthedebugger?Isn’tthatextratime,
too?”challengedPatrick.
“Well,Iguess.I’veneverthoughtaboutitthatway,”Nialladmitted.
Patricknodded.“Onemorequestion.Inoticedthathereyouwrotesomecodetocreate
drop-downboxes.What’stheacceptancecriteriayou’retryingtofulfillwiththat?”
Niallsmiledconspiratorially.“Noonehasaskedforityet.Butoncetheyseehowit
works,Ithinkthey’rereallygoingtolikeit.Iliketogivethecustomersalittlesomething
extra.Itgetsthemexcitedaboutthefinalproduct.”
“Yourheart’sintherightplace,butit’sthewrongthingtodo,”saidPatrick.“Wehave
towritejustenoughcodetosatisfythestory.Nothingmore.Nothingless.We’vegottoo
muchtodotospendtimegold-platingthesoftware.Andjustthinkofthetimeitwould
freeuptodothatTDDweweretalkingabout.Thinkaboutit.We’lltalkmorelater.”
PatrickmovedontoClaire,anexperiencedteammemberwithareputationforfinishing
herworkquickly.
“Thismorninginthedailyscrum,youmentionedthatStory1822wasdone,right?”
“Right,”Clairereplied.
“SowhatifIaskedyoutoproveittome?Whatwouldyoudo?”askedPatrick.
“Well,itworks.See?”answeredClaire,givingPatrickaquickdemo.
“Right.ButwhataboutallthethingsIcan’tsee?Isitcheckedinyet?”
“No.I’mplanningtodothatlater.I’mdemoingitonmyownmachine.”
“Howoftendoyoucheckin,Claire?”
“Itrytocheckinonceaday,butit’smoreliketwotothreetimesperweek.”
“Ifyoucheckinthatinfrequently,howdoyouknowthatyourcodeisn’tbreaking
anythingelse?”
“Ummm.IguessI’llfindoutatcheck-inanddealwithitthen.Itusuallyisn’ta
problem.”
“Dootherteammemberscheckintwoorthreetimesperweekalso?”
“Yes,”saidClaire.
“Sorightnow,andmaybeevenwhenwecheckin(ifalltheothers’codeisn’tchecked
inyet),wedon’treallyknowifastoryisdone,dowe?”askedPatrick.
“Weknowit’swritten.Weknowit’sworking,”respondedClaire.
“I’vealsonoticedthereisnocontinuousintegrationserver,anditappearsthattheteam
membersdon’tsharealotofcodewitheachother,”saidPatrick.
“WekeepmeaningtosetupaCIserver,butwedon’thavetimeorfundingforit,”said
Claire.“Iknowweneedtosetitup,andweneedtofollowmorerigorousengineering
practices,butwe’reundersomuchtimepressure.Withmanagementbreathingdownour
necks,doingtherightthingisalmostimpossible!”
Abitworriedbytheattitudeoftheseniorteammemberstowardwhatheconsidered
basicengineeringpracticeslikeTDD,staticcodeanalysis,sharedcodeownership,and
continuousintegration,Patrickspentthenextthreedayslookingatthebacklogand
burndownchartsanddiggingaroundinthecodetoseewhatothertrendshecouldfind.He
lookedattheacceptancetestframeworkthattheteamhadimplementedandsawthatit
hadnotbeenupdatedatallduringthesprint.Helookedatthesizeofthecheck-ins,often
1,000linesofcodeormore.Henoticedthattheteamtendedtoleaveoneortwostories
unfinishedalmosteverysprint.Healsosawfromtheburndownthattheyoftenhadalotof
workinprogressuntilquitelateinthesprint.What’sworse,hefoundnothingrelatedto
goodcodingpractices—variouspartsofthecodewerewrittenindifferentstyles,there
werefewcommentsinthecode,andoverallitjusthadapoorstructure.
Patrickwasshockedwithhowfewbasicengineeringpracticestheteamhad
implementedandthenumberofbugsthatcontinuedtopopupineverysprint.Hisbig
concernwashowtheywouldreleaseaqualityproduct,ontime,withoutmakingsome
seriouschanges.Hethoughtbacktoacoupleofprojectssomecolleagueshadworkedon
athislastcompany—projectsthathadslippedbymonthsbecauseoflargearchitectural
issuesthatwereidentifiedlate.Heneededtheteamtounderstandwhythesepractices
wereworththeeffort.Afterthinkingforsometime,hecameupwithaplan.
Thesprintended,andafterthedemotheteamgatheredintheconferenceroomforthe
sprintretrospective.Whiletheywerefilteringin,Patrickquietlytapedtwobigsheetsof
paperuparoundtheroom.Theretrospectivestarted.Patricknoticedthattheaccepted
formatseemedtobeforeveryonetotaketurnstalkingaboutwhathadgonewellandwhat
couldgobetter.Perfect,hethought.Hegotupastheybegantalkingandbeganwriting
downafewofthethingstheteamwassayingononeofthesheets,whichhelabeled
“StuffGoingWrong.”
Whentheteamhadfinishedtalking,Patrickmovedtothenextsheetofpaper.He
labeledit“StuffWeCanDotoFixIt.”
“So,team.I’vetalkedtoeachofyouindividually.I’velookedthroughthecode.I
imagineyouhaveproblemsliketheseeverysprint,right?”
“Sure,”saidNiall.“Butwe’regoingtohaveproblems.There’snoblamehere.”
“Notblaming,”saidPatrick.“Justwondering.Isthereanythingwecandoaboutit?”
“Notifwewanttokeepupthispace,”saidClaire.
“That’sinteresting.Let’stalkaboutpace.Tome,alltheseproblems,”Patrickpausedto
pointtothesheetfullofissues,thencontinued,“theseissuesthatkeeprecurring—theyare
slowingyoudownthemost:bugs,gold-plating,findingpoorcodebutleavingittofester
until‘someone,someday’fixesit.Wehaveadeadlinetomeetandrightnow,letmetell
you,we’renotgoingtogetthere.We’vegottoinvestsometimeingettingbettersothat
wecangofaster.”
Helettheteamsoakthatinforafewseconds.
“Sowhatarewegoingtoinvestin?”askedPatrick.Thenhesatdownandletthesilence
growuncomfortable,waitingfortheteamtorespond.
“IseestuffeverydayIwishIhadtimetofix,”saidoneoftheteammembers.“Soone
thingwecoulddowouldbetoincludesomerefactoringtasksineachsprint.”
“Good,”saidPatrick,standinguptowriteitonthepaper.“Whatelse?”
“Test-drivendevelopment,”saidNiall,inalow,resignedvoice.“Irealizeit’stheright
thingtodo,butit’llslowmedown.”
Patricknoddedbutwroteitanyway.“Maybeatfirst.Butwe’llmorethanmakeupfor
thatbycreatingfewerbugsandspendinglesstimefindingandtrackingtheonesthatdo
slipthrough.”
“Continuousintegration,”saidClaire.“Andmorefrequentcheck-inswillbothreally
help.Thatdoesn’ttakethatmuchtimeonceit’ssetup.It’sjustnotahabit,andwedon’t
havethetoolsrightnow.”
Patrickwroteit.“Yep.Toolsareeasywhencomparedtohabits.It’schangingthehabit
that’llbehard.”
Theteamwentontomentionpairprogramming.
“AndpairprogrammingandTDDwillhelpensurethatwebuildonlywhatisnecessary,
whichwillultimatelyincreaseourvelocityaswell,”saidPatrick.“Clearly,youknowwhat
youshouldbedoing.Sowhyaren’tyoudoingit?”
Theteamwentontolistseveralobstaclestoadoptingengineeringpractices,including
lackofknowledgeandfearoftheunknown.Theydiscussedeachobjection,withPatrick
providingtherationaleforatleastgivingitatry.Intheend,theyagreedtoanew
definitionofdone,whichwouldnecessitateimmediatelyimplementingcertain
engineeringpractices.
Theteamdecidedtoimplementothernewpracticesoneatatimeinsubsequentsprints.
Inturn,Patrickagreedtodiscusstheirplanwithmanagementandexplaintothemwhythe
team’svelocitymightdropforasprintortwowhiletheyinvestinpracticesthatwould
ultimatelyhelpthemgofaster.
“We’vegotalongwaytogotogetfromheretothere,”finishedPatrick.“ButIpromise
oncewestartworkingthisway,youwon’twanttogoback.ThefirstthingIwantusallto
doisstartchallengingeachother,everyday,toproveit.Proveit’stested,proveit’snot
goingtobreakthebuild,proveit’sdone.That’llgetusalongwaytowardwherewewant
togo.”
ThePractices
Thechallengesinthischapter’sstoryarenotuncommonwithteamsnewtoScrum.It’s
easytogetfocusedondoingScrumrightandnevergetaroundtoimplementingthe
engineeringpracticesnecessarytobecomeatrulyhigh-performingScrumteam.Patrick’s
solutionwastoworkwiththeteammemberstomakevisiblewheretheywerefalling
short,toshowthemhowitwasslowingthemdown,andtoconvincethemthatinvesting
inbetterpracticeswouldbothsolvetheirissuesandincreasetheirvelocityaswell.Patrick
andtheteamagreedtoimplementthefollowingkeyengineeringpractices:
Implementingtest-drivendevelopment(TDD)
Refactoring
Continuousintegrationandmorefrequentcheck-ins
Pairprogramming
Automatedintegrationandacceptancetests
Alltheseengineeringpracticesmeanmoreworkupfront.Youwillrecoverthetime
laterthroughefficiency,improvedquality,andcodestability.Whatisoftenforgotten,
however,isthatthesearenotsilverbullets.Doingoneordoingthemallwillnotguarantee
yousuccess,buttheywillgetyoufartherawayfromfailureiftheyaredonewithdiligence
anddiscipline.
ImplementingTest-DrivenDevelopment
Contrarytowhatthenameimplies,TDDisnotatestingprocess.It’sasoftwaredesign
techniquewherecodeisdevelopedinshortcycles.YoucanthinkoftheTDDprocessas
Red,Green,Refactor.Thefirststepistowriteanewunittestwithoutwritingthe
necessarycodetomakeitpass.Obviously,whenyourunthattest,itwillfail:Thisisthe
redstate.Thenextstepistowritenewcode,justenoughtomaketheunittestpass,orturn
green.Whenthetestpasses,thecodeisworking.Thefinalstep,whichcanoccurmultiple
times,istorefactor.Thenextsectiontalksmoreaboutrefactoring,butinTDDit
specificallyreferstoremovingany“codesmells,”elementsthatmightnotbeoptimized,
well-designed,oreasytomaintain.Designchangescanoccurduringthisphaseaswell
(alsocalledtest-drivendesign).Duringrefactoring,thecodeischanged,butallthewhile,
thetestsmuststaygreen,orcontinuetopass.Theprocessthenbeginsagainfromthe
beginning,writingnewtestsandnewcodeuntilthestoryiscomplete.
I’mnotgoingtoattempttoteachyouTDD;otherbooksdoagoodjobofthat,andI’ve
listedtheminthereferenceswiththischapter.WhatIwantyoutoknowiswhyTDD
helpsaScrumteamandhowyoucanhelpyourownteamreachtheconclusionthatTDD
isthebestchoiceformeetingsprintgoalsatahighvelocity.
ImplementingTDDisakintoweavinganet.Eachautomatedtestbuildsonthenext,
formingasafetynetofautomatedunittests.Considerthehigh-wireactatthecircus.The
personhundredsoffeetabovetheground,tryingtobalanceonathinwire,cantakethe
riskshedoesbecauseheknowsthatifhefalls,thenetwillsavehim.Ateammightchoose
towalkthehighwirewithoutasafetynet,butiftheteamfalls,itcouldtakedays,maybe
weeks,torecover.Yes,morecodeiswrittenwithautomatedunittests,and,yes,
sometimesthereismorethrowawaycode.Inmanycases,though,thereduceddebugging
timemeansthatthetotalimplementationtimeisactuallyshorter.
In2008,researchersfromMicrosoft,IBM,andNorthCarolinaStateUniversity
publishedapaper[NAGGAPAN],lookingatthebenefitofTDDinteams.Theylookedat
threeteamsfromMicrosoft(oneofwhichIhappenedtobeworkingonatthetime)and
oneteamfromIBM.Theyfoundthatallteamsshowed“significant”dropsindefect
density1:40percentfortheIBMteamandbetween60percentand90percentforthe
Microsoftteams.TheincreasedtimetakentofollowTDDontheseprojectsrangedfrom
15percentto35percent.Thisinitialdecreaseinvelocityiscompensatedforbythe
increasedstabilityandmaintainabilityofthecode.
1.Definedinthepublished[NAGGAPAN]paperas“Whensoftwareisbeingdeveloped,apersonmakesanerrorthat
resultsinaphysicalfault(ordefect)inasoftwareelement.Whenthiselementisexecuted,traversalofthefaultor
defectmayputtheelement(orsystem)intoanerroneousstate.Whenthiserroneousstateresultsinanexternally
visibleanomaly,wesaythatafailurehasoccurred.”
ByfollowingTDD,youwillbelessreluctanttoimplementachangethatisrequiredby
akeystakeholderorcustomer,evenlateintheproject.WithoutTDD,thesekindsof
eleventh-hourchangesareconsideredtooriskybecausetheteamcan’tpredictthe
ramificationsofthechange(coupledcode),andthereisn’ttimetotestallthepossibleside
effects.WithaTDDsafetynetinplace,theriskissubstantiallylessened,soteamsfeel
confidentthattheycanmakerequiredchanges,nomatterwhentheyoccurintheproject.
Goodversioncontrolpracticesalsohelptoincreaseconfidence.Iftherefactoringgoes
horriblyawryorbreakstoomanytests,youcaneasilyrollbacktoaknowngoodpoint.
Anecdotally,intheprojectsthatI’verunandonteamsthatI’vecoached,Ihavefound
thatTDDsignificantlystreamlinesthewritingofcode,helpspreventanalysisparalysis,
minimizesimpediments(likespendinglotsoftimeinthedebugger),andgivesteamsthe
pricelessgiftofpeaceofmind.Forthesereasons,TDDisessentialforteamsthatwantto
growtobehigh-performingScrumteams.And,remember,thecompileronlytellsyouif
yourcodeobeystherulesofthelanguage;yourtestsprovethatyourcodeexecutes
correctly.
Refactoring
Refactoringistheactofenhancingorimprovingthedesignofexistingcodewithout
changingitsintentorbehavior.Theexternalbehaviorremainsthesame,whileunderthe
hood,thingsaremorestreamlined.
Howdoyouknowwhenyouneedtorefactoryourcode?Whenitbeginstosmell.It’s
besttofollowtherulesofGrandmaBeck:“Ifitstinks,changeit”[FOWLER01].Her
commentwasinrelationtodiapers,butitappliesequallyaswelltocode.Acodesmellis
aseeminglysmallproblemthatissymptomaticofadeeperissue.JeffAtwoodlistssome
commonsmellsina2006blogpost,breakingthemoutintosmellswithinclassesand
smellsbetweenclasses[ATWOOD].
Table9-1presentsafewofmyfavoritesfromAtwood’slist.
TABLE9-1SampleofCodeSmellsfromJeffAtwood
Thesemightseemlikebasiccodingstandards,yettheyaretoooftenleftundone.
Whenshouldyourefactor?Refactoringcanbeperformedatanytimeduringasystem’s
lifecycle,wheneversomeoneisworkingonlegacycode,seesapieceofcodethatcould
beimproved,noticesthesystemactingsluggish,orifbugsstartpoppingupinaparticular
sectionofthecode—basicallywheneversomeonenoticesasmell.
Rememberthatrefactoringcodedoesnotmeanrewritingthecode.Instead,torefactor
istooptimizethecodewithoutchangingtheintentofthecode.RobertMartin[MARTIN]
hasasetofprincipleswiththeacronymSOLID,inwhichhetalksaboutthefirstfive
principlesofclassdesign(seeTable9-2).
TABLE9-2RobertMartin’sSOLIDOODClassDesignPrinciples
Whyshouldyourefactor?Simplyput,it’saninvestmentinyourcode.Ananalogy
mightbedoinglittlethingseverydaytohelpkeepyourhouseclean.Ifyouwalkinthe
housewithdirtyshoesonyourfeetonaregularbasis,yourhousewillgetdirtierfaster.If
youthrowyourdiscardedwrappersonthecounterratherthaninthegarbagecanbecause
you’reinahurry,inafewdaysyou’regoingtolookupandfindacounterfullofwrappers
thatyou’llhavetoclean.Refactoringislikecleaningupafteryourselfalittlebiteachday
—sometimesyou’llcleanmore,sometimesless,buttheimportantthingisthatyou’re
cleaningonaregularbasisandnotwaitingforittopileuporforsomeoneelsetodoit.
ContinuousIntegrationandMoreFrequentCheck-Ins
Withdiscipline,continuousintegrationcantakeaScrumteamfromsomewhatgoodtojust
plainawesome.MartinFowlerdefinescontinuousintegrationbest[FOWLER02]:
ContinuousIntegrationisasoftwaredevelopmentpracticewheremembersofateam
integratetheirworkfrequently,usuallyeachpersonintegratesatleastdaily—leading
tomultipleintegrationsperday.Eachintegrationisverifiedbyanautomatedbuild
(includingtest)todetectintegrationerrorsasquicklyaspossible.
Continuousintegrationenablesustohavequickerfeedbackloopsonthecode.Instead
ofcheckinginathousandormorelinesatonetime,eachpersonorpairmightcheckina
hundredorsolinesofcodeatonce.Theyalsocreatealocalbuildbeforecommitting
changestothelargerbranch.Boththelocalbuildsandthemainbuildshouldbefully
automated,meaningthepersonsubmittingthecodecan“clickandforget,”whilethebuild
machinerunsasuiteofautomatedacceptanceandunittests.Thesebuildsmightalsorun
staticanalysischecks,verifydesiredunittestcoverage,andsoforth.Oncethecodeisrun
andinthebranch,acontinuousintegrationserverpullseverythingintothebranchand
runsalargersuiteoftests.Becausethecheck-inissmall,thefeedbackloopisshort.
Therefore,itismucheasiertoseewhatbrokethebuildandwhy.
Whyshouldyoucareaboutanyofthis?Letmeassociateitwithreallife.
Headlights—Whydodriversuseheadlightsatnight?Becausetheycanseewhere
they’regoingandotherscanseethem,itreducestheriskofanaccident.Continuous
integrationprovidesthesamebenefit—itshinesalightdownthepathofcode
developmentsothatyoucandeterminewhetheryou’regoingtohitsomething.A
continuousintegrationbuildwarnsyoualmostinstantlyifsomethingisblocking
yourway.
Washingmachines—Whatmakesthemgreat?Theyeliminatetherepetitive,labor-
intensiveprocessofwashingclothesbyhand.Similarly,continuousintegration
reducesall(ormost)manualprocesses.Notonlydoesthisfreeuptimeand
resources,italsohelpsimprovequality.Whenpeopledothingsmanually,thereisan
increasedchanceforvariation.Automatinghelpsensurethatthesametestrunsthe
exactsameway,everytime.Havingautomationinplaceallowsteammembersto
focusonwhatmatters,thesystemunderdevelopment.
GPS—HavingaGPSinyourvehicleallowsyoutoknowwhereyouareandwhere
youaregoingatalltimes.Followingcontinuousintegrationdoesthesamething.It
providesvisibilityintowherethesystemunderdevelopmentiscurrentlyandwhere
itisgoingnext.Thisenablestheteamandtheproductownertoreactinrealtime.
Further,ifteamsaddqualitygatesorcheckssuchasunittestcoverage,teamsare
abletoidentifypatternsortrendswiththecodeandmakenecessarycorrectionsin
timetoalterthesystem’scourse.
Scrummaintainsthatattheendofthesprint,allcodeshouldbepotentiallyshippable,
yetmanyteamsstrugglewithwhatthatreallymeans.Continuousintegrationenables
teamstobuildandreleaseatanytime.Whatdoesthislooklikeintherealworld?Itmeans
goingintoacustomerreviewmeetingandpullingthelatestbitsoffthebuildserverand
installingthem.Nomanualtesting,nohumanvalidation,justpuretrustinthesystem.And
wheredoesthistrustcomefrom?Asteamsdevelopgoodengineeringpractices,their
confidenceintheirsystemsgrows.TDDgivesthemasafetynetandshowsthemwhere
theirerrorsarewhiletheircontinuousintegrationstrategyallowsthemtofullyunderstand
theimpactsofcodechanges.Itisimportanttokeepthebuildinagreenstateandnotgo
homewithabrokenbuild.Whenbreaksdooccur,itisbettertorollbackanychangesat
theendoftheday,gohomeinagreenstate,andfixanyissuesinthemorning.
OneofmyfavoritebooksoncontinuousintegrationisContinuousIntegration:
ImprovingSoftwareQualityandReducingRiskbyPaulM.Duvall.Asstatedbefore,this
isnotabookonsoftwaredesignorhardcoreengineering;buyPaul’sbookandlearnjust
abouteverythingyouneedtoknowabouthowtostartdoingcontinuousintegration.
Alternatively,apaperpresentedatAgile2008byAdeMiller,“OneHundredDaysof
ContinuousIntegration,”isalsoagreatread.
PairProgramming
Toooftenaspeopleshiftinandoutofprojects,theinformationshiftsinandoutwiththem
—informationrangingfromhowstorieswereimplementedtowhyonedesignpathwas
chosenoveranother.Thereisonetechniquethatensuresthateveryoneontheteamknows
whatthecodeactuallydoes:pairprogramming.
Pairprogrammingdrivescollectivecodeownershipandincreasesknowledgesharing
amongteammembers.Atitscore,pairprogrammingistwoteammembersworking
togethertoaccomplishasingletask.Onepersonisthedriverandtheotheristhenavigator
(formoreadvancedpairingtechniques,seeChapter19,“KeepingPeopleEngagedwith
PairProgramming”).Whenthepairsswitchonafrequentbasis,informationpassesamong
allteammembers,ensuringthateveryoneisfamiliarwiththeentirecodebase.Pair
programmingusesconversationtoproducecode,causingeachpersoninthepairto
questioncontinuallywhattheotherisdoing.Pairsreinforcetheteam’scodingstandards
onhowtogetthesystembuilt.
Itisimportanttounderstandthatpracticingpairprogrammingdoesnotnecessarily
meanworktakestwiceaslong.WhileattheUniversityofUtah,LaurieWilliamsfound
thatpairprogrammingwas15percentslowerthantwoindependentdevelopersbut
produced15percentfewerbugs[WILLIAMS].Thisfindingreemphasizesthatteams
makingtheinvestmentinmoredisciplinedengineeringpracticesupfrontgoalittleslower
atfirstbuthaveabetterpaybackdowntheroadthroughreducedrisk,bettervisibility,and
lowerdefectrates.
Anotherbenefitofpairprogrammingisthereductionofnoise.Idefinenoisetomean
phonecalls,email,instantmessages,unnecessarymeetings,andotherdistractions.It
wouldberudetobeworkingonaprojectwithsomeoneandcheckyouremailorbeona
phonecall,right?Whenyou’repairingwithsomeone,youfocusonwhatyouareworking
onwiththeotherperson,justbecauseit’sgoodmanners.Thesidebenefitofthatfocusis
thatyougetmoredone.
Iliketothinkofpairprogrammingas“real-timecodereviews,”meaningthecodeis
beingreviewedandupdatedandmanagedinrealtime.Agoodpairisconstantlyreflecting
ontheworkathand.Asaresult,thereisnoneedforseparatepre-check-inmeetingsto
reviewwhatindividualteammembersdid.Andbecausefewerbugsarecreated,fewerbug
triagemeetingsareneeded.Allthisnoisereductionoptimizestheteam’stime.
Pairinginadistributedenvironmentischallengingbutpossible.Sharingascreen,using
webcams,andhavingadirectlinetothepersonyouarepairingwithareallrequirements.
Itisobviouslyeasiertopairwhenyouareinthesametimezone,soifyoudistribute,go
north/southinsteadofeast/west.
Todopairprogrammingwell,you’vegottostartwitheducationandgroundrules.Let
peopleknowthat,aswithtryinganythingnew,pairingwillbeuncomfortableandabit
awkwardatfirst—remindthemtokeepanopenmindandtohavecourage,knowingthat
theentireteamisgoingthroughthistogether.Encouragethemtohaveawillingnesstotry
—toreallygiveitagoodeffortandbeabletomoveforwardobjectively.Ifneeded,invest
intrainingandalwaysbesuretoimplementcodingstandards.
Therearesomegreatpapersandbooksonpairprogramming.Startwithanolderbook,
PairProgrammingIlluminated,byLaurieWilliamsandRobertKessler.Anothergood
referenceisTheArtofAgileDevelopmentbyJamesShore.Tounderstandthecostbenefits
ofpairing,read“TheEconomicsofSoftwareDevelopmentbyPairProgrammers”by
HakanErdogmusandLaurieWilliams.
AutomatedIntegrationandAcceptanceTests
Likeunittests,integrationandacceptancetestsareaformofautomatedtests.Theyfillout
thetopofthetestautomationpyramid,withunittestsmakingupthebaselayer(seeFigure
9-1).
FIGURE9-1Testautomationpyramid
Integrationtestsaredesignedtotestvariousintegrationpointsinyoursystem.Theyare
designedtoensurethatAPIs,dataformats,andinterfacesareallworkingasexpected
whiletheteamisdevelopingthecode.Whileitisgenerallyeasiertobuildautomated
integrationteststhanitwouldbetobuildautomatedacceptancetests,automated
integrationtestsstillhaveahighmaintenancecost,especiallyinsystemswithhundredsor
thousandsofpeopleworkingtogetherinasinglecodebase.
Acceptancetestsaredesignedtoemulatethebehavioroftheuser.Ifyouarebuildinga
systemwithaUI,thesetestswillbescriptedtoclickandemulatethebehavioroftheuser.
Thesetestsareofteneasilybroken,asinterfacesandcustomers’mindschange.Theyare
alsopronetoprovidingfalse-positivereadings,whichmakestheirmaintenancecosthigh
—butnotashighasadedicatedteammember.Avarietyoftoolsaredesignedtolet
stakeholdersandcustomerswritetestsandeasilyinterfacewiththesystemtoensurethe
systemisworkingfromanend-userperspective.
Evenwiththeaddedworkandmaintenancecost,though,automatedintegrationand
acceptancetestsareoneofthebestwaystoensurethataScrumteamisbuildingtheright
thing.First,eachallowstheteamtohaveacontinuousfeedbackloop,similartothat
providedbycontinuousintegrationandunittests,whichhelpspreventlongtestingphases
attheendofeachsprintandeachrelease.
Second,it’scheapertofixissueswhentheyoccurthanitistofixthemafewsprints
downtheroad.Plus,fixingbugsearlyhelpskeeptheoverallcodebaseclean.Whileit
mightinitiallyslowtheteamdownwithwhatcanseemtobeconstantbugfixing,theend
resultwillbeacleaner,morerefinedcodebaseovertime.
Third,havingautomatedintegrationtestshelpsensurethattheexternalintegration
pointsthesysteminterfaceswithareworking,andcontinueworking,asexpected.Ioften
askteams,“Whatareyourcomputersdoingafteryougohomeatnight?”Theyshouldbe
workingfortheteam,identifyingweaknessesinthesystemsothattheycanbecorrected
thenextmorning.
Finally,havingautomatedacceptancetestshelpsensurethattheUI/interfacebehaviors
ofthesystemworkasexpected.Acceptancetestsshouldbefiredoffateverybuildif
possibleandshouldbecontinuallybuiltoutovertime,justastheunittest“safetynet”is
builtoutovertime.Thismeansthatacceptancetestsneedtobewrittenbeforethesprint
startssowhentheproductownergoesintothesprintplanningmeeting,theteamknows
whatitneedsto“prove”tothecustomersandstakeholdersfromaninterfacepointof
view.Whenyoudon’tinvestinautomation,eachsprintthetestdebtbuildsandtheamount
oftimespenteachsprintonmanualtestingrisestoanearlyunmanageablestate,as
illustratedinFigure9-2.
FIGURE9-2Timespentwithautomationversusmanualtesting
KeystoSuccess
Yes,youcandoScrumwithoutimplementingevenoneoftheengineeringpracticeslisted
inthischapter.Andyes,youwillfindsomesuccess.Eventually,however,youwillfind
yourselfasking,“Whyarewenotgettingsignificantlybetter?”Theanswerliesinhowyou
actuallybuildyoursoftware.IfyoudoScrumbutrefusetochangeyourengineering
practicesandyourmindset,you’llstruggle.
AllIamaskingyoutodoisthinkaboutthingsdifferently;understandthewhywhen
youdothings.Intheend,however,youmayhavetodosomeadditionalinitialwork
(TDD,pairing,settingupcontinuousintegration,creatinganautomatedtesting
framework)andmakeacalculatedbetthatitwillpayoffintheendbyhavinglessrework
todo—simplybecauseyouwillhavefewerbugsandintegrationissues.
NotaSilverBullet
Icannotstressthisenough:UsingScrumoranyofthepracticeslistedinthischapterwill
notmagicallygrantyoutheabilitytomorefrequentlydeliversoftwareofhigherqualityor
guaranteethatwhatyoubuildwillbewhatyourcustomersreallywant.Ican,however,
predictthatchoosingnottousethesetechniqueswilllikelyresultinfailure.Inthesame
way,ridingahigh-qualityroadbikewon’tguaranteeawinattheTourdeFrance;ridinga
tricycle,however,willvirtuallyguaranteealoss.
Thepracticesinthischapterarenotsilverbullets.Insteadtheyaremeantassignposts
thathelpguideyoutoyourfinaldestination,whichisahigh-performingteamabletoreact
quicklyandwithhighqualitytocustomerrequests.
StartingOut
Gettingstartedwithengineeringpracticescanseemoverwhelming,butitdoesn’thaveto
be.Ihaveseenteamstaketwodifferentapproaches:Theystartslowly,graduallyadding
onenewpracticeatatime,ortheygofullthrottleandembraceeverything.Eitherwayyou
doit,it’simportanttorealizethatyouaregoingtostumbleasyouworkyourwaythrough
revampingyourengineeringpractices.Thisisokay—justremembertostaydisciplined
andfocused,andseekhelpwhenyouneedit.
GettheTeamtoBuyIn
Inthestory,Patricktooktheteamtothewhyrightoutofthegate.Sure,hecouldhave
said,“Doitmywayorthehighway,”butinmyexperienceitworksmuchbetterifthe
teammembersunderstandwhytheyarebeingaskedtochange.Patrickhelpedthe
membersoftheteamseehispointofview,helpedthemunderstandwhathewanted,and
gavethemguidanceonhowtogetthereandwhyitwasimportant.Thisisessential,
becauseifyouhavesomeoneontheteamwhoisnotsupportingtheeffort,therewillbe
sabotage.Avoidthecommand-and-controlaspectandfocusonthewhy.
DefinitionofDone
InChapter7,“HowDoYouKnowYou’reDone?”youfindanexerciseonhowtobuilda
donelistandhowtoworkwithyourteamtodefinewhatdoneis.Attheendofthis
chapter’sstory,Patrickdidasimilarexercisewithhisteam.Knowingwhatitmeanstobe
doneislikehavingasetofblueprints.Thepracticesinthischapterarethetoolsthatallow
teamstobuild.Withoutunderstandingwhatdoneis,youwillbelost.
BuildEngineeringintoProductBacklog
Fortheteamtogettractiononthepracticeslistedinthischapter,theproductownermust
understandthepayoffandbewillingtomakethelong-terminvestmentintheteam.One
waytodothisandtohighlightthevisibilityoftheteam’sefforttoimproveitsengineering
practicesistoincludeengineeringrelatedstoriesortasksintheproductbacklog.
GetTraining/Coaching
Don’texpectpeopleto“justdoit.”Teachthemhow.Youcandothisbyhiringacoach,
findingsomeoneinyourcompanywhohasthisexperience,buyingbooks,orsending
themtotrainingclasses.Ifmoneyisanissue,realizethatthebenefitthatmodern
engineeringpracticeswillbringbacktothecompanywillbefargreaterthanthefinancial
investmentbeingmadeupfront.
PuttingItTogether
Goodengineeringpracticesbreakthingsintosmallpieces,fromunitteststocheck-ins,so
thatthetimebetweenissueandfixisminimal.Further,theabilitytochangedirectionwith
smallbatchesincreasescustomerconfidence.Asaresult,riskisreducedacrosstheboard.
Theautomatedunittestframeworkthattheteamhasbuiltoverthelengthoftheproject
alertsteammemberswhenthereisaproblemandtellsthemwheretheproblemis—no
morespending“daysinthedebugger.”Theyalsohavebettervisibilityintothecode
throughpairing,asthe“Iownthecode”mentalityisreplacedwithcollectivecode
ownership.Thismixtureresultsinlowerdefectratesandoverallincreasesinquality—
givingcustomersmoretrustintheteamandtheteammoreconfidenceinitsabilityto
deliverworkingsoftwareeverysprint.
Pleaseunderstandthatthesepracticesarenoteasytodo.Theyrequirededication,focus,
andperseverance.Youwillbepulledawayfromthem,naturally,duetothetime
investmentneededtodoeachofthem.WithTDD,youwilllikelyneedtogettrainedon
howtodoitandinitiallyyouwillslowdown.Thesamewithsettingupacontinuous
integrationserver—thoughyoucanhaveitupandrunninginunderanhour,gettingitset
uptosuityourneedsandtheneedsofthebusinesstakestime.Refactoringandpair
programmingalsotaketimetobecomeaccustomedto.Overall,Ifindittakesfromthree
tosixmonthstogofromatraditionalwayofbuildingsoftwaretofullyunderstandingand
implementingtheengineeringpracticeslistedinthischapter.
Attheendoftheday,theinvestmentyoumakenowwillpayhugedividendsinthe
future,givingyoustability,quality,andtheconsistentreleasesyourcustomersdesire.
References
[ATWOOD]Atwood,Jeff.“CodeSmells.”CodingHorror.
http://www.codinghorror.com/blog/2006/05/code-smells.html(accessed01/11/2009).
[FOWLER01]Fowler,Martin,KentBeck,etal.1999.Refactoring:Improvingthe
DesignofExistingCode.Reading,MA:Addison-WesleyProfessional,p.75.
[FOWLER02]Fowler,Martin.“ContinuousIntegration.”martinfowler.com.
http://martinfowler.com/articles/continuousIntegration.html(accessed03/15/2010).
[MARTIN]Martin,RobertC.“ThePrinciplesofOOD.”
http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod(accessed07/11/2011).
[NAGGAPAN]Nagappan,Nachiappan,E.MichaelMaximilien,ThirumaleshBhat,and
LaurieWilliams.“RealizingQualityImprovementthroughTestDrivenDevelopment:
ResultsandExperiencesofFourIndustrialTeams.”MicrosoftResearch.
http://research.microsoft.com/en-us/groups/ese/nagappan_tdd.pdf(accessed07/11/2011).
[WILLIAMS]Williams,Laurie.“TheCollaborativeSoftwareProcess.”TheUniversity
ofUtah.http://www.cs.utah.edu/~lwilliam/Papers/dissertation.pdf(accessed01/11/2011).
WorksConsulted
Astels,David.2004.Test-DrivenDevelopment:APracticalGuide.UpperSaddleRiver,
NJ:PrenticeHall.
Erdogmus,Hakan,andLaurieWilliams.“TheEconomicsofSoftwareDevelopmentby
PairProgrammers.”TheEngineeringEconomist48(4):283–319.
Shore,James,andShaneWarden.2008.TheArtofAgileDevelopment.Sebastopol,CA:
O’ReillyMedia.
Williams,Laurie,andRobertR.Kessler.2003.PairProgrammingIlluminated.Boston:
Addison-Wesley.
Chapter10.CoreHours
Scrumteamsshouldworktogetherasmuchaspossible,ideallyinacolocatedspace.
Workinginthiswaydrivescommunicationefficiencies,collaboration,andcollectivecode
ownership.Butwhatdoyoudowhensometeammembersliketoarriveat7a.m.and
othersliketoarriveat11a.m.?Whataboutend-of-dayscenariosandlunchtime?
Whilethesemayseemliketrivialthings,formanyteamstheyarenot.Infact,a
seeminglyharmlessandsmallimpedimentlikecorehourscansinkanentireteam.That’s
whatnearlyhappenedinthestorythatfollows—whenamoreseniordeveloperhadan
issuewithayoungdeveloper’sperceivedlackofdedicationtotheteamandthecompany,
itnearlytoretheteamapart.
TheStory
Russwasayoungdeveloper,fiveyearsoutofuniversity.Helovedgaming,ridinghis
bicycle,andworkingonhisclassiccar.Hehadspentthelastfewyearsworkingina
startupinSeattlewheretherewaslittleprocess;careersweremadenotbyteamworkbut
bypurerawtalent.Thoughnewtohiscurrentcompany,Russwasalreadyknownasone
ofthego-toguys,someonewhogotthingsdone.Russpridedhimselfonkeepingagood
work–lifebalance,whichdrovehimtowardhavingsomeofthebestcodeinthecompany.
Hefrequentlyrodehisbikebackandforthtowork,especiallyinthesummer,oftentaking
thelongroutefromtheeastsidetoSeattlebygoingaroundLakeWashington.Heloved
spendinghisnightsplayingonlinegameswithfriendsfromwork.
Jacobwasthecompany’sauthorityoncustomerrelationshipmanagement(CRM).He
hadbeenworkingonCRMsolutionsformorethan20yearsandwasfamiliarwithevery
systembothinsideandoutsidethecompany.Jacobwasnotmuchofasocialcreature—he
preferredtofocusonhiswork.Inhissparetime,hebuiltLegorobotswithhisyoungson.
ThesolutionsthatJacobdeliveredwerealwayshighinquality—customersravedabout
howstableandeasytomaintainhissolutionswere.Jacobwashappyinhisroutineand
enjoyedtherhythmofhisownregularschedule.
BothRussandJacobwereabouttoexperiencethestressthatoftenaccompanies
change.TheyweretappedtoworkonanewCRMtoolforaclient.Itwasacomplex
projectthatwouldrequireallofJacob’sexperienceandallofRuss’screativecoding.
Atfirst,thingswentwell.RussandJacobassembledacoreteamandhiredtheirteam
consultants(seeChapter3,“UsingTeamConsultantstoOptimizeTeamPerformance,”for
moreonteamconsultants).Theysetastartdate,July15,ameretwoweeksaway.The
productowner,Sally,workedfeverishlytogetthebacklogestablishedwhileRussand
Jacobworkedwiththeteamtoestablishengineeringpractices,getthelabandmachines
setup,andcreategeneralteamrulesofengagement.Letitia,theScrumMaster,workedto
scheduletherecurringmeetings:thesprintplanningmeetings,dailyscrums,andcustomer
reviewmeetings.Everyonefeltconfidentgoingintothefirstsprint.
OnJuly15,theteammembersassembledforitssprintplanningmeeting.Therewasthe
normalambiguitygoingonintheplanningmeeting,butnothingalarming.Thiswas,after
all,ateamoffairlyexperiencedpeople.
Thenextday,theteamassembledintheteamareatobeginworkontheirchosentasks;
everyoneexceptRuss,thatis.Jacob,whohadarrivedearlysohewouldhavetimetogo
oversomethingswithRuss,wasvisiblyfrustrated.Helookedattheclock—8:30—thenat
everyoneelsebusyatwork.“Russissupposedtobeoneoftheleaders,”hethought.“How
canhesetsuchapoorexample?”Jacobstarteddoingsomeprojectworkwithoneother
teammemberandlosttrackoftime.Justbefore10:00,Jacobheardthestirringoftheother
teammembers.“Timeforthescheduleddailyscrum,”hethought.AsJacoblookedup,
Russpoppedin,freshoutoftheshowerafteralongbikeride.
“Heyguys!It’sdailyscrumtime!”exclaimedRuss.
“Gladyoucouldjoinus.Ithoughtyouweretakingthedayoff,”saidJacob,withahint
ofsarcasminhisvoice.
“Nope,juststartingthedaywithamorningbikeride,”respondedRuss,notpickingup
onJacob’ssarcasm.
Letitiadidpickuponthesarcasm,butchosetoignoreit.Themeetingwentoffwithout
ahitch.Itranjustahairover15minutes,notbadforthefirsttime.
Overthenextcoupleofweeks,thesamepatternoccurred.Jacobgottoworkat7:30and
workedwithanotherearly-risingteammember.Russ,ontheotherhand,poppedinright
beforethedailyscrum.Onemorning,asRussbouncedin,Jacobfinallysnapped.
“ThedayisalmosthalfoverRuss,”quippedJacob.
“Orhalfbegun,myfriend!IfeellikeIcouldclimbmountains.Igotupatfivethis
morning,wenttothegym,andthenloggedsixty-fivemilesonthebike.Whatagreat
day!”saidRuss.Heturnedhisattentiontotheotherteammemberswhohadgatheredfor
thedailyscrum.“I’mreadytorock.I’llgofirst!”andoffwentRuss,sharinghis
accomplishmentsandplans.
Jacobwentnext.“YesterdayIcompletedtaskeighteen,‘Createthestoredprocedure.’
TodayI’dliketoworkwithRussontheassembler,providedheisactuallyworkingtoday
andnotleavingearlyorsomething.”
“Sure,”saidRuss,laughingatwhatheconsideredJacob’squirkysenseofhumor.“We
canworkonthattogether;that’dbegreat!”hesaidenergetically.
LetitiabegantoobserveRussandJacobastheyworkedtogether.Itwasobvioustoher
thatRusscomingintoworkjustbeforethedailyscrumbotheredJacob.Infact,itseemed
tobotherhimthattheentireteamwasnotthereat7:30a.m.whenhearrived.Asthemost
seniormemberontheteam,bothfromanagestandpointandfromanexperience
standpoint,heseemedtofeelthathewastheonewhoshouldleadtheteamandset
boundaries,suchaswhoarriveswhen.Letitiaknewtherewasboundtobeablow-up
soon.Sureenough,asRussandJacobwerecoding,Jacobbegantogetirritated.
“Russ!Whyareyoucallingtheinterfacelikethis?You’renotanidiot;whyareyou
codinglikeone?Nowweneedtorewriteeverything!”saidJacob,throwinghispencilat
thescreenindisgust.
Russwasastoundedatthesuddenoutburst.“Jacob,calmdown.What’stheproblem?
Yellingatmewon’thelp.”
“Thisisjustlaziness,pureandsimple.Though,whatelsecouldIexpectfromsomeone
likeyou.Howhaveyoulastedheresolong?”Jacobroared,asherolledhischairbackand
threwuphisarmsindisgust.
Letitiaquicklysteppedin.
“Jacob,I’mhearingsomeverypersonalattacks.Whatisgoingon?”
“Russislazyandsloppy.Justlookatthiscode!”saidJacob.“Ican’tworklikethis.”
“Okay,Jacob.Let’sgoforawalkandtalkaboutit.”LetitiatookJacobdowntothe
localcoffeeshop.ShehadanideaofwhatwascausingJacob’sdiscontentbutneededto
hearitfromhim,one-on-one.
“Jacob,whatisreallybotheringyou?”Letitiaaskedhimdirectly.“Whenwestarted,
youwereexcitedaboutthisproject,butnowyouseemsoagitatedanddistressed,”she
added,gesturingtoJacob’sshakinghands.
“It’sRuss.Ican’tworkwithhim.He’sclearlynotcommittedtothisproject.Ican’tdo
alltheworkonmyown,andIdon’tknowwhattodoaboutit,”admittedJacob.
“Whatmakesyouthinkthatheisnotcommitted?”askedLetitia.
“Firstofall,hecomesinatteno’clock!Igethereatseven-thirtyandhegetshereat
ten?What’sthatabout?It’snotlongafterhesauntersinthatheleavesforlunch—‘Gotta
fillup,man’—suchabadexample,”quippedJacob.“Thatcodetodayshowsthathe’s
obviouslyrushingthrough,readytoleaveearlysohecangettothenextparty.Whendoes
hework?”
LetitiawashappytohearJacobspellouttheproblemshehadbeennoticing.
“Ithinkyou’vegotthewrongidea,Jacob.True,Russcomesinatteno’clock.Buthe
doesn’tleaveuntilafterseven,wellafteryouandtheotherteammembershavecalledit
quits.He’sonadifferentschedulethanyou,butheisworking.Still,Icanseethatthisisa
problem,notonlyforyoubutfortherestoftheteamaswell.”
“Soyou’llhavehimcomeinearlier,then?”askedJacob,stillhopingtokeepthingson
histerms.
“Ihaveadifferentidea,”Letitiareplied.“Onmylastproject,wehadasimilarissue,
andwesolveditbysettingcoreteamhours.”
“Coreteamhours?”askedJacob.
“Yes,coreteamhours—thesearethehourswheneveryonecancommittobeinginthe
teamspace.Thatway,ifweneedtoschedulepairingorifweneedtotalktosomeone,we
can.”explainedLetitia.“Ifyou’rewilling,wecangoproposeittotheteamnow.Ithinkit
willhelpeaseanyconcernsthatmightbelingeringaboutpeople’savailabilityand
dedication.”
Jacobthoughtaboutit.“Wecantryit.Butdomeafavor.KeepyoureyeonRuss.I’m
stillnotconvincedhe’sfullycommittedtothisproject,”saidJacob.
Letitiasmiled.“I’lldothat,Jacob.Butdomeafavor.Givehimachance.Andgivethe
ideathatpeoplecanhavedifferentschedulesandstillworktogetherachance,too.Ithink
you’llbepleasantlysurprised.”
TheModel
Letitiawasaveryin-tuneScrumMaster.ShequicklynoticedthefrustrationthatJacobwas
havingbutdidtherightthingbykeepingquietuntilitwasobviousthattheteamwas
readyforhertodosomethingaboutit.
ColocatedTeams
Ifyourteamisstrugglingwithdifferentschedules,orifyouareatalldistributed,acore
schedulehelpstorestoreasenseofbalanceandcohesiveness.Togetstarted,write
everyone’snameacrossthetopofthewhiteboard(I’llusethenamesfromthischapter’s
storyasanexample).Downtheleftside,write“startofday,”“lunchstart,”“lunchend,”
and“endofday.”Intheend,you’llhaveachartthatlookssomethingliketheoneinTable
10-1.
TABLE10-1ABlankCoreHoursChart
Fromthere,theteammembersneedtoindicatewhentheyliketostart,takelunch,and
leavefortheday.Youcancollectthisinformationinoneoftwoways.Optiononeisto
havetheteammembersfillinthechartdirectlyonthewhiteboard.Theonlydrawbackto
thatoptionisthatpeoplemightbeinfluencedbyothers’answersandbetemptedtoadjust
theirschedulestomorecloselymatchtheotherteammembers’schedules.Optiontwoisto
haveeachteammemberwritedownhisorherscheduleprivatelyandgiveittoyou.Then,
onceallthescheduleshavebeensubmitted,youcanpopulatethechartwiththeiranswers.
TheresultingchartwilllookmuchliketheoneinTable10-2.
TABLE10-2ThePopulatedChart
Oncethechartisfilledin,youcanextrapolatethecoreteamhours,thehoursthatall
teammembersareavailable,ontheboard.Ifyouweretodothatusingtheinformationin
Table10-2,you’dcomeupwiththefollowingcorehours:
Morning:10:00–11:30(1.5hoursofsharedtime)
Lunch:11:30–1:00
Afternoon:1:00–4:30(3.5hoursofsharedtime)
Thechartshowsthattheteamhasfivehourswhentheyareallavailableforwork
together.Thenextthingtodoisasktheteamwhethertherearesmallwaysinwhichthis
chartcouldbeoptimized.Forinstance,thelunchhouriscurrentlyanhourandahalf.If
RussandSam,however,weretodelaytheirlunchstarttimesby30minutes,itwouldgive
theteammorecorehours.ThenewmodelwouldlooklikewhatisshowninTable10-3.
TABLE10-3TheRevisedCoreHours
Theresultingcorehourswouldbeasfollows:
Morning:10:00–12:00(2hoursofsharedtime)
Lunch:12:00–1:00
Afternoon:1:00–4:30(3.5hoursofsharedtime)
Thissmalltweakwouldgivetheteam5.5hoursofworkingtimetogether.
Onceyouhaveestablishedyourcoreteamhours,itisbesttopublishthembyposting
themonawall,makingsmallindexcardsforteammemberstopostontheirmonitors,or
byputtingthemintothegroupcalendar.Anysoloworkcanbedoneoutsidecoreteam
hours;theworkthatrequirespairingorcollaborationshouldbedoneduringcoreteam
hours.
DistributedandPart-TimeTeams
Notallteamshavetheluxuryofhavingafullydedicatedteamworkingtogetherinateam
workspace.Whileteamsstriveforthis,sometimesitjustdoesnotworkoutthatway.The
approachlistedabovecanbeappliedtoteamsthatareeitherdistributedorhavepart-time
people—orboth.
DistributedTeams
Ifyouhaveadistributedteam,dothesameexerciseasabove,butdoitremotely.As
ScrumMaster,hostavirtualonlineconferencingsession.Havepeopleemailtheir
preferredstart,lunch,andendtimesbeforethescheduledmeetingstarttime.Theninsert
thedataintoaspreadsheettosharewiththeteamduringtheonlineconference.Picka
commontimezonereference.InTable10-4,IchoseCentral.Thenmapoutthetimes,
listingstartandendtimesinboththecommontimezoneandtheprimarytimezonefor
thatindividual.
TABLE10-4TimeMap
Basedonthisinformation,thesampledistributedtotheteamshowninTable10-4has
somebigtimegapstodiscuss.Rockylikestostarthismorningat11:30a.m.Centraltime,
thoughit’sonly9:30inhistimezone.SamalsogetsalatestartinCentraltime(10:30
a.m.),thoughagain,forhimit’sonly8:30.Therestoftheteamstartswithinanhouranda
halfofeachother.Theendofthedayisnobetter.Herearetheircorehours:
Morning:Thereareactuallynomorninghourswhenthewholeteamisavailable.
Russ,Jacob,andMikaelahavesharedmorninghoursbetween9:00and10:30a.m.,
Centraltime.SamandRockyarebothavailablewhilemostoftheteamisatlunch,
between11:30and1:30Central.
Lunch:10:30–3:00
Afternoon:3:00–4:30
Thisgivestheteamonly1.5totalhoursofsharedtime.Notgood.Someoftheproblems
couldbemitigatedbyhavingSamandRockypairandcollaboratetogetherinthemorning
separatelyfromtherestoftheteam,whointurnareavailableforeachotherinthe
morninghours.Theafternoonhourscouldbedesignatedforwholeteamactivities.
Imagine,though,iftheteamhadteammembersaroundtheglobe!Thismodelmakes
thechallengesfacingdistributedteamsveryvisible,especiallywhentheteamhasastrong
desiretoworktogether.Ininstanceslikethis,wherepeoplearemanytimezonesapart,
oneviableoptionistocreatesmallworkingteamslocally,eveniftheyarestilldistributed.
Thisensuresthatatleastsometeammembersaresharingcommonworkhours.
Part-TimeTeamMembers
Inthecaseofpart-timeteammembers,ratherthanlistthestartandendtimesdownthe
leftside,listthedaysoftheweek(seeTable10-5).Unlessateamchangesitshoursfrom
sprinttosprint,you’llonlyhavetodothisonceatthebeginningoftheproject,updatingit
onlyifsomeone’shourschange.Oncethetableispopulated,youcandeterminecore
hoursforeachdayoftheweek.Inthisexample,onMonday,theteamhasnotruecore
teamhours,asJacobcanonlyworkintheafternoonandSamcanonlyworkinthe
morning.
TABLE10-5TimeMapforPart-TimeTeamMembers
KeystoSuccess
Yousawinthischapter’sstorythatJacobwasveryunhappywithwhatheperceivedas
Russ’sslackerattitude.IfLetitiahadletthisproblemcontinue,theteamcouldhavesplit
apart,justoversomethingassimpleaswhentostarttheday.Payingattentiontolittle
detailslikethiscanhelppreventbigteamissuesdowntheroad.Whendeterminingthe
team’scorehours,it’simportanttokeepafewthingsinmind.
First,makesuretheteamunderstandswhyhavingcorehoursisimportantandthatthe
teamhasacollectiveagreementaboutpreferredworkhoursandworkhabits.Whetherthe
teamiscolocatedordistributed,workingwitheachotherdailyhelpskeepthingsincheck
andcommunicationflowing.Peoplewhoworktogetherhavetheabilitytolearneach
other’sbehaviors,skills,andpatterns.Astheygettoknoweachotherpersonallyand
professionally,theybegintogelasateam.Workingtogetheralsoprovidespeoplethe
opportunitytolearnmoreabouttheproject,astheyspendmoretimeworkingonpartsof
thesystemtheymaynotordinarilytouch.
Second,establishcorehoursatthebeginningofeachprojectandregularlythroughout
theprojectasneeded.JacobwouldnothavebeenasupsetifhehadknownRuss’swork
patterns;thoughRusstendstoarrivelate,healsostayslate.Thesepatternsmaychange
throughoutthecourseoftheproject—school,work,weather,andholidayscanallimpact
availability—soitisimportantfortheteammemberstocommunicatewhentheirhours
changedramatically.Iftheteamisdistributedorispart-time,andcorehoursvary
dramaticallyfromsprinttosprint,thisactivitymayneedtobedoneasoftenasatthe
beginningofeverysprint.
Last,encouragetheteamtoremainopenandwillingtobend.Everyonemaynotbeable
toworktheexactscheduleheorshewouldprefer.Remindtheteamthatthebenefitsof
workingtogetherfaroutweighthepersonalhabitsofoneperson.
Establishingcorehoursisasmalldetailthatcanhaveabigimpactonteam
performance.Calculatehowmanyhoursyouarespendingasacolocatedteamandwork
togethertomaximizethosecorehourswhilemaintainingindividualteammembers’
flexibility.Chartingcorehoursisasmallbutpowerfultoolthatcanhelpyoubuildahigh-
performingteam.
Chapter11.ReleasePlanning
Themostfrequentlyaskedquestiononanyprojectmightbe,“Whenwillyoubedone?”or
“Willyouhaveitalldonebyacertaindate?”Allteamshaveexperiencedtimeswhentheir
projectionshavebeenwayoff,andthey’vesufferedasaresult.Scrumpromisesamore
adaptableplanningscenario,onethatallowsforandindeedexpectschange.Butdoesthat
promisemeanthatteamsdon’thaveto—orcan’t—doreleaseplanninganymore?
Fortheanswer,followBrianandStephen,bothrelativelynewtoScrumand
approachingitfromdifferentpointsofview,astheyexplorereleaseplanningwithScrum.
TheStory
BrianwasanexperiencedprojectmanagerandnewScrumMasterabouttostarthisfirst
Scrumproject.HeandhisteammembershadbeentoanintroductoryworkshoponScrum
andwerewellversedintheby-the-bookanswersonhowtogetstartedandwhattodo.
Brianwasexcitedaboutthepossibilities.
Until,thatis,hegotavisitfromhiscorporatevicepresident,Stephen.
“Bytheway,Brian,”Stephensaidashepassedbyhisworkspace.“I’mgoingtoneeda
releaseplanassoonaspossible.”
Brianfrowned.Releaseplan?hethoughttohimself.Isn’tthatarelicfromthewaterfall
days?IthoughtthatwhenIswitchedtoScrumIcouldleaveGanttchartsbacktherewith
brokenpromisesandhalf-formedhandoffs.
Outloud,however,hesaidonly,“ButStephen,we’reusingScrum.Ican’ttellyou
exactlywhenwe’llbedone.That’sthewholepoint.”
ThatanswerstoppedStepheninhistracks.Hecameinandplantedhimselfinthechair
byBrian’sdesk.“Buddy,weneedtotalk.WhatmakesyouthinkthatwithScrumyou
don’tneedareleaseplan?”
Brianleanedforwardexcitedly.Hewasreadyforthisone.“Simple.Theproblemwith
alltheprojectsI’vebeenoninthepastisyouthinkyou’reontrackandthenrealizeatthe
veryendthatyou’renotgoingtomakeit.Thatmakeseveryoneanxiousandcausesusto
rushtomeetdeadlines,whichaswebothknowjustmeanspoorqualityandburnedout
teams.WithScrum,ifyoudon’tgettosomething,itjustdoesn’tgetdone.That’sthe
beautyofpriorityorder.”
“I’mnotsurethat’sexactlyright,”saidStephen.
“Well,rememberthatlastdisastrousprojectIwason?”counteredBrian.“Theteamand
Iworkedsohardandsowell,andthenattheendeverythingjustkindofcaughtuptous.
Suddenlywerealizedweweretoofarbehindtocatchup.Ifinallygotitafterthatproject.
Wecan’ttrustourplans.Theyarejustmilestones,dates,andsoftthingsthatwemakeup
togiveeveryoneasenseofsecurity,butintheendtheyarejustabunchoflies.”
“Ican’tdisagreewithyouaboutthat,Brian,”saidStephen.“ButScrumdoesn’tgive
youafreepassonreleaseplanning.Istillhavetoknowandbeabletocommunicatetomy
bosseswhenwe’llbedone.Ineedareleaseplan.”
“Well,Stephen,Icouldtellyouadatewhentheentireproductbacklogwillbedone,but
webothknowitwon’tbeaccurate,”Briansaid.“I’mtryingtothinkhowtoexplainitto
you.HowmuchdoyouknowaboutScrum?”
“Iwentthroughthesamecourseyoudid—justonadifferentdate,”answeredStephen.
“Infact,I’mtheonewhosuggestedweuseScrumandwhobroughtthetrainerintohelp
usgetstarted,”repliedStephen.
“Great,”saidBrianwithasighofrelief.“Thenyouknowthatwedeliverworking
softwareeverysprintandhowtheframeworkisstructured.Soyouunderstandwhyit
wouldbeirresponsibleofmetogiveyouanexactdatewhenwe’llbedone.”
“No,IthinkitwouldbeirresponsibleofyoutothinkthatScrumgivesyoufreereignto
justdowhatyouwanttodowhenyouwanttodoit,”challengedStephen.“I’vegotto
answertoourexecutiveVPandthentheCEO.Wehaveplansthatweneedtomakein
advanceastowhenthingswillbeinthemarket.”
“Stephen’sright,youknow,”cameavoicefromtheirright.ItwasCarol,aScrum
consultanttheyhadhiredtohelpthemintheirtransition.“Sorry.Ididn’tmeanto
eavesdrop,butIwasfascinatedbytheconversation,”sheaddedasshewalkedcloserto
them.
“Youcan—andshould—stilldoreleaseplanningwithScrum.ButBrian’sright,too,
Stephen.Scrumdoestreatreleaseplanningdifferently.”
CarolwalkedovertothewhiteboardthathungnearBrian’sdesk.
“You’vebothheardofvelocity,right?”shesaid,asshebeganwritingontheboard.
Theybothnodded.
“It’sthemeasureofhowmuchworkateamcangetdoneovertime,usuallyexpressed
instorypoints,”saidBrianconfidently.
“Exactly,”saidCarol.“So,let’slikenittotheodometerinyourcar.Velocityislikea
sprintodometer:Ittrackshowmuchgroundyoucoverintermsofstorypoints,perdayor
persprint.So,ifinthreesprintsyoutraveled1,000miles,900miles,and1,100miles,
you’dhaveaveraged1,000milesasprint.Putadifferentway,youcantravelabout100
milesperdayandcoverabouta1,000milesinasprint,sincewe’redoingtwo-week
sprints.Withmesofar?”
“Yep,”saidBrianandStepheninunison.
“Buthowdoesthatgetusclosertoknowingwhatdayyou’llbedone?”askedStephen.
“Bearwithme.There’samethodtomymadness,”Carolsaidsmiling.“Sowehavea
velocitymeasure.Howelsecanwetellwhereweareonourlittletrip?Well,backtomy
carmetaphor,we’dlookoutthewindowandseewhatwesee.Inasprint,wedothatevery
dayinourdailyscrum.Wepullourselvesupfromourwork—ourdriving,ifyouwill—
andlookaroundtoseehowwe’redoing.”
BrianandStephennodded.
“So.Wecantravel1,000mileseverytwoweeks,andwemakesurethosemilesare
takingusintherightdirectionwithourdailyscrums—andatahigher-levelview,withour
reviewsandretrospectives.Butourfinalmeasureisaburndownchart.Thespeedometeris
theslopeoftheburndown,”saidCarolasshecontinuedtosketchontheboard.
“Theburndowncharttellsusifouraveragespeedissuchthatwecanexpecttocover
our1,000miles.Wemightnotgoexactly100mileseveryday,right?Butaslongasour
speedissuchthatweaverage100milesaday,we’regoingtoreachour1,000-milegoal,”
Carolfinished.
TheteamlookedconfusedasCarolcontinued.“Sowhere’sthereleaseplan,right?The
releaseplanisourroadmap,markedwithstoppingpoints—waypoints—alongtheway.”
Figure11-1summarizesthemetaphor.
FIGURE11-1Indicatorsusingthetravelingcarmetaphor
“So,Brian,”saidCarol.“Stickingwithourcartripmetaphor,let’ssaywewanttogo
fromSanDiego,California,toJacksonville,Florida.You’resittingatacomputer.Pullup
amap.Howfaristhat?”
“Well,itdependsonwhichwaywego.Buttheshortestis2,339miles.Thatincludesa
stopinJuarez,though,andIreallywantedtostopinAlbuquerque,”Brianmusedoutloud.
“So,I’lljustdragtherouteandgothroughAlbuquerqueinstead,givingus2,413miles,
butputtingusinmuchmorepopulatedareasalongtheway:Phoenix,Albuquerque,
Amarillo,Dallas,thenHouston.”
Stephennodded,“So,ifwetravel1,000mileseverytwoweeks,we’relookingatabout
2.5sprintsorfiveweekstoJacksonville.That’sallareleaseplanhastobe.Itanswersthe
question,‘Atourcurrentrateandroute,howlongwillittaketogettheresafely?’Ifit’sthe
reverse—IneedyoutobeinJacksonvillebyacertaindate—you’dneedtodothemathto
seeifit’spossible.Youcoulddetermineifitisfeasibletodrivemorehoursinadayor
discussotherwaystomakethatarrivaldatepossible.Itoldyoureleaseplanningwas
possiblewithScrum.”
Brianfrowned.“Butwait.Thatsoundsgreatifyou’reactuallydrivingfromPointAto
PointB,butonourproject,wedon’talwaysknowexactlywherewe’regoingorhowfarit
isfromheretothere.Andevenifwedid,thisperfectlittleroadmapdoesn’ttakeinto
accountroadwork,whichmightslowusdown.Orallowforfoulweatherthatcausesusto
deviatefromourroute.Orfactorinagreatopportunitythatrequiresweincludeanout-of-
the-waystop,St.Louis,forinstance,toouroriginalplan.”
Carolintervened.“Well,that’swhereyou’rebothright.Releaseplansaregoodtohave
andworthwhilebecausetheygiveusapreliminaryroadmap—wecan’tjustsetoutwithno
directionandnoideaofwhenwe’lllikelyarrive.ButBrian’srightthatit’simportantfor
thestakeholderstounderstandthataplanisjustthat,aplan.Andtheplanwillchange.
Despiteourbesteffortstoestimatetheproductbacklog,wemightfindoutthattheactual
distancewehavetotraveltocompletetheprojectismuchmoreorlessthanwe
anticipated.Anddespiteourbesteffortstotrackandestimateourexpectedvelocity,we
mightrunintoproblemsthatslowusdown.Andmaybeweincludeaworst-casescenario
forissueslikethat.AndiftheydiscovergoldinSt.Louis,whichistheequivalentof
addingsomenew,undiscoveredstoriestotheproductbacklog,wecanincludeitinour
trip,butit’sgoingtocostintermsofeithertimeormoney,right?”
“Rememberourvisualindicators?”Carolcontinued.“Ourdailystandups,reviews,and
retrospectives?That’showwedetermineiftheteamisontherighttrack.Wedon’twantto
goallthewaytoJacksonvilleonlytorealizethatit’sthewrongplacetobe.Ifwewantto
gotoSt.LouisorLouisville,sobeit,butweneedtocommunicatetothecustomerswhat
therisksareandthat,shouldtheydecidetoincludeadetour,wejustcan’tmagically
reappearinJacksonvilleasoriginallyscheduledasifwenevertookaleftturn.Thetime
willhavebeenlostandthescheduleadjustedaccordingly.”
“Understood,”saidStephen.“Ithinkwe’vegotanideaofwhattodo.Thanksfor
stoppingbyandendingourstalemate.”
BrianandStephencontinuedtheirconversationwellpastlunch.Brianacknowledged
thatStephenneededaplan.HethenexplainedtoStephenhowheshouldexpectvarying
levelsoffunctionalityalongtheway,andwhygivingaharddateandacompletelistof
functionalitythisearlyintheprojectwouldbeirresponsiblebecausetherewasn’tenough
knownabouttheprojecttobeabletonaildownboththings.Intheend,Brianwasableto
giveStephenenoughinformationforhimtodohisstrategicworkwhiletheteamexecuted
theday-to-daytacticalwork.
ThismodeloffersadetailedlookattheprocessthatBrianproposed.
TheModel
Inthestory,bothStephenandBriansatthroughthesameScrumtrainingbutheardtwo
verydifferentthings.Stephendidn’tbelievethatusingScrumtoruntheprojectshould
affecthisreleaseplanning,whileBrianfeltthatScrum’sflexibilitymeanthewouldno
longerbetiedtoanunrealisticfixeddeadline.Inaway,theywerebothright.
Historically,thereleaseplanisoneofthedeliverablesthatcomesoutofatraditional
projectinitiationphase[PMI]andoftenmanifestsitselfinaGanttchart.Itslevelof
precisionisveryhigh.InaScrumproject,however,releaseplanningisquitedifferent.
ThereisnoGanttchartthattellsyouexactlywhenacertaintaskwillbedone.Instead,an
agilereleaseplanshows,onahigher,morestrategiclevel,whatrangeoffunctionalitywill
likelybedonebyacertaindate.Yourreleaseplanshouldbebuiltbeforethefirstsprint
andshouldberevisedcontinuallythroughouttheprojecttoreflectchangingprioritiesand
projectrealities.
Anagilereleaseplanonlyhastoincludethebest-andworst-casefinalreleasedates,but
manyplansalsoincludesmallerreleasesalongtheway,includingend-of-sprintreleases
andquarterlyreleases.Ihaveevenscheduleddailyreleaseswhenworkingonasustained
engineeringteamsupportingaproductionsystem.Whatmakessenseforyourreleaseplan
dependsonthespecificsofyourprojectandtherealityofyoursituation.
Iapproachreleaseplanninginaverystraightforwardway:
1.Sketchapreliminaryreleaseplan.
2.Establishdegreeofconfidence.
3.Revisetheplaneverysprint.
SketchaPreliminaryReleasePlan
Tobuildtheinitialreleaseplan,youstartwiththreeinputs:
1.Anestimated,ordered,andprioritizedproductbacklog
2.Theteamvelocity
3.End-of-sprintdates
Anestimated,ordered,andprioritizedproductbacklogisthefoundationoftherelease
planatthebeginningofandthroughouttheproject.Withoutawell-groomedbacklog,I
finditnearlyimpossibletobuildareleaseplan,letalonegettheprojectoutthedoor.This
doesnotmeantheproductbacklogshouldcontainonlysmall,manageablestoriesorthat
yourestimatesorprioritieswon’tchangeasyoulearnmoreabouttheproject.Butstory
pointestimatesandpriorityorderingareessentialforplanning,evenatthisearlystage.
Onceyouhaveanestimatedandprioritizedproductbacklog,youneedtoknowthe
team’svelocity.Itcaneitherbepulledfromhistoricaldataorestimated.Velocityshould
alwaysbeexpressedasarangeratherthanonesetnumber.(SeeChapter4,“Predicting
TeamVelocity,”formoreinformation.)
Next,youneedtoknowanappropriatesprintlengthforyourproject.(SeeChapter6,
“DeterminingSprintLength,”tohelpfigureoutyoursprintlength.)Fromyoursprint
length,youcaneasilycalculateallyourend-of-sprintdates.
Onceyouhavetheseinputs,youcansketchthepreliminaryreleaseplan.Forthis
example,imaginethefollowingistrue:
Theproductbackloghasbeenprioritizedandestimatedat200points.
Theteamhasdetermineditsvelocitytobe15to20pointspersprint.
Theteamisusingbimonthlysprints.Thefirstsprintendson30June.
First,usingthelowervelocityof15points,startatthetopoftheproductbacklog,count
down15points,anddrawaline.Thisrepresentsthefirstsprint,whichendson30June.
Repeatthisuntilyoureachtheendofeitheryourfunding(discussedbelow)oryour
projectduration,oruntilyoureachapointintheproductbacklogwherethestory
estimatesaretoobigtofitintoasprint(theyarelargerthantheplanned15-pointvelocity).
TheresultingreleaseplanatthisvelocityisshownontheleftsideofFigure11-2.
FIGURE11-2Mapestimatedvelocitytotheestimatedproductbacklog
Next,dothesameusingthehigher,20-point,velocity.Startatthetopoftheproduct
backlog,countdown20points,anddrawaline.Thisisyourfirstplannedsprintifthe
teammanagesahighervelocity;theenddateforthatsprintisstill30June.Repeatas
describedabove.Theresultingreleaseplanatthisvelocityisshownontherightsideof
Figure11-2.Noticethatwithavelocityof20,theteamwillcompletemoreproduct
backlogitemspersprint,andasaresult,delivermorefeaturesoverallinthesamenumber
ofsprints,whencomparedtothelowervelocityof15points.
Nowthatyouhavearoughpictureoftheinitialreleaseplan,youcanextrapolatesome
preliminaryreleasedatesforthehighestprioritystories.Keepinmind,though,thatthese
dateswilllikelychangeastheteamobtainsactualvelocitydataandlearnsmoreaboutthe
productitisbuilding.Thepreliminaryreleaseplanisaneducatedguess,onethattheteam
willrefineasitlearnsmoreabouttheproduct,theproject,anditself.
ConsiderDegreeofConfidence
Atthisstage,thereleaseplanisnotyetreadytobeshared.Youstillneedtoaddtheteam’s
degreeofconfidence.Inthebeginningofanyproject,theteamwillhavevaryingdegrees
ofconfidencewhenitcomestoitsconfidenceintheestimatesitputforthintheproduct
backlogaswellasitsownvelocityestimates.Theteamhasahigherdegreeofconfidence
inthestorypointestimatesforthestoriesthatarenearthetop—thosethatwillhappenin
thefirstfewsprints.That’sbecausethesestoriestendtobesmallerandtheteamhasa
deeperunderstandingofitsdirectionanditsownapproachtothosestories.Becausethese
storiesarebetterunderstood,theteam’sconfidenceincompletingthemshouldbehigher
aswell(80to100percent).
However,asthestoriesdropinpriority,theytendtogetbiggerandmoreambiguous.As
aresult,theteam’sconfidenceintheestimatesforthosestoriesalsodrops.Bythetimethe
teamreachesthebottomoftheproductbacklog,itreallyhasnoideahowitplansto
implementthestoriesorhowmuchworkisinvolved,sotheteamcan’tsaywithahigh
degreeofconfidence,oranyconfidenceforthatmatter,howmucheffortthestorieswill
take.Theteam’sconfidenceincompletingthem,therefore,isverylow,10to25percent.
Asmentionedpreviously,thedegreeofconfidenceisalsoaffectedbyhowcertainthe
teamisinitsownvelocityestimates.SometeamshaveworkedtogetheronsimilarScrum
projectsbefore,somembersarefairlyconfidentinthevelocityrangestheyhaveputforth.
Equallycommon,though,areteamsthatarerelativelynewtoScrumandhavenotyet
workedtogether.Theirinitialvelocityestimatesmaybewayoff,resultinginhugedegrees
ofvariance.Thesenewteamsalsowouldhaveamuchlowerdegreeofconfidencein
completingallofthestoriesatthelowerestimatedvelocity,andanevenlowerdegreeof
confidenceincompletingallofthestoriesatthehigherestimatedvelocity.
Figure11-3showsthecompletepreliminaryreleaseplan,withtheteam’sconfidence
rangeadded.Theteamisfairlyconfident(80percent)thatitcancompletethemajorityof
storiesthatarecontainedinsidethetenplannedsprintsata15-point-per-sprintvelocity
(abovetheminimumvelocityline).Theteamisnotnearlyasconfidentthatitcan
completemostofthestoriesthatarecontainedinsidethetenplannedsprintsata20-point-
per-sprintvelocity(abovethemaximumvelocityline).Notonlyistheteamunsureabout
completingtheselower-prioritystoriesatitsestimatedvelocity,thesestoriesarealsobig
andambiguousrelativetothestoriesatthetopoftheproductbacklog.Theteamisabout
50percentconfidentinthestoriesthatfallbetweentheminimumandmaximumlines—
thosemightgetdoneifthingsgobetterthanplanned,butnooneshouldcountonhaving
them.
FIGURE11-3Addthedegreeofconfidencetothereleaseplan
Teamsneedtostartworkingasquicklyaspossible,sotheycangatherrealvelocity
data,createworkingsoftware,andbegintobetterunderstandthemoreambiguousitemsin
theproductbacklog.Doingsogiveseveryonerealinformationwithwhichtoadjustthe
releaseplan.Nomatterhowconfidenttheteamis,theinitialreleaseplanisonlyan
educatedguess.Itshouldbeusedtoinformthebacklogordering(ifastoryorsetof
storiesabsolutelyneedstobedonebyaspecificdate)ortohelpstarttheconversation
aboutwhatrangeoffunctionalitycanbeexpectedatasetbudget.Itshouldnotbeusedto
holdtheteamtoanunrealisticsetofdatesoranunattainablerangeoffunctionality.The
preliminaryreleaseplanisroughandfluid—andpurposefullydesignedtoadapttoproject
realitiesthroughouttheprojectlifecycle,asisdiscussedinthenextsection.
MaintainingtheReleasePlanthroughouttheProject
Scrumteamsknowthatmostprojectsdon’tmovefromPointAtoPointBataconstant
rateofspeedwithnodetoursormishaps.That’swhytheyupdatetheirreleaseplansto
reflectrealityattheendofeverysprint.Theteamsadjusttheirprojectionstoincludethe
actualaverageteamvelocitiestodateandtheknowledgetheyhavegainedfromcreating
workingsoftwareandreceivingfeedbackfromtheircustomersandproductowners.
Intheexampleinitialreleaseroadmap,theassumed/guessed/calculatedvelocitywas15
to20storypointspersprint(refertoFigure11-3).Suppose,though,thatinthefirstsprint,
theteamaccomplished11storypointsratherthanthe15to20ithadestimated.Theteam
updatedthereleaseplantoreflectthisactualvelocity,thentheteamranfivemoresprints,
eachtimeupdatingthereleaseplan.Bytheendofsprint6,theteamhadanobserved
velocityrangeof8to14points,withanaverageof11.Thoughnooneissurprisedbythe
lowervelocity,theteamandproductownerdoneedtoupdatethereleaseplantoreflect
thedropinvelocity.
TherevisedreleaseroadmapfortheremainderoftheprojectisshowninFigure11-4.
FIGURE11-4Updatereleaseplantoreflectcurrentreality
Noticethatintherevisedplan,theteamisusingitsnewvelocityrangeof8and14
pointspersprintwithanaverageof11.Asbefore,everythingbetweentheobserved
minimumandmaximumobservedvelocitiesisaquestionableareafortheteam.Theteam
shouldgeteverythingdoneaboveitsobservedminimumvelocityof8,willbe50/50
betweentheminandmaxobservedvelocities,andhasverylowconfidenceforanything
belowthemaximumobservedvelocityof14.
ProjectCost
Manyteamshaveprojectsthatareboundbymoney—fixedcost.Assumethattheproject
intheexampleisalsoafixed-costproject,withatotalbudgetof$200,000.Whenthe
moneyisgone,theprojectwillend.Assume,too,thattheteamburnsabout$20,000per
sprint,whichmeansthattheteamcanrunapproximatelytentwo-weeksprintsbeforethe
projectisoutofmoney.
Intheexample,theteam’sinitialplanassumedavelocityof15to20pointspersprint.
Atthisrate,theteamcouldhaveaccomplishedtheentireproductbacklog(10sprints×20
pointspersprint=200points,theestimatedtotaloftheproductbacklog).However,the
actualvelocitiesatabitmorethanhalfwaythroughtheprojectwererunningbetween8
and14,withanaverageof11.Thismeansthatiffuturesprintsfollowthissamepattern,
theteamwillaccomplish110pointsworthofstoriesintheproductbacklog,leavingthe
restunaccomplished(11points×10sprints).
Theteamcaneasilycommunicatethepointinthebacklogatwhichthemoneywill
likelyrunoutbyaddingthatitemtothereleaseplan,asshowninFigure11-5.
FIGURE11-5Releaseplanupdatedtoshowwhentheprojectbudgetmightrunout
DeterminingtheEndGame
Allagilepracticesfocusondeliveringvaluetocustomersearly.Sometimesthismeans
thattheprojectendsearly.Sometimesitmeansdeliveringsomewhereintheoriginal
estimatedvelocityrange.Othertimes,it’sclearafterthefirstfewsprintsthattheproject
willrunoutofmoneybeforeitrunsoutofstories.Eachofthesescenariosismanageable
withintheScrumframeworkandwithanagilereleaseplan.
Releasingaprojectthatmeetseveryone’sexpectationsunderbudgetandearlierthan
expectedisagoodgoal.Thekeytodoingsoistobuildonlywhatisneededtoaccomplish
thebusinessobjectives,withoutalltheextragoldplatingandunnecessaryfunctionality
thatisrarelyorneverused.(Chapter30,“WritingContracts,”offerstwomethodsthatyou
canusetoreleaseyoursystemearlyandunderbudget.)
Mostoften,however,evenhigh-performingteamsreleasesomewherebetweentheir
minimumandmaximumvelocityestimates.Theydeliverenoughfunctionalitytomeetthe
needsofthebusiness,asplanned,bythetimetheprojectrunsoutofmoney.Theyhitthe
arrowdead-centeronthetarget.Everyoneishappy.
Thethirdoutcome,andtheoneIseemostfrequently,isareleaseplanthatpredictsthat
thebudgetwillrunoutlongbeforethestoriesdo.Thestakeholderslookattheplanand
decidethatthereisalargegapbetweenthebest-casescenarioandthetruebusinessvalue
thecustomersareaskingfor.Whenthathappens,youhaveseveraloptionsforsolvingthe
problem:
Increasevelocitybybuildingahigher-performingteam.Perhapsthereare
impedimentsinthewayortheteamneedstoimplementbettertechnicalpractices.
Increasethebudget,resultinginmoreoftheproductbacklogbeingexecuted.
Dropdesiredfunctionality.Reevaluatewhatistrulyessentialandwhatisdesirable.
Someitemsarelowerinprioritythanothersforareason.Thoughacertainfeature
mightnotmakeitintothisrelease,itmightbeacceptabletoincludeitinfuture
releases.
Regardlessofwhetheryoudeliverclosetoyourinitialbest-casescenarioorevenfalla
littleshortofyourinitialworst-casescenario,thegoodnewsis,withScrum,thecustomers
areintheloopfromdayone.Astheprojectprogresses,andthelargerstoriesbecome
clearerandreceivemoreaccurateestimates,theproductownerandstakeholdersmight
needtoconsiderwhethercertainthingscanbeleftundone,whattradeoffsneedtobe
made,orwhetherthescheduleshouldbepushedouttoaccommodatemorefunctionality.
TheadvantagetomakingthesetradeoffsinScrumisthattheyarebeingmadebasedon
softwarethatisworkingand,ideally,hascustomerandstakeholderfeedback.
Additionally,havingworkingsoftwaremeansthatlast-minuteglitchesandintegration
issuesaremuchlesslikelytoimpactthereleaselateintheschedule.
Theinitialtradeoffofhavinglessclarityinthereleaseplanactuallyprovidesan
opportunitytogivepeopleabetterproductorservice.Stakeholdersseeworkingsoftware
attheendofeachsprintandcanmakeadjustmentsbasedonwhattheysee.Theyaregiven
anupdatedreleaseplanaftereverysprint,sotheyknowwheretheprojectstandsinreal
time.Theyhaveunderstoodandbeenapartofthetradeoffsandhavehelpedguidethe
teamalongthepathofoptimaldelivery.Whentheproductisultimatelyreleased,there
shouldbenosurprises.
KeystoSuccess
Releaseplanningismeanttoprovideanswersastowhenspecificfunctionalityandthe
entireprojectwillbedone.Thoughtheseareoftenmovingtargets,withagilerelease
planning,teamsacknowledgethisfactupfrontandrevisetheirplansaccordingly.To
makeagilereleaseplansworkmosteffectively,youneedtodofivethings:communicate
upfrontandoften,updatethereleaseplanaftereverysprint,trytodothehighest-priority
itemsfirst,refineestimatesonbiggeritems,andcreateworkingsoftwareeverysprint.
CommunicateUpFrontandOften
Ilearnedthehardwaythatnomanagerorleaderinanycompanylikessurprises,nomatter
howwellintentioned.Yourreleaseplanshouldbeatopicfordiscussiononaregularbasis.
Peopleshouldbeinvitedtoaskquestionsaboutit,andyoushouldnotgetdefensive.Itisa
goodideatopostyourreleaseplanonthewallforeveryonetoseeandtorepostitevery
timethereisachange.
UpdatetheReleasePlanafterEverySprint
Scrumisallaboutchange.Yourplanwillchangefrequently,perhapsasoftenasevery
sprint,asbacklogitemsshiftinpriority,estimatesgetmorerefined,andvelocitybecomes
morereliableandpredictable.Itisimportanttoupdatethereleaseplaneverysprint.This
helpsstakeholdersknowwhattoexpectandwhentoexpectitbasedonthefeedbackthey
provideateachsprintreview.
TrytoDotheHighest-PriorityItemsFirst
Whiledoingthehighest-priorityitemsfirstmaysoundlikeano-brainer,it’soften
forgotten.Wheneverpossible,teamsshouldbeworkingonthehighest-priorityitemsfrom
theproductbacklogineachsprint.Attimes,thehighest-priorityitemmightnotbethe
itemtheteamisdyingtosinkitsteethinto,butunlessthereisacompellingreason
(dependencies,size,lackofunderstanding),it’stheonethatshouldbecompletedfirst.
RefineEstimatesonBiggerItems
Asitemsmoveuptheproductbackloginpriority,theyrequiremoreattentionsothatthey
canberefinedandsizedappropriatelyforasprint.Assuch,remembertohaveagrooming
meetingwiththeproductownerandtheteamtoreviewtheproductbacklogeverysprint.
Thisisaforward-lookingmeeting,wheretheteamandtheproductownerworktogetherto
refineandbreakdownstoriesintosmallchunksandestimatethem,andtore-estimate
otherstoriesthatmighthavegainedmoreclarity.
DeliverWorkingSoftware
OnScrumprojects,releaseplanningdoesnotdisappear;it’sjustapproacheddifferently.
Bycouchingestimatesinrangesandconfidencelevels,agilereleaseplansactually
providemoreinformationthanmoretraditionalreleaseplans.And,bycreatingan
adaptablereleaseplanthatnotonlyisdesignedforbutactuallyexpectschanges,your
stakeholdersandmanagershaveatransparentlookintohowtheprojectisdoing,where
it’sgoing,andwhattheycanexpecteverystepoftheway.
NoreleaseplanorGanttchartgivesthetruestatuslikeworkingsoftware.Working
softwareisyourbestinsuranceagainstlast-minuteproblemsderailingarelease.Nomatter
whatthereleaseplan,Ganttchart,ortaskboardsays,workingsoftwareistheonlytrue
measureofprojectprogress.Neverforgetthat.
Reference
[PMI]ProjectManagementInstitute.2008.GuidetotheProjectManagementBodyof
Knowledge,FourthEdition.UpperDarby,PA:ProjectManagementInstitute.
Chapter12.DecomposingStoriesandTasks
Writingstoriesandtasksoftherightsizecanmeanthedifferencebetweensucceeding
withScrumandfailingmiserably.It’sthatimportant.What’sworseisthatthesymptoms
ofwrong-sizedworkelements(notfinishing,poorestimation,painfuldailyscrums)don’t
atfirstseemrelatedtostoryandtasksizeatall.
Duringoneofmyfirstprojects,wefoundwewerehavingproblemscompletingour
workbytheendofthesprint.Ourfirstinclinationwastoblamethesprintlength—we
assumedalongersprintwouldsolveourproblems.Throughaserendipitousencounter,we
discoveredthatitwasactuallyourtasksandstories,ratherthanoursprints,thatneededto
beresized.
TheStory
OurswasateamthatwasnewtoeachotherandnewtoScrum.Thingsweregoingokay,
buttheteamandIwerebaffledastowhy,forthepastthreesprints,wehadneededto
returnahandfulofunfinisheditemsbacktotheproductbacklog.Wehaddiscussedthe
problematlengthbutwerenoclosertoananswer.Becauseitalwaysfeltlikeweneeded
onemoreweektotieupallthelooseends,extendingthelengthofoursprintstofive
weeksseemedtoustobetheperfectsolution.Atthesametime,though,we’dneverheard
ofsprintslongerthanonemonthsowewereunsureaboutwhattodo.
Luckilyforus,theannualAgileAllianceAgileconferencewasjustaroundthecorner.
Wehadproblemsweneededtosolveand,withenoughbegging,wereprettysurewecould
getmanagementtosendourteam.Afewweekslater,withplaneticketsandsprint
backlogsinhand,wewereofftotheconference.Ofalltheanswerswehadsetouttofind,
determiningthebestlengthforoursprintswasatthetopofourlist.
OnthefirstdayoftheconferenceIfoundmyselfinlineforcoffeewithRonJeffries.I
introducedmyselfandaskedhimifhe’dbewillingtogetlunchwiththeteam,ourtreat.
Heagreed.Itrackeddowntheteamandtoldthemthegoodnews.Everyonewasvery
excited.LaterthatdaywefoundourselvessittingwithRondiscussing,amongother
things,howlongoursprintsshouldbe.
Afterourinitialintroductionandagoodservingoffood,IstartedoffbytellingRon
aboutourteam,ourproject,andthehurdleswewerefacing.Ithenpulledoutaprioritized
listofitemswewantedtodiscussandstartedwithnumberone:thelengthofoursprints,
thetroublewewerehavingtryingtoaccomplishourworkinthirtydays,andhowwe
thoughtweshouldextendoursprintlength.
“Ron,wecannotgetourworkdoneinthirtydays.Therearealwaysstoriesleftundone.
We’vedecidedweneedtoextendthelengthofoursprintstofinishthesestories,butthe
bookssaynottogolongerthanonemonth.Whatdoyouthink?”Iasked.
“Ithinkyouneedtoshortenthelengthofyoursprints,”saidRon,bluntly.
I’msureRoncouldseetheteam’scollectivejawdropping.Ofalltheanswerswewere
expecting,thiswasnotoneofthem.
Mikechimedin,“Uh,Ron,Idon’tthinkIheardyoucorrectly—didyousaytoshorten
oursprints?”
“Yup,”saidRon.
“Imusthaveexplaineditwrong,”Isaid.“Yousee,theproblemis,oursprintsaretoo
shortalready.Wecan’tgetourworkdoneinthetimewehave.”
“No,Igetit.Butwhatmakesyouthinkthatyou’llbeabletogetanythingdoneinforty-
fivedaysorsixtydays?”askedRon.
“Simple.Wejustneedmoretime,”answeredJohn.
AtthispointRonaskedtoseeourmostrecentsprintbacklog.Weshowedhimour
backlog,aportionofwhichisillustratedhere.
RonpointedtotheestimateforCreateaConfigurationSettingsSingletonclass.
“Whyisthistaskeighthours?”askedRon.
“That’showlongitwilltake,”statedJohn,sincehewasfamiliarwiththework.
“Icandothatinfiveminutes.Whydoesittakeyoueighthours?”inquiredRon.
Johnsatthereforaminute,thinkingabouthisanswerandofalltheworkneededto
accomplishthetask.Therewasjusttoomuchtolistout.
“Ittakeseighthoursbecausethat’showlongittakes.Whyareyoupepperingmeon
this?”statedJohn,abruptly.
“Ijustwonderwhyafive-minutetaskformewilltakeyourteameighthours.How
manyotherfive-minutetasksareintherethatyouareallmaskinginhugenumbersof
hours?”askedRon.“It’snowonderyouguysthinkyouneedtoextendyoursprints;you
haveeasytasksthattakeforever!”
ItwaseasytoseethefrustrationquicklybuildinginJohn’sface.
“Ron,I’llhaveyouknowthatI’vebeenworkinginsoftwareformorethantwenty
years.IfIsaythat’showlongitwilltake,that’showlongitwilltake!”exclaimedJohn.
Ronsmiled.HehadJohnjustwherehewantedhim.
“Okay,John.You’reright.Tellme,whatdoesthistaskentail?Whatwillyoudoto
completeit?”askedRon.
Atthispoint,Johnstartedlistingnotonlyworkrelatedtothistask,likewritingtheclass
andmeetingthedonelistcriteria,butalsomanyadditionalworkitemsthatwerenot
capturedonthesprintbacklogatall.Bythetimehehadfinished,Johnhadlistedabouta
dozentasks,onlyoneofwhichwascapturedonthesprintbacklog.
“Okay,John,doyouseetheproblem?Youhavejustlistedadozentasks,eachoneof
whichshouldbelistedseparatelyonthesprintbacklogandshouldhaveanestimate.
Instead,you’veburiedthemallintothissingle,seeminglysimpleeight-hourtask,”stated
Ron.
Thelightbulbwentonforallofus.
“Iamthinkingofallthestuffwe’dhavetolistforthisDLLtask,”Isaid.“Howmanyof
ourtaskshaveotherworkitemsburiedinthem?”
“Lots,”whisperedMikeunderhisbreath.“Lots.”
“Yousee,guys,”explainedRon.“Yourproblemisn’tyoursprintlength.Youneedto
improveyourtaskdecomposition.”
Asweweresettlingintothistruth,Ronshockedusevenmore.
“So,likeIsuspected,tofixyourproblems,youneedtoshortenyoursprints.Doingthat
willforceyoutothinkcriticallyaboutyourworkanddecomposeyourtasksintosmall
units.Isuggestyoutryone-weeksprints,”saidRon.
“Aone…What?”saidJohn,verbalizingouramazementthatthiswouldevenbe
proposed.
Ronsmiledandnodded,“Oneweek.Trustme.”
Bytheendofthelunch,wewereconvinced.WelefttheconferenceandtookRon’s
advice,usingone-weeksprintstoforceustolearntodecomposework.Inthebeginning,
wefoundone-weeksprintstobeachallenge.Afterawhile,though,workinginshort
sprintsnotonlyforcedustodecomposeourtasksandourstories,italsomadeuslookat
theminanewlight.Astimewenton,wefoundourselvesaccomplishingmore,inless
time,thanweeverimaginedpossible.
TheModel
Ithappensallthetime.Scrumteamsfeelpainandimmediatelystartsecond-guessing
Scrum.Inthestoryabove,wecouldn’tfinishourstories,sowethoughtweneededlonger
sprints.Inreality,wecouldn’tfinishourstoriesbecausewewerehidingallsortsofwork
insideseeminglystraightforwardtasks.Thiscausedourestimatestobeoff,ourdaily
scrumstobepainful,oursprintstofeeltooshort,andallofustoexperienceanimmense
amountofpressure.Oursprintlengthwasn’ttheproblem.Ourabilitytodecomposework
was.
SettingtheStage
Tobetterunderstanddecomposition,firstexaminethedifferentelementsofworkthat
mightneedtobebrokendown.Theproductbacklogcontainsuserstories.Thesestories
typicallycomeinthreeflavors:epics,themes,andstories.Ateachsprintplanning
meeting,storiesarebrokendownintotasks,whicharestoredinthesprintbacklog.
LiketheLordoftheRings,anepicisvastinscope.“Redesigntheuserinterfacefor
thedocumenteditor”wouldbeanepic.
Athemeisacentralideaofthelargerepic.“Redesignthemenubarforthe
documenteditor,”mightbeathemeinsidethelargerepic,“Redesigntheuser
interface.”
Astoryisoneeventinatheme.“Redesigntheeditmenu”mightbeastoryinthe
“Redesignthemenubar”themeoftheepic“Redesigntheuserinterface”
[DICTIONARY.COM].
Tasksarethespecificactionsneededtoaccomplishastory.Theyaretheelements
thattogethermakeastorycompleteandpotentiallyshippable.
Figure12-1showstherelationshipbetweenstoriesandtasksandhowtheyfitinto
sprintsandreleases.
FIGURE12-1Task,story,sprint,andreleasemodel
Astorywillhavemultipletasks.Asprintwillhavemultiplestories.Areleasemight
havemultiplesprints.Isaymightbecausewhilemanyteamsdon’treleaseeverysprint,
someteamsactuallydo.That’swhyScrumusesthewordspotentiallyshippableto
describecompletedstories;thestoriestheoreticallycouldbereleasedattheendofthe
sprint,butitmightnotbeeconomicallypractical.
Atheme,ontheotherhand,istypicallytoobigtobecompletedinonesprintandmust
insteadbedoneoveracoupleofsprints.Anepicisevenbiggerandisoftenthesubjectof
severalsprintsorasinglerelease.
Inthestory,ourteamhadtasksthathadnotbeenbrokendownenoughandwerehiding
smallerassociatedtasks.Inmanycases,though,theproblemisthatthestoriesaretoobig
andhidelargeamountsofwork.Problemswithdecomposingworktypicallybeginatthe
storylevelandcancontinuethroughtothetasklevel.It’stoughtofindtherightbalance
betweentoomuchandnotenoughdecomposition.Thereisnoone-size-fits-allmodelout
there;everyteammustfinditsownbalance.
FIGURE12-2Big‘nHuge’s“YourAccount”page
First,youcanmanageseveralfactorsofanaccount.So,turnthatintoastory:“Asa
BnHcustomer,Icanmanagemyaccount.”Thisisagoodstory,butbysimplylookingat
thescreenshowninFigure12-2,youcanseethatitistoohighleveltomeananything;it’s
anepic.Infact,itwilllikelybringmorequestionstoyourmindthananswers:
WhatcanIdotomanagemyaccount?
CanIupdatecreditcards?
CanImanagemyaddressbook?
Giventhatyoustillhaveallthesequestions(andmore),youneedtobreakthestory
FIGURE12-3Initialstorybreakdown
Younowhavethreelargestories(Icanmanagemyorders,Icanmanagemypayment
options,andIcanmanagemysettings).Thesecanbeconsideredthemesthatrollintothe
largeepic,“Icanmanagemyaccount.”Still,youhavemorequestionsthananswers.So
youdecompose“Icanmanagemypaymentoptions”somemore(seeFigure12-4).
FIGURE12-4Furtherstorybreakdown
Whathashappened?Youhavedecomposed“managepaymentoptions”intoitsfour
primarystories,allofwhichrollupintothe“managepaymentoptions”theme,whichin
turnrollsintothe“managemyaccount”epic.
Icanmanageexistingpaymentoptions
Icaneditordeleteanexistingcreditcard
Icanaddacreditcard
Icanmanagegiftcards
Lookcloselyatthesestories.You’vecomealongway,butyoucouldgofurther.The
story“Icaneditordeleteanexistingcreditcard”shouldbedecomposed.Why?Becauseit
isreallytwodifferentstories,albeitcloselyrelated,inone(seeFigure12-5).
FIGURE12-5Decomposingthestory“Icaneditordeleteanexistingcreditcard”
Formorepractice,youmightalsodecomposethetheme“managemysettings.”(see
Figure12-6).
FIGURE12-6Decomposing“managemysettings”
Whenyoulookatthelistofstories,youprobablywanttofurtherdecomposeboth
“changemyname”and“managemyaddressbook.”Forthesakeofbrevity,just
decompose“managemyaddressbook.”OnthefictionalwebsiteBig’nHuge,Icanedit
existingaddressesorIcandeleteexistingaddresses.So,writeastory:“AsaBnH
customer,Icaneditexistingaddressessavedinmyaddressbook.”Thisisagoodlevelof
decompositionbecauseitistestableandsmall.Couldyoudecomposethatfurther?Sure.
Thequestionis,doyouwantto?LookatthedecompositionshowninFigure12-7.
FIGURE12-7Decomposingcangotoofar.
Figure12-7probablygoestoofarforastoryattheproductbackloglevel.Usersdonot
oftenupdateonlytheaddressfieldorthestate;mostofthetime,theyupdatetheentire
address.Asaresult,therightlevelofdecompositionforthisstorywouldbeattheoverall
addresslevel,notatthespecificsthatcomprisetheaddressitself.
Thisbegsthequestion—howdoyouknowwhenthestoryistherightsizeonthe
productbacklog?Iusethisgeneralruleofthumb:Astoryisattherightsizewhenit
describesthesmallestactionthatauserwouldtypicallywanttodo,oritisthesmallest
pieceoffunctionalitywithbusinessvalue.Now,thisisnotasteadfastrule,butit’sagood
guidelinethathelpsyougaugethesizeofyourstory.
TaskDecomposition
Inthischapter’sstory,theteamstrugglednotwithstorydecompositionbutwithtask
decomposition.Foramoment,I’llpretendthatmystrugglingteamisworkingonthe
interfaceforBig’nHuge’saccountmanagementscreen.Theydecideduringsprint
planningtoestimatethestory“AsaBnHcustomer,Icaneditexistingaddressesinmy
savedaddressbook”(seeFigure12-8).
FIGURE12-8Theteamdecomposesthestory“Icaneditexistingaddresses.”
AsshowninFigure12-8,theteammembersfirstbreakthestoryintotwotasks:update
configurationfileandupdateextensionDLL.Theteamthenestimatesthenumberof
hoursforeachtask.UpdatingtheextensionDLLwilltake50hours.Updatingthe
configurationfilewilltake80hours(seeFigure12-9)
FIGURE12-9Theteamestimatesthetwotasksthatmakeupthestory“Icanedit
existingaddresses.”
Atthispoint,theteamrealizesthesetasksarefartoobigtoestimateandtrack
accurately,sotheteamcontinuestodecomposethesetwotasks(seeFigure12-10).
FIGURE12-10Sampletaskbreakdownfromauserstory
Oncethesetasksareamoremanageablesize,theteamestimateseachofthesmaller
tasks(seeFigure12-11).Noticethatthetotalofthesetasks(42and96)doesnotmatchthe
team’soriginalestimatesforthelargertasks(50and80).Thatistobeexpected.Because
thelevelofdetailismuchmorefinegrained,theestimatesaremoreprecise.
FIGURE12-11Estimatingtasksizes
Arethesetasksstilltoolarge?Thatdependsontheteam.First,followtherulethattasks
shouldbecompletedinnomorethantwodays.Soimaginethatateamhasfourpeople.
Onthissprint,theteamcommittedtoanaverageof16hoursofworkburneddownper
day(4people×4hoursofburned-downwork).Theteam’smaximumtasksizeshouldbe
about8hours(2days×4maxhoursperday).Iftheteam’smaximumhoursperdaywere
6,themaximumtasksizewouldincreaseaccordingly,forexample,12hours.Iftheteam’s
maximumhoursperdaywere3,themaximumtasksizewoulddecreaseaccordingly,for
example,6hours.
Sometimesataskcanappeartobetherightsizeatfirstbutlaterturnouttobetoobig.
Forinstance,supposethatduringsprintplanning,theteamdecidesthat“Identifycustomer
acceptancetests”issizedappropriatelyat12hours.However,oncetheteamstartsdoing
thetask,itsmembersquicklyrealizesomehiddenitemsneedtobeaddressed.Theystop
anddecomposethetaskfurthertobettertrackthework:
Brainstormanddocumentacceptancetests:2h
Reviewacceptancetestswithstakeholder:3h
Brainstormadditionaltestswithstakeholder:2h
Reviewacceptancetestswithteam:1h
Addacceptanceteststoautomatedtestframework:3h
Updateacceptancetestdataelementsfornewtests:2h
Setuptheprofilertohandlenewtests:2h
Addnewteststobuildmachine:1h
Thesetasksmayfeeltoosmallatfirst;however,formanyteams,especiallythosejust
startingwithScrumorhavingtroublefinishingtheirsprints,thesetasksaretherightsize
becausetheyaresmall,easilymanageableandunderstood,andprecise.
ThebestadviceIcangiveistoquestioneverything.Lookbackatsimilarpasttasksto
seehowcloseyourcurrentestimateistotheactualtimeyouspentonthetask.Thegoalis
nottohave100percentprecision,becausethatisnotachievable,butratheradegreeof
accuracythattheteamiscomfortablewithwhileprovidingtheproductownerwithenough
informationtomaintainareleaseroadmap.
KeystoSuccess
Decomposingstoriesandtasksischallengingbutisessentialtocreatingrealisticestimates
andbecomingahigh-performingteam.Thebestwaytofigureoutifastoryortaskistoo
largeorsmallistoaskaseriesofquestionstohelpdeterminethelevelofdecomposition.
Whilethisisnotanexactscienceandnotwoteamsarealike,understandingthesebasic
elementshelpsindeterminingwhatlevelofdecompositionisrightforyou.
Cantheteamestimatetheproductbackloginstorypoints?(Ifthisisansweredwith
aquestionlike“Whatarestorypoints?”thenyouranswerwilllikelybeno.)Putting
thataside,ifyoucanestimateyourproductbackloginstorypoints,youareofftoa
goodstart.
Isthereclarityonthestoriesintheproductbacklog?Someteamshavetheirproduct
backlogsestimatedbuthavefactoreddozens,ifnothundreds,ofassumptionsinto
theirestimates.Theydothisbecausetheyhavemorequestionsthananswersbut
have“mitigated”thatbyaddingtheassumptions.Alackofunderstandingisabig
redflagthatthestoriesarelikelytoolargeandneedfurtherdecomposition.
Howpreciseareyourstories?Andwhatistherightlevelofprecision?WhileI
cannotrecommendananswerthatwouldapplytoallstories,youcanaskyourself
thefollowingsimplequestions:
–Isittestable?
–Isitsmall?
DoIunderstandthisstorywellenoughtodoitmyself?Thisrelatestobothclarity
andprecision.Ifyoudon’tunderstanditpersonally,it’slikelythatthestorylacks
eitherclarityorprecision.
Sometimesyou’llfindyourstoriesortaskshavebecometoogranular.Thishappened
earlierinthechapter,whenItooktheBnHstorydowntothemanagingaddresslinefields.
Itisimportanttoremember,though,thatsometeamsmaynotfindthislevelofdetailtoo
granular.Myadviceis,atfirst,togopastthepointofwhereyoufeelcomfortable,to
experimentwithwhatlevelofgranularityworksforyourteam.Whatmightatfirstseem
liketoomuchdetailcansometimesbetherightgranularitylevelforyou.Youcanalways
gobackalevelduringthenextsprint.
Oneindicatorthatagroupofstoriesmightbetoogranularisiftheestimateforthe
storiesiszeroorhalfapoint.Iflumpingallthestoriestogethermakesa1-pointstory,but
individuallytheyareallahalfpoint,thestoriesarelikelytoogranular.Similarly,ifeach
tasktakes15minutesbutthegroupoftaskswouldtake2hours,you’veperhapsgonea
steptoofarindecomposingthework.
Anotherindicatorthatstoriesortasksarethecorrectsizeisthatindependentestimates
duringplanningareroughlyequal.Whenstories/tasksarehidingadditionalwork,
estimateswillvarywildly.ThisdisparitycanbeuncoveredusingPlanningPoker
[GRENNING].
Intheintroductorystory,everyonewasgoodatmaskingwork.Myteamhidtasksinside
taskswithoutevenrealizingit.Topreventthisfromhappeningonyourteam,challenge
estimates.Donotchallengetheminanegativeway;strivetoseekknowledgeonhowthe
teamcameupwiththetaskestimates.Estimatecollectively.Lookforassumptions.Ensure
thatyouunderstandthestoryortaskwellenoughtodoityourself.Aboveall,don’tbe
afraidtogoabitoutsideyourcomfortzoneindecomposingwork.Youmightbesurprised
withtheresults.
References
[DICTIONARY.COM]“epic,”“story,”and“theme.”Dictionary.com.TheAmerican
Heritage®NewDictionaryofCulturalLiteracy,ThirdEdition.HoughtonMifflin
Company,2005.http://dictionary.reference.com(accessed23July2011).
[GRENNING]Grenning,James.
http://renaissancesoftware.net/files/articles/PlanningPoker-v1.1.pdf(accessedon13
March2015).
WorksConsulted
Beck,Kent.2005.ExtremeProgrammingExplained,SecondEdition.UpperSaddle
River,NJ:Addison-Wesley.
Cohn,Mike.2004.UserStoriesApplied.UpperSaddleRiver,NJ:Addison-Wesley.
Chapter13.KeepingDefectsinCheck
Potentiallyshippable.You’veheardthisphrasebeforeandyou’llhearitagain.Sowhat
aboutdefectsthen?Isastorypotentiallyshippableifattheendofthesprintithassome
defectsthatwereleftunaddressed?Thisthenleadsteamstowonderwhethereachproject
shouldhaveasprint(ortwo)dedicatedtofixingdefects.Howaboutastabilizationphase?
Afterall,youneedtoreachthemythicalcodecompletephase,right?
Defectmanagementisoneoftheeasiestthingstoforegoonanyagileproject.Afterall,
teamshavebeenconditionedtoaddressdefectsattheendofprojects.Failingtodealwith
thesedefectsonanongoingbasis,though,resultsonlyinlow-qualitysoftwareandthe
needto“buildqualityintothesystem”duringadefect-fixingphaseorsprint.
Sohowshouldateammanageitsdefects?Dozensofbooksandtechniquesexplainhow
tomanagedefects,butIhavefoundastrategythatIparticularlylikeandhavesuccessfully
appliedtoalargemajorityofmyprojects,bothbigandsmall,newcodeandlegacy
systems.I’llstartbytellingyouthestorythatledtothispattern.
TheStory
MiguelandhisteamwerenewtoScrum.Miguelwasexcitedabouthisnewroleas
productownerandhadbeenreadingbooksandpracticing.Unfortunately,becausethe
projectstartedaboutoneweekaftertheteamwasformed,hehadn’tlearnedasmuchashe
wantedyet.
Abouthalfwaythroughitsfirstsprint,theteamaskedMiguelhowhewantedtohandle
defects.
“Miguel,rightnowwe’retwoweeksintothisone-monthsprintandwe’vegotabout
twentydefects,”saidateammember.“Shouldweholdoffandhaveadedicateddefect-
fixingsprintorplansometimebetweensprintstofixdefects?”
Miguelwasabitperplexed.Everythinghehadreadledhimtobelievethatadedicated
defect-fixingsprintwasthewrongwaytogo,buthereallywasn’tsurewhattosuggestas
analternative.Asfarasheknew,theonlywaydefectswereeverfixedatthecompany
wasinadedicateddefect-fixingphase.
“Justholdoffandlet’sseehowitgoes,”saidMiguel.Bytheendofthesprint,theteam
hadfoundevenmoredefects—somany,infact,thatthesprintreviewmeetingwas
cancelled.
TheteamwentintotheretrospectiveandaskedMigueltojoin.Astheyallstarted
writingthingsonthewall,theonethatemergedwasthemostobvious:wehavetoomany
defects.
RaulwastheScrumMaster,andhesawthisasabigimpediment,soheasked,“How
shouldwehandlethedefects?”
Theteamsatthereforawhile,andthentheideasstartedcoming.
“Haveadefect-fixingsprint,”saidoneteammember.Raulwroteitonthewhiteboard.
“Howaboutwejusthaveafixedamountoftimeeachsprinttofixdefectsattheend,
sayadayortwo?”saidanother.Raulagainaddeditonthewhiteboard.
“Ireadsomewherethatteamsputdefectsontheproductbacklog.Iguesswecanjustdo
that,”addedanotherteammember.
Thentheroomwassilent,untilfinallyMiguelspokeup.
“Whydon’twejustfixtheminrealtime?”heasked.
Theteamlookedathimlikehewascrazy.
“Realtime?Asin,wejustfixthemaswefindthem?”
“Yes,”saidMiguel.“Thatwaywekeepourcostslow.Theotherideaswe’veidentified
sofarallhavethesamepattern—pushingoffthedefectsuntilsomelaterdate.The
problemis,ifwedothat,thenwe’llbewritingcodeonbuggysoftware.Howwillwe
knowifthecodewewritedayslater,ontopofabuggyAPI,let’ssay,won’thavedefects
init,too?”
Theteamsatthereabitstunned.
“Whatifwejustdothesecondoption,settingsometimeasideattheend?”someone
asked.
“Iwasthinkingaboutthat,”saidMiguel.“Sinceweneverknowhowmanydefects
we’llhaveduringasprint,it’llbenearlyimpossibletosettimeaside.Whatifwehavetoo
manydefectsandnotenoughtime?Thenwe’rebacktowherewearetoday.I’mwillingto
tryitasalastresort,butI’drathertrythereal-timethingfirst.”
Theteamsatthere,thinking.
“Yes,Ithinkyou’reright,”saidateammember.“I’mwillingtotryreal-timebugfixing,
butarewegoingtofixeverybuginrealtime?Eventhelow-prioritystuff?”
“Ithinkthemostcriticaldefectsneedtobefixedinrealtime.Anyitemsthatarelower
prioritycangobackontheproductbacklog,andI’llprioritizethem,”saidMiguel.
“That’safaircompromise.I’mwillingtotrythis,too,”saidanotherteammember.
Raultooksomenotes,“Great!Thenit’ssettled.We’lldoreal-timebugfixing.Now,
let’sfigureoutwhatthatreallymeans.”
TheModel
Iamastrongadvocateforprioritizingqualityaboveallelse,whenitmakessense.Ialso
understandthatevencodethatlivesuptothehighestqualitystandardswillneverbe
perfect—willneverbeforeverfreefromdefectsandmaintenance.Assuch,Iacceptthat
defectsareapartoflife.Thatdoesn’tmean,however,thatteamsdon’tneedatechnique
formanagingthem,preferablyinrealtime.
Thefirststepindefectmanagementistorealizewhatisimportanttothecustomers,the
productowner,andtheteam.Customerswanttheteamtodeliverfeaturesthat,atleastin
theory,canbereleasedtoproduction;theydon’twanttopayfordefects.Productowners
wanttomeettherequestsoftheircustomers;theyknowthatcustomerswantdefect-free
code.Teamswantthefreedomtomitigateagainstdefectswhentheyrealizeapieceof
theircodeisinbadshape.
Thesecondstepindefectmanagementistounderstandthatfrequenttestingreduces
overallprojectcostsanddefects[BECK]andthatit’sjustplaincheapertofixdefects
soonerratherthanlater.Howmuchcheaper?Industrystandardnumberstofixadefect
rangethatfollowsfamiliar1:10:100rule,wherethingsidentifiedontheteammember’s
desktophaveacostofone,andastheymovethroughthesoftwarelifecycle,theyget
exponentiallymoreexpensive.InBarryBoehm’sdatafromSoftwareEngineering
Economics,heobserveda4:1cost/fixratio[BOEHM].Myfavoritestudy,however,was
donein2002.JohannaRothmanpublishedanarticleontheStickyMindswebsite
[ROTHMAN].Inherarticle,basedoncustomerssheworkswith,sheconcludedthata
teamthatwaitsuntiltheveryendtofixdefectswillhaveadefectcostprice400percent
largerthanateamthataddressesdefectsinrealtimeornearrealtime.
Allthisdatawasenoughtoconvincemethatitisjustbettertofixdefectsinrealtime.
Fromthis,Icreatedasimplemodelthatgivesteamsthefreedomtofixcriticaldefectsin
realtime,whileallowingtheproductownertoprioritizelesscriticaldefectsusingthe
productbacklog.Inessence,alldefectsareratedonapriorityscaleof0to3,where
priority0andpriority1arecriticaldefectsandpriority2andpriority3arelesscritical.
Theteamhasfullauthoritytofixp0andp1defectsastheyseefit.Thep2andp3defects
areputontotheproductbacklogtobereviewedandprioritized.
Atthispointyoumaybewonderinghowtodifferentiatebetweenp0,p1,p2,andp3.
Determiningthesevaluesisessentialinguidingtheteammembersastowhentheyshould
usetheirfullauthoritytofixabug.Table13-1illustrateshowIratethesevalues.Usemy
definitionsasconsiderationsandnotthedefaultstandardforyourprojects.Inotherwords,
talkaboutthiswithyourteamanddecideonamodelthatworksforyouandyour
company.
TABLE13-1DefectRatingSystem
Onceyouandtheteamhavedeterminedastandardizedwaytoprioritizedefects,the
teamcanbeginrankingthemduringthesprints.Whenanewdefectsurfaces,thepersonor
pairwhodiscoveredthedefectmustquicklytriagetheissueinrealtimeanddetermineits
priorityusingthescaleinTable13-1(ortheoneyoucreate).Ifthedefectisap2orp3,the
defectisimmediatelyloggedwithasmuchdetailandasmanysupportingfilesorlogsas
possible.Thedefectnumberisthenputontheproductbacklogforreviewand
prioritizationbytheproductowner.
If,ontheotherhand,thedefectisap0orp1,thepersonorpairhasonehourto
accomplishthefollowingtasks:
Stoptheworktheyaredoing.
Identifytherootcauseofthedefect.
Fixtherootcause.
Updatealltests(unit,integration,acceptance).
Buildorupdateanybuildverificationtests(BVTs).
Ensurethatalltests(acceptance,unit,etc.)arepassing.
Checkthecodein.
Releasethesoftwareto,atleast,anintegrationenvironment.
Ifthepersonorpaircandothiswithinonehour,theyarenotrequiredtoopenthedefect
trackingsoftwaretologthedefect.However,ifthiscannotbedonewithinonehour,they
musttakethefollowingsteps:
1.Stopattheendofonehour.
2.Logthedefectinthetrackingsystem.
3.Continuedrivingthedefecttocompletionwiththecriterialistedabove.
4.Oncethisiscomplete,openthedefectinthetrackingsystem,writingallstepstaken
togetittocompletion,andthenclosethedefect.
5.Createanewiteminthesprintbacklogforthedefectthatwasfixed,alongwiththe
hoursspentondrivingthedefecttocompletion.
Thisisasimpleyeteffectiveapproach.Withtheteamfocusedonqualitythroughout
eachsprint(andautomatedteststofixissueswhendefectssurface),youcanreleaseona
regularbasiswithextremeconfidence.Formoreonautomatedtests,seeChapter9,“Why
EngineeringPracticesAreImportantinScrum.”
KeystoSuccess
Managingdefectsinanysoftwareprojectisachallenge.Teamshaveyearsoflearned
brainmusclememorythattellsthemtofixdefectsattheend,afterdevelopment.Asa
result,asteamstransitiontoagile,theynaturallyfeeltheyshouldfixdefectsattheendof
thesprintorhaveabug-fixingsprint.Teamsneedtoretraintheirbrains.
Thekeytoasuccessfulagileprojectistodeliverapotentiallyshippableproduct
increment,wherethecodeistestedandthetechnicaldebtislow,attheendofeachsprint.
Doingthisrequiresashiftinmindsetthatisdifficultforpeople,teams,andcompanies
alike.Changingsuchingrainedhabitsrequiresdisciplineandeffort.
Thoseofyouworkingonalegacysystemmightbelievethatthisapproachcouldnever
workforyou.Reconsider.You’reprobablyconcernedaboutthesheervolumeofissues
youwillfind.Ihearyou.Afriendofmineatalargesoftwarecompanyspenttwoyears
fixingdefectsbeforehewasabletowritemainlinecode.Thisapproach,however,allows
youtomoveforwardwithnewcodewhileloggingnoncriticaldefectsandfixingcritical
onesinrealtime.Irealizethatitcouldbedays,weeks,orevenmonthsbeforeyoufinda
goodrhythmandgetoutofdefect-fixingmode.That’sokay.Theimportantthingisthat
youstartpayingdownallthetechnicaldebtthatthelegacysystemhasaccruedwhilealso
demonstratingnewfunctionality.
Whetheryouaredoingthisonanewprojectorwithlegacycode,thisapproachexposes
technicaldebtanddefectsquickly.Beforeyoubegin,youneedtoexplaintothecustomer,
management,andstakeholderswhatyouaredoingandwhyitisimportant.Startby
buildingacommonunderstandingonwhatadefectmeansfortheteamandideallythe
grouporcompany.Next,educateyourcustomersandstakeholders.Givethemexamples
ofwhatmakesagooddefectreportandteachthemhowtowritedefectreportsthatgive
theteamtheinformationitneedstoduplicateandfixdefects.Onceyouhaveasystemin
place,communicatethepriorityofthedefectsinyourbacklogandmakeitvisibleand
available.
Byestablishingawell-understoodprocessandmakingdefectsvisible,youandyour
companycanbreakfreeofthewaterfallattitudetowarddefectsonceandforall.
AdditionalInformation
Asthesecondeditionwasbeingwritten,Iwaslookingatdifferentbugmanagement
techniques.OneofthembymyfriendBillHanlonofMicrosoftissimplybrilliant.Please
readmoreathttp://www.mitchlacey.com/blog/managing-bugs-in-scrum-and-agile-
projects.
References
[BECK]Beck,Kent.2005.ExtremeProgrammingExplained,SecondEdition.Upper
SaddleRiver,NJ:Addison-Wesley.
[BOEHM]Boehm,Barry.1982.SoftwareEngineeringEconomics.EnglewoodCliffs,NJ:
Prentice-Hall.
[ROTHMAN]Rothman,Johanna.StickyMindsWebsite.
http://www.stickyminds.com/article/what-does-it-cost-fix-defect(accessed30June2015).
WorkConsulted
Ward,WilliamT.1991.TheCBSInteractiveBusinessWebsite.“CalculatingtheReal
CostofSoftwareDefects.”
http://findarticles.com/p/articles/mi_m0HPJ/is_n4_v42/ai_11400873/(accessed30June
2011).
Chapter14.SustainedEngineeringandScrum
“Quick,wehaveaserviceoutageandweneedyoutofixit,ASAP!”Thisis,
unfortunately,quitecommoninsoftwaredevelopmenttoday.Afterdecadesof
developmentandbillionsoflinesofcodehavingbeenwritten,oftenwithoutastrategyto
managethem,teamsfindthemselvesinasituationwherelegacysystemsmustbe
maintainedevenasnewsystemsarebeingdevelopedtoreplacethem.Howcanthisissue
betackled?DoessustainedengineeringhaveaplaceinScrum?Oneteamstruggledtofind
awaytomakeitwork.
TheStory
Rohitwastheproductownerforaflightprice-trackingsystem.Theprojectgoalwasto
replaceanexistingsystemusedonlybytravelagentswithanewonethatwouldbeused
bybothagentsandconsumers.Thelegacysystemwasquiteold,withintegration
componentsthattiedbacktoanIBMS/390mainframe.Veryfewpeoplewereleftwho
knewhowtomanagethemainframetie-ins,andmaintainingthecodebasehadbecomean
ever-growingchallengefortheentirebusiness.Thenewsystemwouldbeawinfor
everyone.Inthemeantime,though,Rohit’scompanystillhadtokeeptheexistingsystem
goinguntilitsreplacementwasonline.
Thingsransmoothlyatfirst.Rohitenjoyedattendingdailyscrumsasaflyonthewall
andhearingfirsthandabouttheworktheteamwasdoing.Thenewsystemwasworking
beautifully,andhecouldtellthatheandtheteamweregoingtobeverypleasedwiththe
producttheyultimatelydelivered.Hewasconcerned,though,abouthowoftenworkon
thelegacysystemseemedtointerferewithprogressontheproject.Justyesterday,hehad
createdanalarminggraphthatshowedthereleaseplannearlyspiralingoutofcontrol,not
becauseofbadestimates,newstories,orchangestothesystemtheywerebuildingbut
becauseoftheconstant,yetstillunpredictable,demandsofthelegacysystemonthe
team’stime.Hehademailedthegraphtotheteam’sScrumMaster,Kent,withanotethat
said,“Let’sdiscuss.”
Withtheseconcernsfreshonhismind,Rohitjoinedthenextmorning’sdailyscrumjust
asTimbegantalking.
“Yesterdaythelegacysystemhadanoutage,andtheoperationsteamcalledmeforan
immediatefix.Iinitiallythoughtitwouldbeaboutanhour,butitendeduptakingmeall
dayandhalfoflastnight,soIaccomplishednothingonthestoryIhadsaidIwouldwork
on.”
“Yourstorywas‘allowanexternalcustomertoseepricesforthethreedaysbeforeand
aftertheirplannedtraveldates,’right?”askedGeorge.
“Yes,”saidTim,“andIthinkit’sathugeriskrightnow.Iwashereuntiljustafter
midnightandmybrainisfried.Idon’tknowhowusefulI’llbetoday,guys.Sorry.”
“I’llhelpyouout,”saidGeorge,“butIdon’treallyunderstandthatstory.Ifwework
together,though,wecangetthroughit.”
“Doyouhavetime,George?”askedKent.
“Tim’sstoryisahigherprioritythanmine,soI’llmaketime.Butit’sgoingtomeanthe
storyIhadplannedtofinishtodayandtheoneIhadplannedtopickupwillhavetogo
backtothesprintbacklog.Ifwedon’tbringinsomeoneelsetohelpus,we’relikelygoing
tohavetodropatleastonestoryfromthesprint,”explainedGeorge.
RohitcaughtKent’seye.KentunderstoodthatRohitwantedtotalkaboutthesystem
outageissue.Afterthemeeting,thetwowenttogetacoffee.RohitandKenthadagood
relationship.Theyhadworkedtogetheratacompanyinthepastandkneweachother’s
styleswell.Sowhentheysat,Rohitgotrighttothepoint.
“Kent,yousawthegraphIsentyouyesterday.Theteamisconsistentlyfailingto
completeallthestoriesforthesprint.And,justlikeTimthismorning,peoplealwaysgive
thesamereason:‘Wegotcalledawaysuddenlyforanurgentfixinthelegacymainframe
code.’”
“Yes,”saidKent.“Unfortunately,weseemtobetheonlyonesleftwhoknowhowtofix
it.Wehaveinheritedthetribalknowledgeofthatsystem;wecan’tjusthandtheproblem
toanothergroupbecauseexplainingitwouldtaketoolong,andthereisnoreal
documentationtohelpgetthemuptospeed.Ihavetobelievethatkeepingthelegacy
systemgoingisworththelossinvelocityonthenewproject.Wehavetobalancekeeping
ourcurrentcustomershappywiththedemandsofthenewproduct.”
Rohitwasalltoofamiliarwiththerealityoftribalknowledge.Still,hehadcustomer
expectationstomanage.
“Kent,Iunderstandourteamhasuniqueexpertiseonthelegacysystem,butweneedto
findasolutiontotheseinterruptions.Outoffourteensprints,elevenhavebeeninterrupted.
That’sunacceptable,”saidRohit.
“Idon’tseeawayaroundit.Ifthesystemgoesdown,wehavetofixitrightthen,”said
Kent.
“Agreed—livelegacysystemoutagesmusttakeprecedenceoverthenewversion.Still,
youandIbothknowthatwecannotaffordtobedistractedeverytimethereisasmall
systemhiccup,right?”askedRohit.
“Yes,butlikeTimdescribedthismorning,someofthesehiccupsaren’tsosmall.The
systemisdown,anditcantakeanywherefromonehourtoonedaytobringbackonline.
Weneverknowuntilwestartfixingithowlongit’sgoingtotake,”saidKent.
“Ihaveanidea.InthelastcompanyIwaswith,wehadadedicatedengineeringteam.
Theirprimaryjobwastokeeptheexistingsystemrunning.Ithinkitwouldworkhere,
too,”saidRohit.
“Whowouldwegettorunit?”askedKent.
“That’stheproblem.Wewouldneedtotakeoneortwopeoplefromeachteamor
projecttostafftheteam,”explainedRohit.
“That’snotlikelytohappen,”saidKent.
“You’reprobablyright,”saidRohit.“Doyouhaveanotheridea?”
“Well,whenIwasateammemberononeofourpastprojectshere,wehadthissame
issue.Whatwedid,whileitwasnotideal,wassetasideacertainnumberofhourseach
sprinttoworkontheissuesthatcameup,”saidKent.
“Whatiftherewerenoissues?”askedRohit.
“Thenwewouldtakeanotheritemofftheproductbacklogthatwethoughtwecouldget
doneforthesprintorwewouldcleanupthenewcode.Therewasalwayssomethingto
workon,”saidKent.
“I’mnotsureaboutthis—yousaidyouactuallyblockouttimeinthesprint?Doesn’t
thattakeawayfromthetotalworktheteamcando?Rightnowtheydelivertwentypoints
persprintwhentherearenolegacysystemissues.Won’tthismodeltakethatnumber
down?”askedRohit.
“Yes.That’softenwhatitcomesdownto,”admittedKent.
“Idon’twanttoloseteamvelocity.Dowehaveanyotheralternatives?”askedRohit.
“Well,wecouldtalkaboutthelossintermsofstorypoints,insteadofhours,for
example,buteverysolutionIcanthinkofwillultimatelylowerteamvelocity.Rohit,the
thingis,teamvelocityisdownanyway.Likeyousaid,forelevenoutofthepastfourteen
sprints,we’vefailedtodeliveronourcommitmentandalwaysforthesamereason:the
legacysystem.Whentherearenoproductionissues,ourvelocityisgreat.Theteamis
workinghardandwantstogetintoadependablerhythm.Eachtimetheyhavetocometo
asprintreviewwiththeirheadshunglowbecausetheyhaven’tfinished,moraledropsa
littlefurther,”saidKent.
“Yes.Icanseehowthatwouldhappen.Wedon’twantthat.Loweringvelocityisn’t
ideal,butitiscertainlybetterthanloweringmorale.And,partoftheproblemnowisthatI
can’tmakeanyplansbecauseIhavenoideawhatthevelocityisgoingtobefromsprintto
sprint.I’matthemercyofthelegacycode.Ifwecouldfindawaytostabilizethevelocity,
Icouldpredictreleases,”Rohitmused.“Let’ssitdownandseeifwecanworksomething
out.”
KentandRohitspentthenextcoupleofhourslookingatthehistoricalsprintdatathe
teamhadaccumulated.Theyfoundthattheteammissedabout50hours’worthofworkon
averagefromsprinttosprint.Somesprintswerehigher,somewerelower,butthisgave
themthenumbertheywerelookingfor.Theyusedthisdatatobuildasustained
engineeringplanthatwasadequateforthebusinessandtheteam.
TheModel
Therearemanyapproachestosustainedengineering(SE),twoofwhichwerediscussed
byKentandRohit.ThemodelsIdiscussnext,allocatingacertainamountoftimefor
unforeseenissues(dedicatedtime)orhavingadedicatedteam,areonesIhaveusedwith
greatsuccess.
DedicatedTimeModel
Inthededicatedtimemodel,asingleScrumteamisresponsiblebothforworkingthrough
theproductbacklogonthedevelopmentprojectandalsofordedicatingtimetoworkon
issuesthatmightsurfacefromanexistingproductorservice.Theseteamstreatlegacy
systemworkjustastheywouldvacationtimeorothercommitments:Theysubtractitfrom
thetimeavailableforsprintbacklogitems.Oncethat’sdone,theteamcontinueswith
sprintplanningandbreaksdownandestimatestheworkaccordingly.Anexampleofthis
isshowninFigure14-1.
FIGURE14-1Workonlegacysystemissubtractedfromtimeavailableforsprintbacklog
items.
Determininghowmanyhourstodeductfromtheteam’ssprintisachallengeifyou
havenotbeencapturingthedata.Iftheteamdoesnotknowhowmanyhoursithasspent
inthepastonoutagesandsustainedengineering,takeaguess.Afterall,yourteamwill
haveexperience,sotheguessshouldbesomewhataccurate.Then,aseachsprint
progresses,gatherrealdataeachtimeaneventrequirestheteam’sattention.Thisdata
allowsfutureguessestobemoreaccurate,asshowninFigure14-2.
FIGURE14-2Collectdatatomakeestimatesbetter.
DataGatheredoverTime
InFigure14-2,noticethattheteamhasfivesprints’worthofdata.Ithasspentbetween50
and90hourspersprintonsustainedengineeringtasksand210to250hoursonstories
fromthesprintbacklog.Theproductownernowhasenoughinformationtoseethathecan
havehighconfidenceintheteambeingabletocompleteupto210hoursofstory-centered
workandsomepotentialfortheteamtocompleteupto250hoursofstorytaskspersprint.
Theproductowneralsoknowsthatanyhoursabove250willlikelybededicatedto
sustainedengineeringwork.
Theadvantagesmayincludethefollowing:
Thepeopleworkingonthenewversionfeelthepainofthelegacysystem,helping
toensurethesameshortcomingsarenotrepeated.
Itmaybecheaper.
Fixestothelegacysystemcanbe(nearly)immediatelyincorporatedintothenew
system.
NoonefeelsexiledtoadedicatedSEteam.
Thedisadvantagesmayincludethefollowing:
Personnel-andteam-switchingcostsarehigher,especiallyifissuessurfaceinsmall
pieceseachday.Multitaskingandcontextswitchingcandramaticallyhurt
productivity.
Theconstantshiftfromthenewsystemtoaddressinglivesystemproblemscan
causefrustrationovertime.
Someissuesmaytakelongerthantheallocatedtime.
Fluctuationsinoutageissuesmaycauseteamvelocitytovarywidely,resultingin
poorpredictability.
DedicatedTeamModel
Inthestory,Rohitsuggestedcreatingateamdedicatedsolelytomaintainingthelegacy
system.IusedasimilarapproachmanytimesatMicrosoftandothercompanies.Itisa
pull-basedsystemthatborrowssomeelementsfromScrumandKanban/Lean.
JustlikeaScrumteam,adedicatedsustainedengineeringteamshouldcontainallthe
skillsnecessarytodothework.Also,justlikeaScrumteam,theteamshouldworkfroma
backlogthathasbeenprioritizedbythestakeholders;onlyinthiscase,thebacklogis
madeupofissuesratherthannewfeatures.Theissuescanbeinaproductbacklog,orthey
canbeonaboardfortheteamtopullfrom.And,justlikeaScrumteam,thesustained
engineeringteamshouldhaveaproductownertoensurethatissuesarebeingtriagedsuch
thatthehighest-priorityitemsarebeingworkedonatalltimes.
Thesprintlengthmustbeshorterthanby-the-bookScrum,allowingtheteamtoreact
morequicklytochangingconditionsandproblems,astheyariseinrealtime.Iadvocate
andpreferdailysprints,butsomeissuesmaynotbeabletobefixedandreleaseddaily.In
theseinstances,theissuesarereportedondaily,bothtostakeholdersandtotherestofthe
team.
Whenateamisreleasingdaily,teamactivities(planning,meetings,releases,and
commitments)happenfast.Inthemorning,thereisabriefplanningsession,addressing
anynewissuesthatsurfacedovernightandanylegacyissuesstillbeingaddressed.As
teammembersaddresstheissuesandfixthem,theyreleaseeitherthroughoutthedayorat
theendofthedayinonebatch—thetimingisalwaysdependentontheorganization.At
thebeginningofthenextday,theteambrieflytalksaboutitsprioraccomplishments
beforemovingontoplanningthecurrentday.
Forlargerissues,however,dedicatedSEteamsshouldhaveweeklygoalplanning,daily
scrums,andaweeklystakeholdermeeting.
GoalPlanning
Onthefirstdayofeachweek,theteammeetstoreviewthequeueoflargeworkissuesand
toplanaweeklygoal,suchas“move50,000ordersthroughthesystem”or“reduce
customersupportresponsetimesbytenseconds.”Theteammembersreviewthecurrent
issuesbacklog,associatethemwiththegoal,anddeterminetheworktheythinktheycan
accomplishthatweek,basedontheinformationtheyhavethatday.Theyunderstandthat
theplanmaychangeifthereisasuddenoutageorunforeseenissue.
DailyReleasesandScrums
Attheendofthegoalplanningmeeting,andthenagainatthestartofeachday,theteam
shouldperformitsdailyscrum,wherethemembersdeterminewhichissuestheybelieve
theycanaddressthatdayandthencommittocompletingthem.Theyshouldalsoprovide
statusonthesame-dayissuestheyareintheprocessoffixingandplantorelease.Nearthe
endofeachday,theteamshouldalsomeettoshareprogressandimpediments,checkfor
newissuesthatneedtobeaddedtothebacklog,anddemoandreleasethework,if
possible.Theteamshoulddrivetoreleasefixesasquicklyascanbemanagedbythe
business.Myteamsreleaseddaily.Otherteamsinourorganizationreleasedweekly.The
urgencyofaparticularfixdependsonmanyfactors,includingthepainthecustomersare
experiencing.Ifanewissuesurfacesduringtheweek,itisthejobofthededicatedteamto
reacttoit.
StakeholderMeetings
Atleastonceaweek(moreoftenifanurgentissuearises),theteamshouldmeetwiththe
stakeholderstodemofixesandprioritizenewissues.Stakeholdersshouldunderstandthat
somefixesbeingdemoedmayhavealreadybeenreleased.Havingthisformalreview
helpstheteamfeelasenseofaccomplishmentandallowsthestakeholdersanopportunity
bothtocommendtheteamforitseffortsandprovideanyfeedbackintowaystheprocess
couldbeimproved.
Workingonadedicatedteamcanberewarding,butitcanalsobeachore.Still,itisone
waytomanagetheproblemoflegacysystems.
Theadvantagesmayincludethefollowing:
Dedicatedteamscanbeatraininggroundfornewemployees,whocancycletonew
productteamsafterthey’velearnedtheexistingsystems.
Dedicatedteamscanrespondquickly.
Teammembersare(orwillbecome)expertsonthelegacysystem.
Theyaregenerallyabletoaddressissuesmorequicklythannewproductteams.
Theyareabletoreleasemoreoften.
Thedisadvantagesmayincludethefollowing:
Theworkisoftenboringandrepetitive.
Teammembersmaynothavepassionfortheirwork.
Moralesuffersifquickwinsarenotshown,recognized,andacknowledged.
Dedicatedteamscostmorebecausepeoplewithspecializedskillsetswillneedtobe
replicatedonthededicatedteamandinthelargerorganization.
Otherteamsmaybelessconscientiousknowingsomeoneelsewilldothecleanup
workforthem.
KeystoSuccess
JeffSutherlandoncetoldmethebestcodeisnocodebecausenocodeissustainable,
maintainable,performswell,andcostsnothing.Unfortunately,teamsmustwritesome
codetobuildsystems.Andallcode,oncewritten,islegacycode.Legacycodethathas
supportingelements,suchasunittestsandautomatedacceptancetests,andiswell
documentedandcleanischeapertomaintain,butmaintenancecostsandresponsibilities
canneverbeeliminated.
Regardlessofthemodelyouchoosetosupportlegacycode,remembertotreatyour
sustainedengineeringprocessasyoudotheprocessforteamsbuildingnewfeaturesand
functionality:Evolveitovertime,makingchangesthatallowtheteamtobemore
successful.
CycleDedicatedMaintenanceTeamMembers
Ifyourorganizationusesadedicatedmaintenanceteam,itsmemberscan(andprobably
should)becycledbetweenateamthatisdevelopingnewfeaturesandfunctionalityand
themaintenanceteam.Thisisimportantforseveralreasons.First,ithelpsprevent
specialistskillproblems.Specialistskillsarethosebuiltupovertimewhenpeopledothe
samerepetitivetasksoverandoveragain,especiallyiftheyareworkingonthesame
technologyorfunctionalareaofasystem.Switchingpeoplekeepsthemfresh.Italso
helpsmitigatefrustrationandboredom.Ioftenseepeoplebecomeenviousofotherswho
areonnewfeatureteamsbecausethatiswherethefunis—theyarecreatingsomething
newascomparedtocleaningupsomeoneelse’smessthathasbeenlongsinceforgotten.
Cyclingpeopleamongteamshelpsalleviatetheseissues.
RetrofitLegacyCodewithGoodEngineeringPractices
Ioftenseeteamsthatfollowthededicatedtimemodelbutonlyapplytheirengineering
practices,suchastest-drivendevelopment,tothenewproductsorservicesthattheyare
building.Whenalegacysystemissuesurfaces,theythrowthosepracticesaside.Inmost
cases,thisisthewrongapproach.Thededicatedtimemodelneedstofactorintheeffortto
buildintothelegacycodeunittests,acceptancetests,andanyothermodernengineering
practicetheteamhasimplemented.AgreatresourceformanaginglegacycodeisMichael
Feathers’WorkingEffectivelywithLegacyCode[FEATHERS].
IntheEnd
Supportingalegacysystemwhiletryingtobuilditsreplacementisinherentlydifficult.
Whateverapproachyouchoose,themostimportantthingistoacknowledgethatmakingit
workrequiresacommitmentofeithertimeorpersonnel.MartinFowlerintroducedthe
worldtothetermstranglerapplicationin2004[FOWLER].Hisblogpostillustratesatrip
hetooktoAustraliawherehesawfigtreeswithstranglervinesdroppingdownfromthe
highbranches.Thevineswraparoundahosttree;asthevinestakeroot,thehostdies.The
samethinghastohappentoyourlegacysystem:Thenewstranglerapplicationwill
eventuallychokeitout.Meanwhile,youneedaviableapproachthatallowsyoutoreduce
riskandmaintainfunctionalityuntilthestranglerapplicationisliveandthehostisretired.
References
[FEATHERS]Feathers,Michael.2005.WorkingEffectivelywithLegacyCode.Upper
SaddleRiver,NJ:PrenticeHall.
[FOWLER]Fowler,Martin.Personalwebsite.
http://martinfowler.com/bliki/StranglerApplication.html(accessed3March2011).
Chapter15.TheSprintReview
Ideally,thesprintreviewshouldbeplug-and-play,meaningthingsshouldjust“work.”The
teamissupposedtobeabletopreparefornomorethananhourand,withouta
presentationorunduefuss,demotheworkinanenvironmentasclosetoproductionas
possible.Inreality,though,asprintreviewcanbeenoughtomakeyourteethrattle.
Sometimesthecustomerasksaquestionyouaren’tpreparedtoanswer;occasionallya
featuredoesn’tworkasexpected;andeverynowandthen,somethingcrashes
unexpectedly.Insomecases,oneortwooftheseembarrassingmomentsoccurinevery
reviewmeeting,degradingthetrustbetweentheteamanditsstakeholdersandmaking
everysprintreviewanunpleasantanduncomfortableexperienceforallconcerned.
Thatwasthecasefortheteaminthefollowingstory.Readontofindouthowaseries
ofunfortunatemeetingsandabreakdownintrustcausedtheteamtoreconsiderthewayit
preppedforandranitssprintreviews.
TheStory
Onebyone,theteammembersslunkoutofthesprint-threereviewwithheadshunglow.
“Ican’ttakemanymoremeetingslikethat,”commentedMike,lookingsidewaysathis
teammates.“Welookedlikecompleteidiots,again!”
Mikeandtheteammadetheirwaytotheteamroomfortheretrospective.Assoonas
thedoorclosedbehindthem,thefloodgatesopened.Groans,moans,andgrumblesfilled
theroom.
ScrumMasterJimstoodupandaskedforquiet.“Writeitdown,”hesaid,motioningto
thewhiteboard.
Theteammembersgrabbedmarkersandmadetheirwaytothe“whatwentwrong”
whiteboard.Inamatterofminutes,itwasfilledwithproblems,mostofwhichcentered
aroundsprintreviews.“Everymeetingisworsethanthelast,”onesaid.Anotherread,
“Reviewsarepainfulandembarrassing.”Mike’swaswritteninlargecapitalletters,
“COULDWEPLEASESTOPSHOWINGOURBUTTSTOTHECUSTOMER!”
Oncethewhiteboardwasfilledtocapacity,theteammemberssatdown,tossedtheir
markersonthetable,andlookedatJimexpectantly.
Jimchuckled.“Okay,then.Let’sclarify.Mike,wanttostart?”
Mikedovein,“I’vereadalltheScrumbooks,andtheysaythatthesethingsare
supposedtobeplug-and-play.Noprep.Justshowup,showthenewfeatures,andthe
customersacceptit.ButeverytimeI’minasprintreviewmeeting,IfeellikeI’mina
nightmarewhereI’mbackinuniversity,thereisatestineverycourse,andIhaven’t
studiedforanyofthem!”
Michelefollowedup.“Therehasgottobeabetterway.Irefusetobelievethereare
teamsouttherethatjustshowupandeverythingworksforthem.”
“Exactly,”saidMaria.“TheyaskedsomanyquestionsthatIjustwasn’tpreparedto
answer!”
Jiminterjectedwithanideahe’dgottenfromoneoftheotherteamsinthecompany.
“YouallknowSam’steam,right?Italkedtohimlastweek,andhesharedhisteam’s
reviewprocedurewithme.”Jimuncoveredapre-preparedflipchartandbegantopoint
outkeyelements.“Theteamusestheseslidetemplateswithspotstoplugininformation
abouteachsprint.Theslidesdetailwhattheteamcommittedto,whatitgotdone,project
metrics,andmore.”
“Doesn’tthatgoagainstthe‘noPowerPointrule,’though?”askedMike.
“Sureitdoes,”saidJim.“Butitdoesnotgoagainstthe‘usecommonsense’rule.”
Micheleandtherestoftheteamlaughed.
“Reviewsshouldbeeasy,”Jimcontinued.“Ithinkifwedoafewthingsdifferently
duringthesprint,involvetheproductownermore,anddoabetterjobofcommunicating,
we’llfeelmuchmorepreparedandmuchmorecomfortable.”
Jimandtheteamdecidedtohaveaselectgroupworkonthesprintreviewproblem
immediatelyfollowingtheretrospective.Thegroupspenttwohourscomingupwitha
planforthenextsprintreview.Theplanincludedmidsprintactivitiesmeanttoinform
stakeholdersandengagetheproductowner.
Sprintfourpassedquickly.Theteamcouldhardlysitstillasthesprintreviewgot
underway.Eachofthemfeltexcitedandready.“Nicechange,huh?”whisperedMiketo
Jim.
Jimnodded.
Dan,theproductowner,kickedoffthemeeting.“Thanks,everyone,forcoming.
Normally,I’dstartthedemorightnow,butI’vebeenworkingwiththeteamonanewway
torunthemeeting.Ithinkwecanallagreethepastthreemeetingshavebeen,well,
special.”
Everyoneburstoutlaughing,eventheteam.
“Withoutfurtherdelay,letmehanditovertoMichele,oneoftheteammembers.
Michele?”Danmotionedforhertotakethefloor.
Aperplexedlookcameoverthecustomersandstakeholders.WhywasMichele,ateam
member,doingthedemo?Theproductownerhadalwaysdonethedemo.
“Thanks,Dan,”saidMichele.“Letmestartbyshowingyouapresentationofthework
wecommittedto.I’mgoingtofollowthatwithalookatwhatweactuallygotdoneand
whatwedidn’tgetdone;thenI’llshowyousomeprojectmetricsandrecapthedecisions
weallmade.WhenI’mthrough,Jimwillwalkusthroughthedemo.Ithinkthe
paperwork,allthestuffbeforethedemo,shouldtakeabout10to15minutes,leavingus
plentyofhands-ondemotime.Howdoesthatsound?”
Theyallnoddedandsatforwardintheirseatsexpectantly.Michelewentthroughher
slides,showingthecustomersandstakeholderswhattheteamhadcommittedtodoing,
whatithadgottendone,whatithadfailedtogetdoneandwhy,andthedecisionsmadeby
boththeteamandDanwiththecustomer.
“Anyquestions?”askedMichele.“No?Then,I’llturnitovertoJim.”
“Thanks,Michele,excellentrecap.Now,today,aswedemoourfeatures,wearegoing
todothingsalittledifferently.Danisonboardwiththischangeaswell,right,Dan?”
Dannoddedeagerly.
“Okay.”Jimcontinued,lookingatthestakeholdersintheroom.“Whowouldliketo
validatethefirststoryforus?”
“I’msorry.I’mnotsurewhatyou’reasking,”saidoneofthestakeholders.
“Well,”saidJim.“Whatwewouldlikeyoutodoispickanitemthatislistedas‘done’
intheslideswehandedout.Anyonewilldo.Thenwewantyoutoworkit,validateit,
playwithit—seeifitdoeswhatyouexpectordoessomethingyoudon’texpect.”
Akeystakeholder,Meher,walkedhesitantlytothelaptopandgrabbedthemouse.
“Areyousureyouwantmetodothis?”sheaskedwithgreathesitationinhervoice.“I
knowhowitshouldwork,becauseit’smystory,butIdon’twanttomessanythingup.”
“Don’tworry,”saidMike.“Youwon’tmessanythingup.Andifyoudofindaproblem
now,thatjustmeanswecanfixitsooner,whichisagoodthing.Pleasegiveitatrylike
younormallywould.”
Theteamtookacollectivedeepbreathasshemovedthemouseandstartedvalidating
theuserstory.“Asanaccountant,Icanpulluplastmonth’ssalesreportbyregion.”She
startedwiththesouthwestregion.Sheclickedit.Atfirst,nothinghappened.Threelong
secondspassed,andthenthereportappearedonscreen.
“Huh,”saidMikeunderhisbreath,butloudenoughforeveryone’seyestoshiftupin
hisdirection.Mikewasexpectingamuchfasterloadtime.
Mehercontinuedclicking,selectingvariousdrop-downs,shiftingthroughdifferent
views,andclickingthroughthedatatogetexpandedreportsontheregion.
“Thisreportlooksreallygood!”shesaid.“Iwouldexpectsomedifferentdatahere,but
it’smoreorlessmyjobtovalidateit.Ihavetimenextsprinttoworkwithyouonthat.
Hey!I’vegotaquestion:WhathappenswhenIclickthroughhere?”
Theteamhadagoodideaofwhatwouldhappen,especiallyMichele.
“Clickitandfindout,”shesaidfirmly.
Thecustomerclickedthroughoneofthereportsthathadnotbeenfullydeveloped.The
teamwatchedthepathshetooktogettoit,onethattheteamdidnotpredictorthinkthata
userwoulduse.Sheclickeditandtheapplicationsatthere.After30secondsorso,it
crashedwithanalertbox.
“IknewI’dmessitup,”saidthestakeholderapologetically.
“I’mgladyoudid,”saidMichele.“That’saworkflowwehadn’tconsidered.Mike,did
youwatchthatflowandtakenotes?”
“Gotit,”saidMike.“I’llhaveitfixedbeforewegohometoday.”
“Waitaminute,guys,”saidDan.“Ididn’tspecificallyaskforthatpartoftheworkflow
tobedonethissprint.Shouldwereallyfixit?”
“Yeah,Icanfixit.Iknowwheretheproblemis,soitwon’ttakemelong,”saidMike.
Jimnodded.“Okay.Whowouldliketotrythenextstory?”
“So,I’mabitconfused,”anotherstakeholderadmitted.“Whyareyouhavingusdo
this?Itseemslikeitwouldbemuchquickerforyoutojustshowusthefeature.This
seemslikeawasteoftime.We’renotevensurehowyou’vedesignedthesetowork.”
Jim,theScrumMaster,spokeup.“We’rehavingyoudoitbecauseyouareultimately
theoneswhowillbeusingthesoftware.Ifitdoesn’tworkthewayyouintuitivelythinkit
should,thenweneedtochangeit.Watchingyouexperimentwiththefeatureteachesus
quiteabitabouthowyouthinkandwhatatypicalworkflowlookslike,soIdon’tthink
it’sawasteoftime.Andyou’reright.Youdon’tknowhowwe’vedesignedthesetowork.
So,it’simportantthatyouputyourhandsonitandmakesureitworksforyoubeforeyou
acceptthework.
“Weknowthatthingshaven’tgonewell.Andweknowthatyou’relosingfaithinour
abilitytodeliverwhatyouneed.Bycommunicatingmoreandusingthistimetoletyou
experiencethesystem,wewillgetbetterandcanadjustwhatwe’redoingbasedonwhat
wesee.Alreadyinthisdemowe’velearnedthatthereportsloadtooslowlyandour
understandingoftheworkflowwasinaccurate.Andwe’vegottenbuy-infromMeherto
workwithusonsomedatanextsprint.Itisn’tperfect.Butit’sprogress.”
Thestakeholdersagreed,andthemeetingcontinued.Afterafewsprints,theteamand
thecustomerweremuchbetteraligned.ThePowerPointslidesreplacedformersprint
statusreports.Danworkedwiththecustomerstohelpthemunderstandthatcertain
featuresweren’tquiteperfectyetdidmeetthestatedacceptancecriteria,andusedtheir
feedbacktohelprefinetheproductbacklog.Asfeaturesbegantomatchexpectations,
everyone—theteam,thestakeholders,andDan—begantofeelmorecomfortablewiththe
process,moreateasewitheachother,andmorehopefulforthefinalproduct.
TheModel
Itiscommonfornewteamstostrugglewithsprintreviews.Afterall,formany,it’sthe
firsttimethey’vehadtostandinfrontofcustomersandstakeholdersandshowthemwhat
theyhavecreated,letalonedemoitemsthataredeliberatelylackingfullfunctionalityand
haveonlybeenaliveforafewweeks.Iftheteamfailedtocompleteitsstories,orifwhat
hasbeendoneworkspoorly,thesprintreviewcanbeawfullyembarrassing.
Thepurposeofthesprintreviewisfortheteamtoshowthecustomersandstakeholders
theworkithasaccomplishedoverthesprint.Whileideallythismeetingshouldbe
informal,manybusinessestreatitveryformally.Myadvice:Treatitinawaythatworks
foryourcompanycultureanddoesnotcausetheteamunduestress.
Thesprintreviewoccursonthelastdayofthesprint.Thedurationvariesdependingon
sprintlength.Foraone-weeksprint,themeetingshouldlastabout30minutestoanhour;
atwo-weeksprint,anhourtoanhourandahalf.Teamsrunningfour-weeksprintsshould
allowtwotofourhoursforthismeeting.Besidesacceptanceofthesprintwork,other
intendedoutcomesofthemeetingincludeadditionalcustomerinteraction,increased
feedback,andadditionsorchangestothebacklogbasedontheinteractionandfeedback.
Inthestory,Jimandhisteamdiscoveredthatitismuchmoredifficulttorunasprint
reviewthanitsounds.Thinkingthereviewwouldjusttakecareofitself,Jim’steamtried
toraceallthewaythroughthesprintwithnothoughttowardthedemo.Thesnafus,
failures,andmisunderstandingstheteamexperiencedasaresultarealltoocommonfor
newteams.Inthestory,theteam’ssolutionwastopreparemoreduringthesprint,
formalizethepresentationtoensurealltherightinformationwascommunicated,and
encouragethestakeholderstoparticipateinahands-onway.Theamountofpreparation
youdowillvarydependingonyourcompany’scultureandteam’sexperiencelevel.I’ll
walkthroughhowIprepareformysprintreviews.
PreparingfortheMeeting
First,Iamafanofusingslidesinthesprintreviewmeeting.Theyhelptheteammembers
organizetheirthoughtsandprovidesomethingforthestakeholderstotakewiththem
whentheyleave.Foreverysprintreviewmeeting,Iusethefollowingtemplate;each
bulletisanindividualslide:
Thesprintgoal
Thestoriestheteamforecasted/committedtodeliver
Thestoriestheteamcompleted
Thestoriestheteamfailedtocomplete
Keydecisionsmadeduringthesprint,whichmayincludetechnical,market-driven,
requirements,etc.(Thesecouldbedecisionsthatweremadebytheteam,the
productowner,thecustomers,oranyoneelse.)
Projectmetrics(codecoverage,etc.)
Demonstrationofthecompletedwork
Priorityreviewforthenextsprint
Dependingonthetypeofsystemyouarebuilding,youmayalsofindyouneedto
preparetechnically—forinstance,haveabuildreadyordeployedtoapreproductionor
stagingenvironment.Inthesecases,consideramockrun-through.Haveateammember
spendsometimegoingthroughandreviewingsomeofthestoriesthatwillbeshownto
thecustomers.Isthedatacorrect?Aretheconnectionstringsworking?Diddataget
repopulatedfromoneenvironmenttothenext?Thesesmalldetailscancomebacktobite
youwhenyou’reinthemeeting.
Atfirst,allthatpreparationseemstobeindirectviolationoftherules,andiftakento
theextreme,itis.Preparationshouldnotgetinthewayofthework.Spendingsometime
gettinginformationtogetherandplanningthereviewmeetinggoesalongwaytoward
makingateamappearmoreinformedandhelpingthestakeholdersunderstandwhatthey
aresupposedtobelookingfor.Idon’tlivebyahardandfastrulethattheteamcanspend
onlyonehourpreparingforthemeeting,asthisisextremelydifficultfornewScrum
teamstodo.Thatbeingsaid,there’salimittohowmuchpreptimeistoomuch.I’veseen
teamstaketwodaystogetthingsready,which,especiallyinashortsprint,isoverkilland
pointstolargerissues.Therefore,althoughnewteamswilllikelyneedmoretimetoprep
thananexperiencedteam,allteamsshouldbeworkingtowardthegoalofpreppingforan
hourorlesseachsprint.
RunningtheMeeting
Inthischapter’sstory,thecustomersendedupexecutingthefunctionalitytheteam
deliveredduringthemeeting.Thisisdifferentthanthestandard“theteamdemonstrates
thework”approachinScrum.Onmyteams,Iasktheproductownertofacilitatethe
meeting(justasaScrumMasterwouldfacilitatetheretrospective),theteamtodoahigh-
levelreviewofthestories,andthecustomersandstakeholderstoexecute/demonstratethe
storieswhiletheteamobservesthebehavior.
Wheneverpossible,Ialsoliketoincludetheprocessofmovingtheinstallationoffthe
buildpathandintotheenvironmentaspartofeveryreview.Ialwaysstartwithafresh
install,doingtheactualinstallduringthereview,withthecustomerintheroom.For
example,ononeWindowsapplicationprojectwhereIwasaproductowner,astoryinthe
firstsprintreviewwastoinstalltheapplicationfromthelatestbuildoffthebuildbox,an
acceptancetestthatwouldrecurinfuturesprints.Thebuildwasnevermorethanfiveor
tenminutesold.Ononeoccasion,tosavetime,wehadtheapplicationpreinstalledona
computerwewereusing.Thecustomershadgrownsoaccustomedtoseeingthe
installationatthedemothattheycomplained.Weuninstalledtheapplicationonthe
computer,wenttothebuildmachine,andinstalledfreshbits.Sincethen,Itrytoinclude
installs(whenappropriate)aspartofeverysprintreview.Ithelpsbuildcustomer
confidenceandexhibitsaleveloftransparencythatcustomersmighthaveneverwitnessed
before.
Oncethedemoiscomplete,teamsshouldaskthecustomerstoacceptthework.After
all,thecustomershavehadthechancetodemothefeaturesthemselves,andtheteam
shouldbeconfidentthattheworkispotentiallyshippableatthispoint.
KeystoSuccess
Thesprintreviewisatimefortheteamtogoonrecordandexplainwhatithas
accomplished.Likeachildeagerlyawaitingherparents’approvalfortakingoutthetrash
onherownforthefirsttime,newteamswantandneedpositivefeedbackfromthe
customersandstakeholders.
Don’tcancelthesemeetingsduetopressureorotherexcuses.Theyarecriticalandhelp
theteamdothefollowing:
Buildandmaintaintrustwiththecustomersandstakeholders
Makeprojectcoursecorrectionsinnearrealtime
Identifyrisksandissues
Gatherfeedback
Positivesprintreviewsincreasecustomerconfidenceintheteamandtheteam’s
confidenceinitself.Ifthereviewgoesbadly,thetrustwilldegrade,justashappenedinthe
story.
Atthesametime,don’tforgetthatthemainpurposeofthesprintreviewisnotaround
ofapplauseforajobwelldone.Therealgoalofasprintreviewistostopandascertain
whethertheprojectisontherighttrack.Theteamandproductownerneedtoknowwhat
theydidn’tknowthelasttimetheygroomedtheproductbacklog:howthisincarnationof
theproductworksinacustomer’shandsandwhatfeaturesneedtobechangedoraddedto
makeitmorevaluable.Thebestsprintreviewshaveanimpactonwhatoccursinthe
followingsprint.Theyincreaseboththeteam’stoleranceforchangeandthecustomer’s
expectationthattheyhavepermissiontobreakthings,tofindflaws,allinthenameof
makingtheendproductbetter.Reviews,whendoneright,fosteraspiritofcontinuous
improvementthatistrulycontagious.Tomakesureyourreviewsaredonetherightway,
taketimetoplan,documentdecisions,askforacceptance,andbebrave.
TakeTimetoPlan
Becauseapositivereviewexperienceissoimportanttotheproject’ssuccess,takealittle
timetoplanthereviewsothattheteamfeelspreparedandconfident,especiallyifyouare
anewteamorateamnewtoScrum.It’sperfectlyacceptabletouseascriptorfollowthe
slideoutline.Inaddition,theteamshouldtakethetimetopreparethedemoenvironment.
Setitupsothatthecustomerscanputtheirhandsonthenewfeaturesandexperienceit
firsthand.You’llfindthattheteamalsolearnsmoreabouthowtheendusermightinteract
withtheproduct.Allowtimenotonlyforthemeetingbutforsomecasualchat-time
betweenthecustomerandtheteamafterthemeeting.Iallow30minutesbetweenthe
sprintreviewandtheretrospectivesothattheteamandthecustomerfeelfreetointeract
informally.
DocumentDecisions
Peopleallforgetthings,butitseemspeopleareespeciallygoodatforgettingthethings
thattheyneedtoremember,suchasaworkflow,acolorchoice,abuttonlocation.Whena
decisionismadeduringareview,writeitdownandkeepitsafe.I’vebeenintoomany
reviewswhereacustomersays,“Idon’trememberthatdecision.I’mnotpayingforthis
andthat.”
Havingawrittenrecordofverbalagreementsmeansthatevenifsomethinghappens
fourmonthsaftertheoriginalconversation,youareabletopointtothedocumentationand
say,“Yes,wediscussedthisandagreedtomoveinthisdirectiononSeptember1oflast
year.”
AskforAcceptance
Askingthecustomertoacceptthestoriesduringthemeetingallowsyoutoreleasesoon
afterthereview.Often,however,customerswanttimetousetheapplicationbefore
pushingitout,sosometeamsopttogivethecustomersuptoaweektoformallyaccept
thework.Regardlessofwhenyougetacceptance,makesureyougetit.
Acceptanceisimportantbecauseitputspressureontheteamtoensurethefeaturesmeet
thepublisheddefinitionofdone.Onewaytohelpthecustomersfeelcomfortable
acceptingonthespotistofollowyourdonelistfaithfully,highlightitduringeachreview,
andupdateitasneeded.Ifcustomersarestillhesitanttogiveyouthegreenlight,besure
toaskwhatyoucandotomakethemfeelmorecomfortableinacceptingworkthatyouall
agreemeetsthedefinitionofdone.
BeBrave
Evenwithplanning,sprintreviewscanbeintimidating.Helpteammembersfightthrough
thefearbyremindingthemthattheyarereadyforthisreview.Theyhaveimplemented
eachfeatureasdescribedbytheproductowner.Whentheyhadquestionsaboutafeature,
theyreachedouttotheproductownerforhelp—andreceivedit.Theyhavefollowedtheir
definitionofdone,whicheveryonehasagreedshouldresultinpotentiallyshippable
workingsoftware.Thedemoenvironmenthasbeenprepared.Slidesaretheretoguide
themthroughallthattalkingandallthosepeskyquestions.
Encouragethemtorememberthatanychangesandanynewstoriesthatarisefromthe
reviewarenotonlynaturalbutdesired.Withoutchanges,theproductwouldbeexactlyas
imaginedonthefirstdaytheproductbacklogwaswritten,whicheveryoneknowsisnever
preciselywhatthecustomerwants.Byembracingreviewsandthemyriadchangesthat
comefromeachencounterwiththecustomer,theteammovesonestepclosertothegoal:
afinalproductthatdelightstheenduser.Nowthat’sachangeeveryonecanlivewith!
WorksConsulted
Schwaber,Ken,andJeffSutherland.2013.“TheScrumGuide.”
http://www.scrumguides.org(accessed28October2015).Alsoavailableat
http://www.mitchlacey.com/resources/official-scrum-guide-current-and-past-versions.
Schwaber,Ken.2004.AgileProjectManagementwithScrum.Redmond,WA:Microsoft
Press,p.137.
Chapter16.Retrospectives
RetrospectivesareoftenoneofthefirstScrumelementstogobythewayside.Asschedule
pressuresmount,teamsfeeltheydon’thavetimeforwhattheyconsidertheluxuryofa
retrospective.Onceteamsstartskippingretrospectives,thedownwardspiralbegins.
Inthestorythatfollows,visitoneteamthatiscomingoutofitsthirdsprintand
struggling.Frustrationisrunninghighanddisciplineisrunninglow.Peoplearereadyto
abandontheretrospective—notatypicalforateamgettingstartedwithScrum.
TheStory
Jamieknewtheteamwasindangeroffallingapart.Storieswereslipping,buildswere
breaking,unittestswerefailing.Itfeltliketheprojectwascrashingaroundthem.
Everyonewasfrustrated.SeveralteammembershadcometoJamieindividuallyand
expresseddisappointmentwithotherteammembersandwithScrum.Tomakeitworse,
justabouteveryonewantedtoskipthisretrospective,citingthattheyhad“realworkto
do”and“besides,theseretrospectivesareacompletewasteoftime.”Theteamneededan
intervention.
Jamieknewthattheupcomingretrospectivewouldbeaperfectopportunitytoaddress
alltheseissuesbutwasunsurewhethertheteamwouldstepuptotheplatewithout
facilitation.Thepasttworetrospectiveshadnotbeenproductive.Looselyrunbytheteam,
theretrospectiveshadmainlyconsistedoflisteningtooneortwopeoplesoapbox,either
theircomplaintsortheirideasforimprovement.Attheendofthediatribes,everyoneleft
exhaustedanddeflated.Intheend,nothinghadchanged.
Jamiedecideditwastimetotakemattersintohisownhands.Hespentacouplehours
readingaboutwell-runretrospectivesandcameupwithaplan.Afewminutesbeforethe
scheduledretrospective,Jamiewentintothemeetingroomandremovedeverychair.He
alsohungthreewhiteboardsandlabeledthem“WhatWentWell,”“WhatNeedsto
Improve,”and“Rants.”
Astheteamfilteredintotheroom,thesechangescaughttheteammembersoffguard,
especiallyBenandTodd.
“Whatgives,Jamie?”askedBen.
“Yeah,whereareourchairs?”askedTodd.
“Iremovedthem.Everytimewemeetandtherearechairs,wegooffintola-lalandon
ourdiscussionsandnothingseemstogetdone.Itookthemoutsowecanstand,likeinour
dailyscrums,”statedJamiematter-of-factly.
Theteamletoutacollectivemoan.
“What’sallthis?”askedTodd,motioningtothewhiteboards.
“Simple,”saidJamie.“Forthissprint’sretrospective,wearegoingtotalkaboutwhat
wedidwell,whatweneedtofix,andrants.”
“Rants?”askedBen.
“Yeah,rants.Thesearethingsthatwejustplaindon’tlike,andtheydon’treallyfitin
thethingstoimprovecategory.Onmylastteam,ourteamspacewasreallyhotandone
teammemberkeptwriting,inbigletters,fixtheairconditioning.Mostofusjustthought
hewasmakingnoise,butafterseeinghimwritethatforthreesprints,werealized,‘Hey!It
isprettydarnhotinhere!’andwefixedit.”
Theteamnodded.
“Sowhatdowedonow,Jamie?”askedTodd,shiftingfromonefoottoanother,anxious
togetonwiththings.“Dowetaketurnsgoingaroundtheroomtellingyouwhatwelike
anddon’tlike,andyouwriteitdown?”
“Nope.Youaregoingtowriteitdown,”saidJamie,lookingatTodd.
ToddlookedoverhisshouldertoseeifJamiewasspeakingtohim.
“Uh,me?”saidTodd.
“Everyone.”AndwiththatJamiestartedthemeeting.“WhatIwanteachofyoutodois
grabamarkerandjustwriteonthewhiteboardwhatevercomestomind,thegoodandthe
bad.Don’tworryaboutthingsthatoverlaporaresimilar;thekeyhereistogatherdataso
wecanfigureoutwhattodoaboutit,ormaybewhatnottodoaboutitinsomecases.So,
upandat’em!”
Theteammemberslookedateachotherandbegantomoveslowlytowardtheboards.
Theyallstoppedthereandstared.
Toddsteppedupandwroteunderthingstoimprove,“Testcoveragesucks!!!”
TheteamlookedatToddasifhewereasheepamongwolves.
“See,that’sallthereistoit!”saidJamie,whointurnwrotesomethingunderthethings
thataregoingwellsection,“Teamworkandtrustareimproving.”
Onebyoneeachoftheseventeammemberswrotevariousitemsonthewhiteboard.
Afterabout20minutes,theteamhadidentifiedacoupledozen.Nowcamethehardpart,
sortingthedata.
Theteammembersspentthenext15minutesclarifyingwhattheyperceivedtobe
duplicatesandclearingthemfromthelist.Oncetheduplicateswereremoved,Jamie
introducedatechniquehehadlearnedathislastcompany.
“Team,whatwearegoingtodonowisprioritizethislist.Todothat,we’reallgoingto
imaginethatyoueachhaveonehundreddollarsinyourwallets.Youronehundreddollars
canonlybespentontheitemsontheboard.Ifsomethingisreallyimportanttoyou,you
mayspendallyourmoneyonit—it’sahundred-dollarissue.Otherissuesmightonlybe
worthfivedollarsorfiftydollarstoyou.Someitemsyoumightnotwanttopayforatall.
Divvyupyourmoneyanywayyouwantamongtheissuesthatmattertoyouorthatyou
feelaremostimpactingtheteam.Oncewehaveallspentourmoney,wewilladdupthe
paymentsforeachitem.Theitemsthatreceivedthemostmoneywillbeourhigher
priorityitems;thosewiththeleastmoneyareourlowerpriorityitems,”explainedJamie.
Toddheldhishandout.“I’mbroke.I’lltakethathundreddollarsnow,”hesaidwitha
smile.
Theroomchuckledandeveryonestartedspendingthevirtualmoney.After15minutes,
theteamhadaprioritizedlistofissuesthatitneededtodiscuss.Jamiecopiedeachof
themontoanewwhiteboardandputaplussign,aminussign,oranRnexttoeachoneto
symbolizewhetheritwasanissuethatwentwell,asuggestionforimprovement,orarant.
Jamielookedattheclockandsawtheyhadabout45minutesleftintheir90-minute
retrospective,nowherenearenoughtimetoworkthroughthehigh-priorityissues.Jamie
realizedthat,giventheitemsontheboard,theretrospectivewouldrunover.Sincehe
knewaddressingtheseissueswasvitaltothisteam,heaskedtheteamtheirthoughtson
extendingthemeetingby30minutes.“Wehavetoomanyitemsinourhigh-prioritygroup
tocoverinthetimeremaining,”Jamiebegan.“Basicmathsaysthatwecanonlyspend
fourminutesoneachitem;clearlythatwon’twork.Weneedtoconsidercullingthelistor
addingmoretime.Let’sdoagutcheck.Isthislistcorrect?Isthiswherewewanttostart?”
askedJamiepointingtothetopitem.
Theteamnoddedyes.
“Great,here’swhatIproposewedo.Ratherthancutthelist,let’saddthirtyminutesto
themeeting.Thatgivesusseventy-fiveminutes—enoughtimetogetthroughmostof
theseitemsifweaddresstheminseven-toten-minuteblocks.Soundreasonable?”
Theteameagerlynoddeditsagreement.
“Perfect,”Jamiecontinued.“Let’sspendthefirstcoupleminutesofeachtimebox
makingsureweallunderstandwhattheissueis.Oncewehaveclarifiedtheissue,we’ll
makeadecisiontoactonitortoskipitforthissprint—basicallytomitigateornot.Ifwe
choosetomitigate,thenwewilldecideonactionsthatwe,asateam,willworktowardto
eitherensurewecontinuedoingit(ifit’sagooditem)oralterourbehavior(ifit’sanitem
wewanttoimprove).Then,foreachitemwechoosetoacton,we’lldeterminewhowill
volunteertodriveit,”saidJamie.
“Driveit?”askedBen.
“Yes.Eachitemwechoosetoworkonormitigateneedstohavesomeoneontheteam
lookingafterit,soifabehaviororapatterncropsup,itcanbecalledout.It’sawayto
ensurenoneofusforgetwhatwedecidedtodointhismeeting—itkeepsthediscipline
andthefocus.”
Theteambeganworkingthroughtheissues,whichrangedfrom“pairprogramming
sucksandisworthless”to“retrospectivesareawasteoftime—justmoremeetings!”The
teamclosedwithaplanonhowtohandlesomeoftheirbiggestissuesforthenextsprint.
Everyonefeltgoodcomingoutofthemeeting.Theteamwalkedoutfeelinghopefulfor
thefirsttimeinalongtime.Theyhadnotjustcomplained;theyhadactuallycomeupwith
aplantofixthings.Asdrivers,eachpersonhadsomeresponsibilityforensuringthatthe
actionstheteamhadcommittedtotakewouldcontinuethroughoutthesprint.Itwasn’tall
rightyet,butitfeltlikeitmightgetbetter.
ThePractice
Retrospectivesarenoteasy.Theytaketime,theytakecommitment,andtheytakecourage.
Whenthepressure’son,they’reoftenthefirstthingtogo.Intherushtodeliveraproduct,
havingameetingtoventyourfrustrationcanseemlikeawasteoftime.Andifthat’sall
yourretrospectiveshavebecome,Iagree.Youarewastingyourtime.
Thatdoesn’tmean,however,thatyoushouldaxeretrospectives.Onthecontrary,ifyour
retrospectiveshavebecomemeaningless,it’sevenmoreimportantthatyoudothem,and
dothemright.Whyareretrospectivessoimportant,youask?Andwhataresomekey
componentsofaneffectiveretrospective?Thenextsectionsanswerbothofthose
questions.
GiveRetrospectivesTheirDueDiligence
Retrospectivesareakeypartofateam’sinspect-and-adaptcycle.Everyotherpartofthe
sprint(sprintplanning,dailyscrums,thesprintreview)focusesondeliveringworking
software.Theretrospectiveisthesoleopportunityforteammemberstoexaminehowthey
workandhowtheyareworkingtogether.It’satimeforthemtolearnhowtoimprove,
howtoworkmoreefficiently,andhowtodeliveratahighervelocityandwithsuperior
quality.Retrospectivesareaconstantreminderoftheneedtocontinuouslyimprove,to
alwaysbemovingforward.Becausewhenateamstandsstill,itfallsbehind.
Retrospectivesalsoremindteamsoftheimportanceofcontinuingnewtechnical
practices.Ononeofmyfirstprojects,wecuttheretrospectivebecausewehadtoomuch
worktodo.(Orsowethought.Itturnsoutourrealproblemwasinproperlysizingour
storiesandtasks.)Afterafewskippedretrospectives,wehadasprintwhereateam
memberwasoutoftheofficesickforfourdays.Nooneontheteamknewwhathewas
doingwiththecode.Sure,weknewthetasks,butwedidnotknowwhathe’ddone,where
hewasatwiththestory,orthedesignapproachhewastaking.Welostfourdaysofwork.
Howdidthishappen?Ithappenedbecausewefailedtoidentifyinaretrospectivethatwe
werefallingintooldhabitsandworkingonwhatweeachspecializedin.Weweren’t
distributinginformationandknowledgeinthecodethroughpairing.Itwasn’tuntilthis
eventthatwerealized,“Wow,Iguesstheretrospectivedoeshelp!”
Retrospectiveshaveamoresubtlebenefitaswell.Theygiveteamstheopportunityto
changebehaviorandteamculture.Theyareasafeplaceforteammemberstoshare,
constructively,feedbackwithothersonhowtheiractions(orinactions)impactthequality,
morale,andattitudeoftheteam.Leftalone,thesesmallproblemsfester,likean
unattendedcut.Retrospectives,ontheotherhand,allowteamstoattendtotheirsmall
woundsquickly,reducingthechanceofinfection.
PlananEffectiveRetrospective
Everyonecanagreethatretrospectivesarevaluable.Buthowdoyourunthemeffectively,
sothattheydon’tdegenerateintoanunproductivecomplain-and-moansession?Likeany
goodmeeting,retrospectivesrunmuchmoresmoothlyiftheyarewellplannedandwell
executed.Theteamshouldnotconsideraretrospectivedoneuntilithasasolidplanof
actionbasedonwhatwasdiscussedandawaytoholdeachotheraccountabletothe
commitments.
Planninganeffectiveretrospectiveisatrickything.Someteamsareabletoaccomplish
successfulretrospectiveswithnoplanning;someteamsneedadaytoplan.Whetheryou
aretheScrumMasterornot,ifyouaretheonefacilitatingthemeeting,youareresponsible
formakingsureafewcomponentsareinplacebeforethemeetingbegins:communication,
physicalsetup,andgroundrules.Remember,doingScrumdoesnotmeanyoudon’thave
toplanandthatyougettodowhateveryouwant,wheneveryouwant.
Communication
Goodcommunicationstartswithsettingexpectationsupfront.Atthebeginningofany
Scrumproject,publishallscheduledmeetingsandsendoutnotificationstoallinvited
parties.Retrospectivesshouldbeoneveryteammember’scalendar.Inaddition,priorto
eachretrospective,sendameetingreminderthatincludesanagenda.Thisagendashould
remindeveryonewhatthemeetingisabout,whyitisimportant,thebenefitstotheteam,
andhowtoprepare.Itshouldalsoincludearoughoutlineofhowthetimewillbespent
andasentencesummarizingtheendgoal.
PhysicalSetup
Newteamsoftenstrugglewithstayingonscheduleduringthemeetings.Assuch,Ioften
removethechairsfromtheroom,asJamiedidinthischapter’sstory.Iwanttoprevent
peoplefromsittingsothattheyfocusonmovingthroughthepartsofthemeetingwithout
endlessdiscussion.Ihavebeenintoomanyretrospectiveswhereeveryoneisleaningback
inachair,debatingwithnorealoutcome.Ihavefoundthatremovingthesittingaspectof
themeetinghelpskeeppeopleontrack.Ifyouwanttokeepyourseatandhaveamore
subtlereminderoftimemarchingon,youcouldalsodisplayatimerthatcountsdowneach
timeblock,perhapsflashingyelloworredaseachsectionofyourmeetingapproachesits
close.
Hangonthewallacopyofthesprintburndown,theteamdonelist,theteam’svision
fortheprojectandthesprintitself,andacopyofanynotesfromthelastretrospective.
Thenclearnewspacetocollectdata.Pre-labelwhiteboardsorflipchartswiththeitems
fordiscussion.Inthestory,Jamieused“whatwentwell,”“whatdoweneedtoimprove,”
and“rants.”DerbyandLarsen’sAgileRetrospectivesdescribesa“mad,sad,glad”
approachtodatacollection[DERBY].Whateverapproachyouuse,makesureit’sclear
whatdatatheteamneedstocollect.
GroundRules
Manymeetingsarederailedsimplybecausetherearenogroundrules.Basicgroundrules
thatshouldbepostedintheroomandverballysharedatthebeginningofeachmeeting
includethefollowing:
Berespectful.
Donotinterrupt.
Putawaylaptopsandphones.
Parklongdiscussionsinthedesignatedlot.
Recapwhatyouheartoensureunderstanding.
Whatissaidherestayshere.
Egos,Emotions,andFocus
Everyoneontheteamshouldattendtheretrospective:BythatImeantheScrumMaster,
theproductowner,andthecoreteammembers.Teamconsultantsareoptional.
AstheScrumMasterfacilitatingthemeeting,youshouldbeonthelookoutfor
distractions,disrespectfulbehaviororcomments,andthefocus(orlackthereof)that
peoplemighthave.Ihaveseentoomanytimeswhereoneteammemberhijacksthe
retrospectivetotelltheotherteammemberswheretheywentwrong,tookabadapproach,
didn’tlistencorrectly—younameit.It’snotthatthisisbad;onthecontrary,opennessisa
corevalueofScrum.However,there’sarightwayandawrongwaytohavethese
discussions.Ifpeoplefeeldisrespected,theyshutdownandtheretrospectivecomestoa
grindinghaltofsilence,headnodding,andforcedagreementtowhatevertheaccusing
personissaying.
TheScrumMaster’sjob,then,istonoticethisaccusatorybehaviorandkeepitatbayas
muchaspossible.Ifitisarecurringpattern,theScrumMastershouldspeaktotheperson
whoiscausingtheissueoutsideofthemeeting,explaininghowthebehavioriscausinga
distractionandactuallyblockingtheteamfrombecominghighperforming.Ifthepattern
continues,moredrasticmeasuresmayneedtobetaken,suchasremovingthepersonfrom
theteamoraskinghimorhernottoattendtheretrospective.
RuntheRetrospective
AstheScrumMaster,arriveinthespaceabout15minutesearlytosetuptheroom.And
beginthemeetingassoonaseveryonearrives.Howeveryouchoosetorunthemeeting,
thefirst15minutesorsoshouldbededicatedtodatacollection.Thiscouldbeeveryone
writingonwhiteboards(asinthestory),open-space-stylestickynotes(withpeoplecalling
outtheirissues),orascribebeingresponsibleforwritingdownideasonwhiteboards.I’ve
usedallthesetechniques;therightonedependsonthegroupdynamics.Thefacilitator
shouldwatchforinteractionsbetweenpeople.Ifpeoplearewritingontheboardsor
flipcharts,theroomisusuallyveryquietatthispoint.Watchcarefullyandlistenforthe
soundsofsilentagreementordisagreement,perhapsloudhighlightingofsomething
someoneelsewrote,andmakeamentalnote.Noticeifsomeoneisnotparticipating,
hangingbackandnotengaging.Don’tsayanythinginthemeeting!Justmakeamental
notetoseehowthatpersoninteractsonceitcomestimetodiscuss.Ifsomeoneissilent
throughouttheretrospective,youshouldhaveaone-on-onediscussionwiththatindividual
afterthemeetingtogettotherootoftheissue.Onceallthedatahasbeencollected,takea
pictureofanyartifactsintheirrawstate.
Aftertheideashavebeencollected,theyneedtobeprioritized.Therearemany
prioritizationtechniques,butIfindthe“buyanissue”techniqueusedinthestorytobe
veryeffective.Itworkslikethis.Everyonehassomevirtualcurrency.Itcanbeanything.I
haveseenpeopleusePing-Pongballs,playmoney,evenjustplain“units.”Theimportant
thingistomakesurethateveryonehasthesameamountandeveryonehastheright
amount.
Iftherearemanyhigh-priorityitemsonthewhiteboardandeachpersononlyhasthree
unitstodistribute,importantthingswillgetlost.Atthesametime,ifeveryonehas1,000
unitstodistribute,toomanyitemswillbechosen.Ifyouhaveafive-personteam,start
with$25or$50.Ifyouhavealargerteam,startwith$75or$100.Youcanalways
increasetheamountifitlookslikethehigh-prioritylististoosmall.Youcanfurtherlimit
theactionbyhavingpeoplespendin$5increments.(LukeHohmanndescribesasimilar
gamecalled“BuyaFeature”inhisbookInnovationGames[HOHMANN].Itcanalsobe
usedinthissituation.)
Aftereverythinghasbeenallocated,sumupthetotals.Younowhaveyourprioritized
list.Again,takeapictureatthispointanddoagutcheck—doeseveryonethinkthisisa
goodlist?Issomethingsoblatantlyobviousthatitshouldbereconsidered?Usecommon
sense.
Nowthatthingsareprioritized,theteamneedstimetodiscussthehigh-priorityissues
andmakedecisions.Timeboxthispartofthemeetingbasedontheamountoftimeyou
haveleftandthenumberofitemsyouneedtodiscuss.Bringaneggtimerifpeoplehavea
hardtimegettingtothepoint.Onceeveryoneunderstandstheissue,ask,“Isthis
somethingwearegoingtomitigate/fixornot?”Ifno,discusswhynot.Then,moveonto
thenextitem.WhenIfacilitateretrospectivesandIencounteranissuethattheteam
decidesnottofix,Iwriteitdowninmynotestocaptureontheteamwiki.Thatway,when
theteamcomesbackandsays,“Whydidn’tweeverfixthis?”Icantellthemexactlywhy
wedecidednottodoit.Ifinditjusthelpswithdealingwithnoiselateron.
Forthethingsyoudowanttoworkonormitigate,comeupwithaplan.Forcomplex
issueswheresolutionsarenotimmediatelyapparent,nameoneortwopeopleresponsible
forcomingupwithideasandoptionsthattheteamcanactupon.Keeptheactivity
timeboxedtoacoupledays,haveafollow-upmeeting,anddecideonacourseofaction.
YouwillanswerquestionssuchasWhatarethethingspreventingXfromhappening?How
canweworkaroundit?Thisisateamexercise,somakesureeveryoneparticipates.
LikeJamiedidinthischapter’sstory,onceyouhaveaplaninplace,writeitdownand
asksomeonetohelpdriveit.Thedriveristhepersonontheteamwholooksforthat
specificbehaviororpatternandalertstheteamwhenitoccurs.Rememberthattheteam
shouldn’tjustworkonitemsthatneedimprovement;itshouldalsocontinuedoingthings
thatareworkingwell.Ononeofmyprojects,wewerenotswappingpairsenough,so
someonechosetodrivethat.Thenextsprint,thedriverspentalotoftimekeepinguson
track.Wechosetocontinueemphasizingswitchingduringournextsprint,eventhoughit
hadimproved.Duringthefollowingsprint,ourswitchingwasbetter,butwestillheard
fromourdriver,“Hey!Youswitched!Iguessyoudon’tneedmetotellyou.”Itwasa
formofpositivereinforcementthatworkedwell.
Onceyouhavealistofactionableitems,orthetimehasexpired,it’stimetoclosedown
theretrospective.Iliketoenditwithaone-to-fivequickratingof“Howwasthissprint?”
and“Whatdoyouthinknextsprintwillbe?”Oneisbad;fiveisgood.Peoplecananswer
anywaytheywant,butItrytoweedoutanyillwillintheteamthatmayrequiresome
discussion.Icareabouttheanswer,sure,butI’mmoreinterestedinhowpeopleanswer.
WhatIlookforarenonverbalcluesthatmayindicatethatwhatpeoplearesayingdoesnot
matchwhattheyarefeeling.Idon’tcallitoutinthemeeting;insteadIapproachthe
personone-on-one,tellhimwhatIobserved,andjustaskifthereisanythingwrong.Ifthe
personsaysthateverythingisfineagain,I’llletitgoandjustobservetheteamoverthe
sprint.
Afterthemeeting,theScrumMasterorfacilitatorneedstostickaroundtodocument
things.Itakedigitalpicturesandnotesandputthingsintoawiki.Ineverassociatenames
andonlyusethepicturesformyreference.Idon’tsharethembecausethenotesmightbe
misunderstoodoutofcontextorsomeonemightrecognizeaparticularindividual’s
handwriting.Partofthefacilitator’sjobistoensurethatwhathappensintheretrospective
staysintheretrospective.
KeystoSuccess
DerbyandLarsensummarizeitbestinAgileRetrospectives:“Productiveteamsjudge
retrospectivesbytheirresults”[DERBY,p.145].Icouldnotagreemore.The
retrospectiveisacrucialpartoftheinspect-and-adaptcycleinScrum.Itenablesteamsto
identifywheretheyarefallingshortandwheretheyaredoingwell.Thoughtheyare
neithereasynortrivial,retrospectivesshouldfeelgood.
Evenwithallthegoodreasonstodoretrospectives,theyarestillthefirstthingmost
teamscutwhenthey’refeelingpressuredtoperformfaster,delivermore,orincrease
quality.What’sironicisthattheyarecuttingtheonethingthatcouldhelpthemincrease
boththeirvelocityandtheirquality.Ifyourteamismakingnoiseaboutcutting
retrospectives,thefollowingactionswillhelpthemreconsider:
Showthemthewhy.
Buildagoodenvironment.
Holdthemwhenyouneedthem.
Treatretrospectiveslikethefirst-classcitizenstheyare.
ShowThemtheWhy
NewScrumteamssometimesdropretrospectivesbecausetheyfailtounderstandthe
purposeofthemeetings—thewhy.Droppingretrospectivescancausecatastrophic
problems—glitchesthatarerelativelyeasytosolvewhentheyarefreshcanstagnate,
fester,andgrowintolargerissues.Commonissuesthatmanifestthemselveswhenthe
retrospectiveiscutincludedropsinquality,avarietyoffailingtests,loweringofteam
morale,andmore.Droppingtheretrospectiveremovestheteam’sopportunitytoreflect.
Withoutreflection,theteamgetslostandwakesuponedaytolookinthemirroratavery
differentpicture.It’salmostlikegroomingyourself—mostpeopleshowerandbrushtheir
teethdailybecause,iftheydon’t,problemsstarttomanifest.Withoutlearningand
continuousimprovement,teamswillfallbacktotheiroldhabitsandbegintowonderwhat
happened—andtheywillusuallyblameScrumfortheirfailure.
BuildaGoodEnvironment
Retrospectivesdriveteamstochangetheirbehaviorovertime.Toensurethatyour
retrospectivesyieldresults,makesurethatteammembersunderstandsomebasic
principles:
Theretrospectiveisfortheteamandnooneelse.Thismeansdon’tgoblabbing
aboutwhatsomeonesaid.
Buildconfidencethroughsmallchanges.Takingontoomuchatonetimecanbuild
frustration.Takingonsmall,calculatedchangesandaccomplishingthembuilds
confidence.
Ownthechanges.Theteam,notjusttheScrumMaster,isresponsibleforits
changes.Getteammembersinvolvedindrivingthechangesidentifiedinthe
retrospective.
HoldThemWhenYouNeedThem
Retrospectivesarenotlimitedjusttosprints.Infact,itiscommontoseeretrospectives
afterarelease,alargeunexpectedissue,anything.Rememberwhyteamsdothem:sothat
theycanstop,lookatthesituation,andthenmakeadjustments.Inapostmortem,
everythinghasalreadyhappened,andtheteam’sabilitytoeffectchangeisgone.Ina
retrospective,teamsusuallyarestillactivelyengagedintheproject.Consideradding
higher-levelretrospectivesforreleases(sayeverythreemonths)and,incaseofsudden
environmentalchangessuchasunexpectedoutages,scalingupforlargerteamswithmore
people.Youcanalsoholdoccasionalretrospectivesbetweentheteamandthecustomers.
Thesecustomerretrospectivescanhelpyouidentifyareasforimprovementbetweenthe
teamandthecustomerandtheproductowner.
TreatRetrospectivesLiketheFirst-ClassCitizensTheyAre
RetrospectivesdeservemoreattentionthanIcangivetheminonechapter.Theyare
similartothesprintreviews,whichdefinethewhat,whiletheretrospectiveismoremeta
andisaboutthehow.Retrospectivesandreviewsareforumsforidentifyingandsolving
problemsandissues,formakingpeopleawareofbothwhatisworkingandwhatisnot
working,andalsoforbuildingtheteam.
Formaximumeffectiveness,youshouldreadProjectRetrospectives:AHandbookfor
TeamReviewsbyNormanKerth[KERTH]andAgileRetrospectives:MakingGoodTeams
GreatbyEstherDerbyandDianaLarsen[DERBY].WhenIfirstreadKerth’sbook,it
influencedhowIranprojectpostmortems.ItwasnotuntilImovedtoScrumandXP,
however,thatIfullyrealizedthepotentialofawell-executedretrospective.
Don’twaittomakeretrospectivesavitalpartofyoursprints.Dothework.Createthe
plans.Helptheteamgettheresultstheywant.Anddon’tsettleforonce-a-sprintvent
sessions.Whentheteammembersbegintounderstandhoweffectiveretrospectivescan
be,theywon’teverconsidercuttingthem.
References
[DERBY]Derby,Esther,andDianaLarsen.2006.AgileRetrospectives:MakingGood
TeamsGreat.Raleigh,NC:PragmaticBookshelf.
[HOHMANN]Hohmann,Luke.2007.InnovationGames:CreatingBreakthrough
ProductsThroughCollaborativePlay.UpperSaddleRiver,NJ:Addison-Wesley.
[KERTH]Kerth,Norman.2001.ProjectRetrospectives:AHandbookforTeamReviews.
NewYork:DorsetHouse.
PartIII:FirstAid
Chapter17.FacilitatingaProductiveDailyScrum
Thedailyscrum,ordailystandup,seemslikeasimpleconcept.Gathertogetherfor15
minuteseachdaytoanswerthreequestionsdesignedtohelpteamssyncupandensure
theyareontrackforcompletingthesprintgoal.Yettoooften,dailyscrumsdegenerate
intodailygrinds,eitherbecausetheydragoninterminably,becausetheylacksubstance,or
worstofall,becausetheyhavebecomefinger-pointingblamesessions.Common
symptomsofdysfunctionaldailyscrumsincludethefollowing:
Deepdives
Latecomers
Inattentiveness
Updatesthataretoolong/toovague
Exceedingthe15-minutetimebox
Recognizingandaddressingtheseall-too-commonproblemsisessentialtofacilitatinga
productivedailyscrum.Thefollowingstoryillustratesanineffectivedailyscrum.Therest
ofthechapterdiscusseswhatwentwrong,howtofixit,andwaystoensurethatyour
team’sdailyscrumbecomesandstaysproductive.
TheStory
TiagowastheScrumMasterforateam.Thoughhehadpreviouslyworkedasasenior
developerforthecompany,hewasrelativelynewtotheScrumMasterrole.Theother
teammemberswereCesar,Pedro,Nuño,Marco,Ricardo,andMariana.LikeTiago,the
teamwasnewtoScrum—bythethirdtwo-weeksprint,theteamwasstillfiguringout
“thisScrumstuff.”
Attheappointedhour,Tiagostartedthedailyscrum.“Goodmorning.It’sgoodtosee
everyone.”Tiagolookedaroundatthefacesinthecircle.“Wait,noteveryone.Hasanyone
seenCesarandMarco?”
“Ithinktheyaregettingcoffee,”saidPedro.
“Yes,Ijustgotbackfromthecoffeeshop,andtheywereinline.Whilewearewaiting,
I’dliketodiscussanarchitecturalissuewe’rehaving,”Nuñoadded.
NuñostartedtodiscusshisissuewithPedro,Ricardo,andMariana.Theyallmovedto
thewhiteboardtostarthashingouttheproblem.
“Holdon,team,weneedtowaittostartthemeeting.CesarandMarcoarenothereyet,”
saidTiago.
Nuñostoppedwriting,glancedoveratTiago,andreplied,“Whentheygethere,I’ll
stop.”Thefouratthewhiteboardthencontinuedtheirarchitecturaldiscussion.
Fiveminuteslater,CesarandMarcoshowedup.
“Hey,guys!Sorrywe’relate.Wehadacrazynightlastnight.ThisbandPivitplayed
neartheuniversity,andman,whatagreatshow!”saidCesar.
Tiagochimedin,“Okay,guys,weareallhere,solet’sstartthemeeting.Who’sfirst?”
Cesarsaidhewouldgo.“YesterdayIworkedonthexmlwebservice.Igotstuckonone
ofthedataelements,butIthinkI’vefigureditout.I’mgoingtoaskPedrotohelpmewith
ittoday,andI’llbedone,”hesaid.
“Thankyou,Cesar.Howmuchtimedoyouhaveleftonyourtask?”askedTiago.
“Ummm,aboutsixhours,”saidCesar.
“Yesterdayyousaidthesamething:sixhours.So,nowyou’resayingyouhavesix
morehours?”askedTiago.
“Yup,it’sjustnotworkingoutthewayIexpected,”saidCesar.
Pedrojumpedin.“Cesar,IthinkIknowwhyit’snotworkingthewayyouexpect.Iwas
lookingatthewebinterfaceyesterdayandsawsomeunexpectedfeaturesintherethatI
thinkweshouldaddress.”
“Doyoumeanbugs?”askedMariana.
“Yes,bugs.Butlook,”Pedrowenttothewhiteboard.“Ifweimplementtheclassinthis
fashion….”Hetrailedoffashestartedtosketchasolution.
Tiagoquietlywalkedtotheotherendofthewhiteboardandwroteanoteonit:Pedroto
workwithCesaronwebserviceissue.
“Okay,guys.I’vemarkedanotetodiscussthisafterthemeeting.Let’smoveon,”said
Tiago.
“I’llgonext!”saidanenthusiasticPedro.“YesterdayIwasworkingontheperformance
testswithMariana,andIcameacrossthisissuethatseemstobeimpactingthewaythe
dataispassedthroughthesequencingsubclass.Westartedlookingintoit,andIthinkwe
havealargerarchitecturalissuethatneedsourattention.Also,Ithinkitmightbe
impactingCesarbecausethesymptomshedescribedshowthatthewaywearehandling
ourclassvariableswillresultinbadormalformeddatabeingpassed.IthinkMarianaand
Ishouldkeepworkingonthesetests,butIalsothinkweallneedtogettogethertoupdate
thesystemarchitectureintheseareas.Idon’twanttojustrefactorit;Ithinkitneedstobe
redesigned.Ifweapproachthislikewedoourotherclassesandmodules,Ithinkwe’llbe
okay—here,letmeshowyoumyidea.”
Withmarkerstillinhandfromhislastsketch,Pedrobegantoillustratethisissueonthe
whiteboardaswell.
Becausetheywereallimpactedbythisillustration;Cesar,Mariana,andNuñoall
jumpedintotheimpromptusession.Ricardo,ontheotherhand,wasbecomingvisibly
bored.HeappearedtoTiagotobetextingwithhismobilephone.Afterafewminutes,
Ricardolefttheroom.Tenminuteslater,Ricardoreturned.Thewhiteboardsessionwas
stillinfullswing.RicardoglancedoveratTiagowitha“pleaseendthis”look.
“Okay,team.Itsoundslikethereisablockingissuehere.I’llmarkitdown,andwecan
moveon,”saidTiago.
Marianaturnedfromthewhiteboardandbeganspeaking,“YesterdayIworkedonthe
performancetestswithPedro.I’dliketokeepworkingonthat.Ialsowanttoworkonthis
architecturalissuethatsurfaced,soI’llbespendingtimeonthataswell.Oh,andIhavea
dentistappointmenttodayafterlunch;Iforgotaboutthat,soI’llbeouttherestoftheday.
Mysonhasonetomorrowmorning,soI’llbeinlate,probablyaroundnoon.”
“Whatwillyouworkontoday,Mariana?”askedTiago.
“I’mnotsure.Imean,I’vegotthisarchitecturalissue,soI’llprobablyjustworkonthat.
Oh,andtheperformancetests.AfterI’mdonewiththose,though,Idon’thaveanywork
lefttodothissprint,”saidMariana.
Ricardojumpedin,“Whatdoyoumean?Wehaveabacklogfullofwork.”
“Yes,butnoneofthetasksaretestingtasks,soI’vegotnothingtodo,”saidMariana.
Ricardonoddedhisunderstanding.
“I’llgonext,”saidMarco.“YesterdayIworkedonthisissuefrommyoldproject.It
tooklongerthanIthoughttofix,butit’saproductionissue,andI’mtheonlyonewhocan
fixit.Ithinkitwilltakemetherestoftheweek.Idon’thaveanyblockingissues.”
“Fine.Who’snext?”saidTiago.
Pedrochimedinagain.“Hey,Marco,Iknowsomethingaboutthatissue.Iwasoneof
thepeoplewhofoundit.Icanworkwithyouonittodayifyouwant.”Onceagain,he
movedtothewhiteboardtoillustratewherehehadfoundtheissue.
Mariana’seyeslitup.“I’dliketohelponthatwithyouaswell,Marco,”sheadded.
ThenextthingTiagoknew,halfoftheteamhadvolunteeredtoworkonaproduction
issueforacompletelydifferentproject.Hisdailyscrumhadturnedintoaproblem-solving
session.
“Now,holdon,”saidTiago.“Wehavecommittedtodoworkonourcurrentproject.We
needtostayfocused.Wecan’tallgooffandworkonthisissue!”
“Well,I’vegottoworkonit,”saidMarco.“Thereisnooneelsetodothework;it’sgot
tobeme.”
“We’llseewhatwecando,Marco,whatI’dexpectis—”saidTiago,buthewas
interruptedbyMarco.
“Tiago,oneotherthing,Ithinkit’stoomuchoverheadforustomeeteveryday—these
dailyscrumsseemtobeawaste.Weshouldmakethismeetingthirtyminutesandonlydo
ittwiceaweek;thatwouldbeamuchbetteruseofourtime.”
“Iagree,”saidCesar,muchtotheshockofTiago.“AndIthinkweshouldbesitting;all
thisstandingisabitofajoke!”
“Holdonaminute.Wecandiscussthisoffline;weneedtofinishthismeetingandstay
focused!”saidTiago.
Withasignofresignation,TiagoturnedtoRicardo.
“Ricardo,you’renext.”
“YesterdayIaccomplishedtheETLfromtheCRMwarehouse.TodayIplanonrunning
thedatavalidationteststoensureeverythingistransferringasexpected.I’llhavethat
finishedtodayandwillupdateallmytasksbeforeIgohome.Ihavenoblockingissues.”
“Thankyou,Ricardo.Thatwasgood,”saidTiago.“Iamabitconcernedontherestof
ourtasks,though.Haveanyofyoulookedattheburndownchartlately?Itlookslikewe
haveflatlined.”
“Sorry,that’smyfault.Iidentifiedsomenewtasksoverthelastfewdays,andIforgot
toupdatethem,sotheburndownsareabitoff,”saidCesar.“I’llgetthemupdatedright
afterthemeeting.”
Theteamstartedtodisperse,someofthemtowardthewhiteboard,otherstowardthe
coffeestation.Ricardomadeabeelineforhisdesk.Tiagoglanceddownathiswatch.“A
45-minutedailyscrum,”hethought.“Unacceptable.”
TheModel
Thedailyscrum/dailystandupisashortmeetingthattheteamholdseachdaytoshare
whateachpersonhasaccomplished,isworkingonnoworwillaccomplishthatday,and
anyimpedimentsorissuesthathavecroppedup.Forteamsnewandold,thisdaily
meetingisoftenastruggle.JustlookattheissuesTiagoencounteredwiththeteaminthis
chapter’sstory:
Peopleshowinguplate
Requeststocondensethemeetingtotwiceaweek
Wantingtositinsteadofstand
Tasksizesincreasingwithoutunderstandingtheirimpactontheoverallsprint
Deep-diveproblemsolving
Ramblingupdatesandlackofclarity
Lackofteamwork
Legacyprojectsconsumingtime
Lackoftransparency
Clearingtheseimpedimentstoaproductivedailyscrumcanseemdauntingbutis
imperative.Thetruthis,allteamscanhaveeffectivemeetings.Itjusttakessomework.
TimeofDay
Iamaskedeveryweek,“Whenshouldweholdthedailymeeting?”Somepeoplelikethe
endoftheday,somepeoplelikethebeginningoftheday,and,yes,somepeoplelikethe
middleoftheday.Irecommendholdingthedailyscrumabout15to30minutesafterthe
lastteammemberarrivesinthemorning.Thismeansthatifyourteamisanearlybunch,
arrivingtoworkby8:00,theteamshouldholdthemeetingaround8:15or8:30.Ifthelast
personcomesinat9:30,havethemeetingat9:45or10:00.Ifindthathavingthedaily
scrumatthebeginningoftheworkdayismuchmoreeffectiveforcoordinatingateam’s
actionsthanhavingitatothertimes.Ithelpstheteamstartfresh,laydowntheplanforthe
day,andgo.
StartandEndonTime
Aneffectivemeetingbeginsbystartingandendingontime.Ifsixpeoplespendanextra
fiveminutesatameeting(whetheritwasbecauseitstartedlateorendedlate),you’ve
wasted30minutes(sixpeopletimesfiveminutes).Ifyoudothateveryworkingday,
you’vewastedtwoandahalfhoursoftheweektalkingwhenyoucouldhavebeen
working.Inthischapter’sstory,Tiago’steamdidnotstartontime,andthereseemedtobe
noconsequenceforbeinglate.Asaresult,hismeetingstartedoutonachaoticnoteand
onlygotworseasitwenton.Luckily,beginningandendingasscheduledissomething
youandyourteamcanmakehappen.
LateStarts
Peoplemustarriveontime.Don’tacceptexcuses.TeammembersortheScrumMaster
shouldpolitelyremindanylatecomersthattherestoftheteamspentxminuteswaitingon
them.Ifsheerpeerpressurewon’tdoit,trypunishment.Seriously,alittlepaingoesalong
waytowardcorrectingbadhabits.Onpastprojects,myteamshavehadtheFridayFund,
wherelatecomersmakeadonationtothefund.Attheendofthesprint,theteamusesthe
fundtogooutforabeerordonatestheproceedstoacharity.Usedcorrectly,thiscanbea
greatmotivationaltool.Still,youmighthavethatoneteammemberwhosays,“I’lljust
paytwentydollarsrightnowandbelateallthetime.”Ifthathappens,you’llhaveto
consideralternativeformsofpunishment.
AnotheroptionthatIlikeisthe“pickyourownmedicine”approach;peoplewillbe
morecommittedtoarrivingontimeiftheychooseapunishmentthatmotivatesthem.
Once,whenourteamdidthis,Ichosetodo29pushupsifIwaslate,anotherteammember
chosetopayadollartotheFridayFund,andanotherchosetogowithoutcoffeeforthe
day.Thedaythatteammemberwaslatewasnotagoodday.Twohoursafterthemeeting,
theentireteambroughthimafullpotofcoffeeandbeggedhimtodrinkittomakehima
tolerableperson.Ifpeerpressureandlightheartedpunishmentsdonotwork,the
ScrumMasterneedstohaveatalkwiththeregularoffender.Bottomline:Everyoneonthe
teammustarriveontime.
Agenda,Rhythm,andLayout
Themeetingmustendontime,everytime.Somepeoplewilltrytodominatethe
conversation,otherswilldodeepdives.Stillotherswillstarttoramble.Topreventdaily
scrumsfromderailing,rememberthatuntildailyscrumsareahabit,rhythmiseverything.
Tostarteveryoneoutonthesamebeat,assoonaseveryonearrives(ontime,seeabove),
theScrumMasterorsomeoneontheteamshouldrestatethepurposeofthemeetingby
saying,“It’sgoodtoseeeveryone.Weareheretoanswerourquestions.Thesequestions
are,Whatdidyoudosincethelastmeeting?,Whatwillyoudotoday?,andWhat
impedimentsdoyouhave?(someteamsaddafourthquestion;seeChapter18,“The
FourthQuestioninScrum”).Whowouldliketostart?”Repeatthismantraeverysingle
day.Repetitionleadstomusclememory.Andgoodmeetingmusclememoryisessential
forhavinganeffectivemeeting.Ifyounoticethateveryoneisstandinginalineorinsmall
groups,suggestthattheteammembersformacircleandlookateachother—theorderof
whoisnextismoreobvious,andthetemptationtotextorhavesideconversationsis
reduced,sothemeetingtendstomovealongfaster.Italsoencouragesteammembersto
reporttoeachotherratherthantotheScrumMaster.
Interruptions
Thenextchallengeistoreduceinterruptions.Everyoneshouldbefocusedontheperson
whoisspeaking.Phonesandcomputersshouldbeputawayandsilent(orplacedintoa
basketbeforethemeetingbeginsiftheycontinuetobeadistraction).Ialsorecommend
usingatalkingobjecttokeeppeoplefromspeakingoutofturn.Thefirstpersontospeak
holdsanobject,whichhewillpassonwhenheisdone.Therulesaresimple:Whenyou
areholdingthetalkingobject,yougettotalk;whenyouarenotholdingtheobject,you
don’t.IliketouseNerffootballsastalkingobjectsbecausetheyarealwaysfuntothrow
andusuallydon’tbreakanything.Ifateammember(ormembers)interruptsanother’s
turn,thepersonspeaking(ortheScrumMaster)cangentlycuttheinterrupteroffby
wavingtoorpointingtotheobjectasavisualindicatorthat“It’smyturntotalk.”Youcan
alsoreinforcetherulebyaskingteammemberstopicktheirownmedicinewheneverthey
interrupt.
RamblesandDeepDives
Manyteamsstruggletocurtailthosewhoramblewhenansweringthethreequestionsor
begintodivedeepintotheproblemstheyarefacing.Ramblinganswersusuallymeanthat
teammembersarecomingtothemeetingunprepared.TheanswerthatPedrogaveinthis
chapter’sstoryisagoodexampleofaramble:
YesterdayIwasworkingontheperformancetestswithMariana,andIcameacross
thisissuethatseemstobeimpactingthewaythedataispassedthroughthe
sequencingsubclass.Westartedlookingintoit,andIthinkwehavealarger
architecturalissuethatneedsourattention.Also,Ithink….
Pedrogoesonandon.Thepurposeoflimitingthenumberofquestionsistokeepthings
movingandtokeeppeoplefocused.Everyteammembershouldcometoeverydaily
scrumhavingalreadyconsideredtheanswerstothethreequestions.Lackofpreparedness
isalmostasbadasbeinglatebecausethoughtheteammembersshowupontime,theyare
notreallythere.
Deepdivestypicallystartaslong-winded,ramblinganswerson“whatIdidyesterday”
andsteamrolloutofcontrolwhenotherpeoplejoinintheconversation.Thedailyscrumis
anopportunitytoexposeimpediments,notatimetocomeupwithsolutionstothe
impedimentsthathavesurfaced.Doyourememberthefirsttimethishappenedinthis
chapter’sstory?Pedrowasattheboard,describingthebugshehadfound.Pedrowasnot
tryingtoderailthemeeting;hewastryingtohelpsolvetheproblemhisteammatewas
having.Withoutinterrupting,Tiagowroteanoteonthewhiteboardtoremindeveryone
thatmorediscussionwasneeded.Hethensignaledtheteamthatitwastimetomoveon.
Byusingthisvirtual“parkinglot”forideas,Tiagodidtherightthing.Hisquietactions
keptthemeetingflowingbutcapturedthefactthataconversationwouldneedtotake
placeoutsidethedailyscrum.ThesecondtimePedroapproachedtheboardandbegan
sketching,though,Tiagoandtheotherteammembersdidnothingtointerruptthedeep
dive—notagoodthingforthemeeting,especiallysinceRicardoactuallyleftwhile
everyoneelsewasproblemsolving.
Assoonasthedeepdivebegins,someoneontheteamcanmakearolling,up-and-down
motionwithhishand(orotherwisesignaltheteam),asshowninFigure17-1;thenthe
ScrumMasterorspeakercanwriteanoteabouttheconversationthreadonthewhiteboard
inanareacalled“discussafterthemeeting”or“parkinglot.”Thisimmediatelyputsthe
teambackonthepathtoresurface.Ifthespeakerstilldoesnotreturntohisthree
questions,theScrumMastershouldremindthewaywardspeakerthattheteamiscurrently
focusingonupdatesandwillexplorehisconcernsindepthafterthemeeting.
FIGURE17-1Tosignaladeepdive,moveyourhandfollowingthispattern.
ExposeHiddenImpediments
Thedailyscrumisaboutmorethanhavingpeoplearriveontime,payattention,andgive
succinctupdates.Ultimately,thedailyscrumisintendedtoencourageteamcollaboration
andexposeanyproblemsstandinginthewayoftheteamreachingthesprintgoal.Daily
scrums,however,caneasilydegenerateintodailyprojectmanagementstatusupdates.
Lookforsignsthatyourdailyscrumisnotaccomplishingitsgoals.Warningsigns
includeteammemberswhoglossoverproblemsandwhoareoverlyvague.Eachofthese
behaviorscanstandinthewayofatrulyproductivedailyscrum.
GlossingoverProblems
Teammemberssometimesgivesuccinctupdatesbutfailtonoticeorhighlightproblems
thattheiranswersreveal.Forexample,inthischapter’sstory,Cesarstucktothescriptbut
glossedoverthefactthathistaskhadgrowninsizesincethedaybefore.Tiagodidthe
rightthingbyinterruptingtopointoutthefactthatthetaskthatwassixhoursyesterday
stillhadsixhourslefttoday.Sometimestasksgrowinsize,sothefactthatitoccurredin
thestoryisnottheproblem.ThedysfunctionisthatCesardidnotknowwhythesizewas
increasingorhowhewasgoingtocompletethetask.
Tiagopointedouttheproblemand,whenPedroofferedapotentialsolution,alsotook
thenextstepofnotingtheimpedimentontheteamwhiteboardforfollow-upafterthe
meeting.Toreachtheirgoals,teamsshouldlookforandhighlightanyissues,thenmake
planstoaddressthemafterthemeeting.
BeingVague
Often,teammembersgiveanswersthatareoverlyvague.Agoodexamplefromthis
chapter’sstorywasMariana’sanswer,whichcouldbeparaphrasedas“YesterdayIdid
sometestingandtodayIwilldosomemoretestingandIhavenoimpediments.”While
thistypeofresponsemighttechnicallyanswerthequestions,itdoesnothelptheteamor
providevaluableinsightintowhatworkisinprogress.Thisresultsinalackof
transparencyandincreasestheriskofhavingtwotasksworkedonsimultaneously.
Tohelpreducethistendency,tryrewordingthequestion“Whatdidyouworkon
yesterday?”to“Whatdidyouaccomplishyesterday?”Thatonewordservestoincrease
specificityandhelphighlighthiddenimpedimentsthatmightwarrantinvestigation.Italso
helpsteammembersfocusmorefullyonwhatthey’veactuallyaccomplishedsincethelast
dailyscrum.
EndwiththeBeginninginMind
Onceeveryonehashadanopportunitytospeak,theteamshouldquicklyreviewanyitems
thatwerecapturedonthewhiteboard.Then,themeetingshouldbeofficiallyclosedsothat
thedailycyclecanbegin.Someteammemberswillreturntotheirdesks;othersmightstay
todiscusstheitemsthatimpacttheirwork.Thereisoftennobetterwaytostarttheday
thantoaddresstheissuesthatsurfacedduringthedailyscrum.
KeystoSuccess
Whenitcomestothedailyscrum,teamswillbattlewithalltheseissuesandmore.The
secrettomakingdailyscrumseffectiveistobuildmusclememorysothatScrumandits
patternsbecomepartofthedailyroutine,likebreathing.Thekeystodoingthis
successfullyaretoputandkeepthedailyinyourdailyscrums,standup,workasateam,
andremainpatientinthefaceofresistanceanddifficulty.
KeeptheMeetingCadence
Dailyscrumsaremosteffectivewhentheyhappendaily.Inthischapter’sstory,Marco
thoughtthatmeetingeverydaywastoomuchoverhead.Heproposedthatthemeetingbe
condensedtotwodaysperweekat30minutespermeeting.Marco’sproposalhasseveral
flaws.
First,themeetingmusthappeninthesameplaceandatthesametimeeveryday.Every
day:noteveryotherday,oreverythirdday,buteveryday.It’snonnegotiable.Teamsmeet
dailytomaintainapattern,amusclememory.Theteamneedstogetusedtosynchronizing
workandmovingtogetherasateam.Itsmembersneedtomakepublic,daily
commitmentstoeachotherinsteadofworkingtowardsomedistantgoal.Theyneedthat
15minuteseveryday—andthey’relesslikelytocomplainifthemeetingactuallylasts15
minutesorless.
Besidesthat,though,valuableinformationcomesoutofdailyscrumsthatcansavetime
andmoney.ImagineifTiago’steamdidmeetonlytwiceaweek.SupposeCesarstarts
workingonhiswebservicetaskonThursday.Herunsintotrouble.Hespendsallday
FridayandalldayMondayworkingonitagain.AtTuesday’smeeting,heshareshis
problems.Pedrosays,“Oh.Ihaveafixforthat.Talktomeafterthemeeting.”Inessence,
Cesarwastedtwofulldays(FridayandMonday)workingonaproblemthatPedrocould
havehelpedhimwithatFriday’sdailyscrum—ifonlytheteamhadbeenmeetingevery
day.Spending15minuteseverydaytopreventwastingtwodaysofwork?Worthitevery
time.
Extendingthemeetingtimeisabadidea.Longermeetingsgivepeopletimetomeander
andramblethatshortmeetingsdonot.Extendingthetimespentinthemeetingonly
increasestheteam’sdissatisfactionandfeelingoftoomuchoverhead.Thedailyscrum
shouldbequick.Theteamwillalsobebuildingmusclememoryforquicklyandprecisely
coveringissues,justastheyarebuildingthemusclememoryofattendingadailymeeting.
Stand—Don’tSit
There’sareasonadailyscrumisalsoreferredtoasadailystandup—it’satimetostand.
Whydoteamsstand?First,itkeepsthemengaged.Whenseatedatatableorhiding
behindadesk,theycanfiddlewiththeirphones,flipapencil,ordoodle.Thesebehaviors
goawaywheneveryonestandsandfaceseachother.Second,standingkeepsthemeeting
short.Whenpeoplearestanding,theyareacutelyawarewhenthemeetingistakingtoo
long.Ifyou’refeelingtheneedtosit,themeetinghassomehowderailed.Third,standing
increasesenergylevelsandawareness,makingteamsmuchmorefocused.Someteamsgo
sofarastonotallowpeopletoleanonwallsordesks.Whetheryouchoosetoleanornot,
theimportantthingistostand,deliver,understandtheday,andthengettowork.
WorkasaTeam
WhenaScrumteamisreallyclicking,itisanintegratedunitworkingtowardacommon
goal,notacollectionofindividualsworkingonspecializedtasks.Onatrueteam,you
shouldneverhear,“MytasksaredoneandIhavenothingtodo”or“I’mtheonlyonewho
canfixthingsonalegacyproject.”Inthischapter’sstory,Marianamentionsthat,despite
theteam’slargebacklogofunfinishedwork,shewouldhavenothingtoworkonaftershe
completedhertworemainingtasks.ThenMarcoannounceshisexpertiseonalegacy
systemwasconsuminghistime.Bothoftheseexamplesarecluesthattheteamisstilljust
acollectionofindividuals.
Youcangaugehowwellpeoplearegellingasateambythinkingintermsoftheteam’s
busfactor.Thebusfactoristhenumberofpeopleonyourteamwhohavetobehitbya
busbeforetheprojectisinserioustrouble.Consideranyoneonyourcurrentproject.If
thatpersonleaves,istheteamabletostepupandcompletetheworkinthebacklog,orare
youleftunabletofunction,therebymissingyoursprintcommitment?Iftheansweris,
“Yikes!We’dbedeadinthewater,”yourbusfactorisone.Prepareforafailedsprintin
yournearfuture.Tiago’steam’sbusfactorisdefinitelyone.
Ifyourteamhasalowbusfactor,thefirststepistohelptheteamunderstandwhy
specializationisaproblemandhowitwillcontinuetohampereffortsunlessitis
addressed.Thesecondstepistorealizethatthereisnoquickfixorsimplesolutiontoa
lowbusfactor.Implementingcertainpractices,though,willhelp:
Workinasharedspace.
Practicepairprogrammingandtest-drivendevelopment.
Haveadedicatedteamfocusedononeprojectatatime.(SeeChapter3,“Using
TeamConsultantstoOptimizeTeamPerformance,”forhowtostructuretheteamto
makethishappen.)
Workinginasharedspacereducesmultiplebarrierstocommunication.Forexample,if
theteamfromthestoryisscatteredinofficesthroughoutabuildingandCesarwantsto
talktoRicardo,Cesarmustgetupandfindhim.Ricardomightnotevenbeinhisoffice
whenCesararrives,orhemightbebusy,butatthispointthedistractionhasalready
happened.Further,Cesarmightgetsidetrackedalongthewaybysomeoneelselookingfor
answers.Intheend,whatwouldhavebeenaquickquestioncaneasilyturnintoa45-
minuteanswersafari.Whenyouputtheteammembersinasharedspace,thesafarigoes
away.Theteamlearnshowtomanagethedistractionsonitsown.
Pairprogramming,orareal-timecodereview,isagreatwaytogetpeopleuptospeed
ontheentirecodebase.Youcantakethisastepfurtherandpracticepairprogramming
patternssuchasPing-Pongpairprogrammingorpromiscuouspairing,bothofwhichtake
theextremeinXPtothesuper-extreme.(ReadmoreaboutthesetechniquesinChapter19,
“KeepingPeopleEngagedwithPairProgramming.”)Test-drivendevelopmentbuilds
furtheronpairprogramminginthatitgivestheteamaloosesetofguidelinesand
documentationonhowthecodeworks.Ifateammembergetsstuck,hecanalwaysread
thetesttoseewhattheintentofthecodeis.
Havingadedicatedteamremovesdistractionsacrosstheboard.Insteadoffocusingon
specificspecializationssuchas“beingtheSQLguy,”theteammembersfocusonhow
theycanworktogethertosolveaspecificsetofstorieseachsprint.
BePatient
ForteamsnewtoScrum,dailyscrumsaregoingtobeachallengeatfirst.That’sagiven.
They’llfacelatecomers,ramblers,anddeepdivers.Correctingthesebehaviorstakestime
andpatience.Rememberthatitcantaketwotothreemonthsforanyonetolearnanew
behaviororpattern.Don’tdespairifitdoesn’tgoperfectlyatfirst.Keepremindingeach
otherwhyyouareallthere.Keepasenseofhumor.AndinvestinsomeNerffootballs.
Onedayyou’lllookupandrealizethatdailyscrumsarejustanotherroutinepartofyour
team’sveryproductiveday.
Chapter18.TheFourthQuestioninScrum
Supposeyouareonateamthatisbothnewlyformedandnewtopracticingagile.Your
dailyscrumsappeartobegoingwell,andyouarelookingforwardtoyourteam’sfirst
demo.Thebigdaycomes,yougetinfrontofthecustomer,andthenthefloordropsout.
Yourappstartsactinginawaythatisdefinitelynotasintended—allbecauseofahidden
blockingissue.
Youwondertoyourself,“Didn’twedoeverythingright?Didn’tweaskalltheright
questions?”Theteamdustsitselfoffandgetsreadytostartthesecondsprint.Howdoyou
ensurethatgoingforwardtheteamuncoverssubtleblockingissuesinthedailyscrum?
Addinthefourthquestion.Tohelpexplaintheconcept,I’llstartwithastory.
TheStory
TheHoppingMadDolphins(HMD)wereanewteam,bothtoScrumandtoeachother.
BecausethemembersoftheHMDteamhadallbeenburnedonprojectsinthepast,they
wereallexcitedbytheprospectofworkingonaScrumteam.Theyknewthebasicsbut
notmuchelse.Still,theyapproachedtheframeworkwithenthusiasmanddovein
headfirst,followingScrumbythebookascloselyaspossible.
Beforetheyknewit,itwastimeforthefirstdailyscrum.TheScrumMaster,Marc,was
thefirsttoarrive.HisfellowteammatesJane,Maria,Cory,andPacocameinshortly
thereafter.
“Okay,guys.Dailyscrumtime.We’resupposedtoanswerthreequestions,”saidMarc.
Hewrotethemonthewhiteboard.
“So,whowouldliketostart?”askedMarc.Theteamjumpedrightin.Theblocking
issuesranthegamutfromstoredprocedureshavingtimeoutissuestothingsthatnever
wouldhavebeenbroughtupinthepast,suchas,“It’stoohotinthislittleteamspace.”
After15minutes,theteammemberseachhadaturnandwerefeelingprettypleasedwith
themselves.
“Thisiskindoffun,”saidCoryonhiswayoutoftheroom.
“We’recommunicating!”agreedJane,half-jokingly.“Justlikeinthebooks!”
Thedailyscrumscontinuedtorunsmoothlyasthesprintwenton.Theteamseemedto
beholdingitselfaccountable,andtheblockingissues,eventheheatissue,werebeing
addressed.“ThisScrumthingisprettyeasy,”remarkedJaneneartheendofonedaily
scrumtowardtheendofthesprint.“We’regoingtoknocktheirsocksoffatthesprint
review.”
Everyonelaughed.Everyone,thatis,exceptPaco,whosimplyshruggedhisshoulders.
Coryslappedhimonthebackandasked,“Paco,whythelongface?”
Pacosmiledandseemedabouttoanswer,whenJaneinterrupted.“That’sbetter,Paco.I
knewyouhadasmileinyou.”EveryonelaughedagainandJanecontinued,“Hey,Marc,
we’veallhadaturn,andit’sbeen15minutes.Mybuildshouldbedone,andI’manxious
togetbacktomydesk.Canweadjournthisthingandgetbacktowork?”
Marcnoddedandthegroupquicklybrokeup,leavingPacofrowning,handsinhis
pocketsandeyesonthetaskboard.Unfortunately,noonenoticed.
Fortherestoftheteammembers,thefirstdemomeetingcouldnotcomefastenough.
TheyfeltlikekidsonChristmasEve.Theyhadaccomplishedmoreworkthantheyhad
imaginedpossibleoverthefirst30-daysprintandwantedtoshowitoff.Theteamworked
hardtomakeeverythingperfect,includingaslidedeck(mandatoryforallpresentationsat
thiscompany,noexceptions)thatlistedtheaccomplishedwork,theworkthatwasnot
accomplished,andwhatitmeantfortheteamtobedone.Theonlyteammemberwho
didn’tseemtoshareintheexcitementwasPaco.Marcnoticedhimatthebeginningofthe
sprintreview,mainlybecausehewasstaringoutthewindowinsteadofatthepresentation.
“IneedtoremembertoaskPacowhat’sgoingon,”Marcthought,turninghisattention
backtothescreen.
Thereviewwentwellatfirst,butwhentheteamwasdemonstratingthelastcomponent,
thesystemcrashedwithnowarning.Whiletheteamscrambledtofixitonthespot,the
stakeholdersreassuredthemthatitwasn’tthatbigofadeal.Oneofthestakeholderssaid
jokingly,“Well,sincethisisyourfirstsprint,we’llletyouoffwithawarning.”
Thoughtheteammemberslaughed,theywereembarrassedanddeflated.Afterthe
stakeholdersleft,theteamsattryingtopuzzleouttheproblemandhowitcouldhave
missedsuchahugebug.Pacosatbackinhischairandsaidunderhisbreath,“Iknewthis
wasgoingtohappen.”
Theroomgotquiet.CorylookedatPacoandasked,“Whatdoyoumean?Howdidyou
knowthiswasgoingtohappen?”
“Well,”Pacobegan.“WhenIwasreviewingoneoftheclassesacoupleweeksback,I
noticedsomeirregularities.Thewayitwaswrittenwasn’texactlywrong,butIsuspected
thatitmightcausesomebugstopopupbecauseI’dhadsomethingsimilarhappentome
before.IthoughtIsaidsomethingaboutit,butIguessIdidn’tsayitdirectlyenough.And
itwasn’treallyblockingme;itwasjustmoreofagutfeeling.Ididn’twanttopointout
someone’smistakeorredosomeoneelse’swork;itseemedpresumptuousandrude.So,I
decidedI’dwaitandseeiftherewasaproblem,andIguesstherewas.”
Therestoftheteamsatthere,lettingPaco’swordssinkin.
“Wedon’tknoweachotherverywell,”saidJane.“But,please,ifyoueverseemedoing
somethingthatisgoingtocauseaproblem,tellme.Iwon’tbeoffended.”
Everyonenodded.
“Andpartofbeingateamisworkingasateam,”saidMarc.“Weneedtogetinthe
habitoffixingproblemsthatwesee,eveniftheyaren’tin‘ourcode’becausewehave
collectivecodeownership.We’reallresponsibleforeverylastline.”
“Iknow,andprobablynexttimeIwilltrytospeakuporask.Thethingis,Iwasn’t
reallysure.LikeIsaid,itwasmoreofagutthing,”explainedPaco.“Butitateatmeand
worriedmeforacoupleofweeks.”
“Iwishyouwouldhavesaidsomething,”saidMarc.“Inoticedsomethingwaswrong
withyou,butnotuntiltoday.”
“Yeah,”saidCory.“Imean,we’veallbeenbusy,andwehaven’tbeenworkingtogether
thatlong.Ifiguredyouwerejustaquietguy.”
“Well,Iamalittlequiet,”saidPaco.“AndI’mnotverycomfortablejustblurtingthings
out.Ireallydon’tlikeconflict,andIdidn’twanttoinsultanyone.”
“Okay,”saidMarc.“Ithinkwe’vebeendoingagoodjobatourdailyscrumsof
mentioningthemoreobviousblockingissues,butwe’remissingsomeofthesneaky,
subtleonesthatwilljumpoutandbiteus.Anysuggestions?”
“Wecouldtrusteachothermore,”offeredMaria.
“Wecouldaskeachother’sopinionsmore,”saidCory.
“Wecouldmakesurethatwe’reallfeelingequallyconfidentaboutthings,”saidPaco.
“That’sit,”saidJane.“Weneedtoaddaquestion.”Shewalkeduptothewhiteboard
wherethethreequestionswerestillprintedintheupperright-handcornerandaddeda
fourth.
“Areweallowedtodothat?”askedMaria.“Canwejustaddaquestion?”
“Idon’tseewhynot.Whatdoyouthink,team?”askedMarc.“Ifwe’dhadthis
question,wouldwehavegoneintoasprintreviewwithabig,system-crashingbug?”
EveryonelookedatPaco.Heconsideredforaminuteandthensaid,“Rightaroundthe
middleofweektwo,myconfidencelevelwouldhavebeenmuchlowerthananyone
else’s.Anditprobablywouldhavegivenmetheopportunitytoairoutmyconcerns
withoutfearoflookinglikeaknow-it-allorbeingtotallywrong.So,yeah,Ithinkthat
wouldwork.”
Theteamaddedthefourthquestiontothelistandstucktoitthroughouttheproject.
Andjustabouteverysprint,someonewouldusethequestionasawaytoraiseanagging
concern.Someproblemswerereal;otherswerejustmisunderstandings.Butallofthem
wereopportunitiestofollowuponahunchthatmighthaveotherwiseremainedunspoken.
TheModel
ThefourthquestioninScrummightbesimple,butitisavaluabletooltoensurethatthe
teamisontrack—especiallyanewteam.Inthedailyscrum,startwiththethreequestions
asyounormallywould:
1.WhatdidIdoyesterday?
2.WhatwillIdotoday?
3.WhatblockingissuesdoIhave?
Thenaddthefollowing:
4.Whatismyconfidence,onascaleofonetoten,thattheteamwillaccomplishthe
goalofthissprint?
Whydoesthisquestionworksowell?Asshowninthestory,noteveryoneisequally
comfortablewithconflict.Andnoteveryoneisusedtoairinganopinion,especiallywhen
trusthasnotbeenestablished.Assuch,thosewhoaremoreoutspokenandopinionated
candominateaconversationorameetingwithoutmeaningto.Inadailyscrumor
retrospective,themoreintrovertedteammembersmightagreewiththestatedopinion
despitetheirmisgivingsbecausetheyfeeltheyarealoneinthinkingdifferently,don’twant
tobewrong,orfeelspeakingupwouldcauseanunnecessarystir.
Often,togetpastthesurfaceissuestothedeeperissues,youneedtoaskaquestion
intendedtostartconversations.Questionfouristhatkindofquestion.Itforceseveryone
toputahardnumberonasoftfeeling.Italsofocuseseveryoneontheoverallproject
ratherthanindividualstoriesortasks.Andjustasdisagreementsaboutestimatesin
PlanningPokercanunearthhiddenassumptionsandmisunderstandings,differencesin
projectconfidencecanuncovercoreissuesthatmightotherwisegounnoticed.Exposing
inequalitiesdrivesdiscussion—thekindthatcanmakeorbreakaproject.
KeystoSuccess
So,whenshouldyouusethefourthquestionofScrum?Irecommendusingitatthe
beginningofanynewproject.Evenifpeopleknoweachother,theymaynothavebuiltthe
trustrequiredtohavetheopenandhonestconversationsthatensureprojectsuccess.I’ve
madeitarequiredelementforanyteamthatisnewtoeachother,toScrum,ortoboth.
Evenifyou’reanestablishedScrumteam,ifyouaregoingthroughyourdailyscrum
withoutuncoveringmanyimpediments,butarefindingthatduringthesprintorthe
review,issueskeepcroppingup,youneedtoaddthefourthquestionofScrum.
Thefourthquestionispowerfulonitsown,butit’sevenmoreeffectivewhenthe
ScrumMasterisalsoonthelookoutforthefollowing:
Nonverbalcommunication—Lookforsmallsignsthatateammembermightbe
unsureoruncomfortable.Inthestory,Paco’slackofenthusiasmwasnoticeablebut
unexplained.Ifyouseeabehaviorthatseemsoutofplace,askaboutit.Andstick
aroundlongenoughtoheartheanswer.
Peoplewhoarenotcomfortablewithconflict—AScrumMasterdoesn’thavetobe
apsychologist,butthebestScrumMastershaveprobablydonesomeresearchon
howhumansworkandinteract.Differentpersonalitiesandculturesoftenrespondto
conflictindissimilarways.Gettoknowthepeopleyouareworkingwith,askthose
whohaveworkedwiththeminthepastabouttheirnaturaltendencies,andspend
sometimechattingwiththeminformally.Establishingtrustgoesalongwaytoward
increasingcommunication.
Opportunitiestopracticecontinuouslearning—Twoelementsthathavehelped
teamsthatIhaveworkedonandcoachedaretheMyers-Briggsassessmentand
workshopandthebookPeopleStylesatWork[BOLTON].Providingteammembers
withthetoolsneededtostretchthemselvespersonallyandtodeveloptheir
competencieswillhavealastingimpactonthecurrentprojectandallfuture
projects.
Asyourprojectprogressesandtheteambondandtrustbecomesstronger,youmight
findthatthefourthquestionisnolongerneeded.MostteamsIworkwithuseitforthe
firsttwotofivemonths,oruntiltheteamreachesaperformingstage.(Formoreonthe
fourstagesofteamdevelopment,seeChapter20,“AddingNewTeamMembers.”)The
teamwillknowwhenthequestionisnolongerneeded,sotheteamshoulddecideifand
whenitshouldbedropped.
Reference
[BOLTON]Bolton,Robert,andDorothyGroverBolton.2009.PeopleStylesatWork:
MakingBadRelationshipsGoodandGoodRelationshipsBetter.NewYork:AMACOM.
Chapter19.KeepingPeopleEngagedwithPair
Programming
Pairprogrammingisoneofthosethingsthatpeopleeitherloveorhate.Whatnoonecan
dispute,however,isthatpairingproduceshigh-qualitysoftwareinarelativelyshort
amountoftime.Indeed,AlistairCockburnandLaurieWilliams[COCKBURN]have
proventhatwhiledevelopmenttimegoesupwhenpairing,thenumberofdefectsinjected
willbefewer.
Theproblemwithpairprogrammingtendstobekeepingpeopleengagedwhentheyare
nottheoneswiththeirhandsonthekeyboard.Thisisexactlywhatwashappeningtothe
teaminthefollowingstory.Theteamwaspairingfaithfullybutwashavingtrouble
stayingfocusedonthetaskathand.
TheStory
LansinglookedoveratColinandsawhimyawn.
“C’monman,snapoutofit!IknowItypeslowly,butwe’veonlybeenatthisanhour!”
saidLansing.
“Sorry,Lansing.It’snotyou.I’mtryingtostayfocusedonwhatyou’redoing,butit’s
hardformetostayawaketoday.Iwasupmostofthenightwithasickkid;Iknowthat’s
notanexcuse.Let’sgogetanothercupofcoffee,”saidColin.
Theirdiscussioncaughttheattentionofanearbypair.“We’llgowithyou.Sittinghere
islikewatchingpaintdry,”saidSean,whowaspairingwithDevon.Theybothrosetojoin
ColinandLansinginthebreakroom.
Asthetwopairssathavingacoffee,Lansingaddressedtheproblemofpairing.
“Guys,wejustdon’tseemengaged.Everytimeoneofusgetstoodeepintothecode,
theotherpersonfallsasleep!”
“Iknow,Iknow,”saidColin.“I’msorry,guys.”
“It’snotjustabouttoday,”saidLansing.“Imeanallthetime.Idoit,youdoit,
everyonedoesit.Weallgetdrowsyorcheckoutwhenwepairfortoolong,evenjust30
minutes!Whatarewegoingtodoaboutit?”
Devonchimedin.“Iwasbrowsingthewebonhowtoincreasetheperformanceofour
buildserver,andIstumbledacrossthispaperfromtheAgileconferencetitled
‘PromiscuousPairingandBeginner’sMind,’byaguynamedArloBelshee[BELSHEE].
Itisprettyinteresting.Heandhisteamincreasedtheirvelocitysignificantlybyhavingone
personfromeachpairswitchpairsandtaskseveryninetyminutes.Noonestaysonone
tasklongerthanthreehourstotal.”
“So,letmegetthisstraight,”saidColin.“You’resayingthatifwewerepairinglikewe
werethismorning—I’mwithLansingandyou’rewithSean—afterninetyminutes,I
wouldswitchplaceswithSeansothatyouandIarepairingtogetheronyourtask,and
SeanandLansingarepairingtogetheronourtask.Thenafteranotherhourandahalf,you
andLansingwouldswitchplacessothatwe’dbebacktoouroriginalpairsbutnotour
originaltasks?”
“Yep,”saidDevon.“Weird,huh?”
“Soundsconfusing,”saidColin.
“So,whokeepsthetaskgoing?”askedLansing.
“Thepersonwhohasbeensittingatthatcomputerthelongesthastogethisnewmate
uptospeed,andquickly,becauseninetyminuteslater,thatsamepersonwillbeleavingto
joinanewpair,”saidDevon.
“That’salottoabsorbinninetyminutes.Doesanycodinggetdone,oristhepair
alwaysgettinguptospeed?”
“That’stheweirdestpart,”saidDevon.“Theteaminthepaperfoundthatthevelocity
washighestwhenthepairsswitchedeveryninetyminutes,evenwiththelearningcurve—
somethingaboutbeginner’smind.Youshouldreadthepaper.”
“Yep.I’dliketodothat,”Lansinganswered.“I’dbewillingtogiveitagotoday,
though,justtoseeifithelps.Wecan’tgomuchslowerthanwearewithColinasleepin
thepassengerseat!”
Colinlaughed.“That’strue.Itwilldefinitelyhelpkeepmeawake.”
“I’mwillingtogiveitatry,also,”saidSean.“Switchingthingsupmightjump-startmy
creativity.Ihaven’tcontributedmuchtoday.”
Devoncontinued.“Well,aslongaswe’refeelingdaring,Ialsocameacrossthisother
webpagebyaguynamedPeterProvostcalledmicro-pairing[PROVOST01].Hismethod
wasmoreextremebutwouldcertainlykeepusengaged.Itlookslikethis.”Devonpulled
outanapkinanddrewupaquickversionofPeter’smicro-pairingidea.
“Devon,I’mallforshakingthingsup,butthatlooksinsane!”exclaimedLansing.
Devonnodded.“Iagreethatit’salotofwork,andIdon’tthinkwecoulddothisallday
but—”
“I’mwillingtotryit,Lansing,”saidColin.“Aroutinelikethatwouldkeepuslaser-
focused.”
“I’mgame,too,”saidSean.
“Okay,okay.Youguyswin.Let’strythis,”saidLansing.“Whatdowehavetolose?”
Thepairswentbacktotheirworkfeelingsimultaneouslyinvigoratedandwary.They
hadtwonewtechniquestotry,whichwouldbesuretokeepthemawakebutthatmight
provedifficulttosustaininthelongterm.
TheModel
People(myselfincluded)havesuchahardtimekeepingtheirheadsinthegame.Mostare
justsoeasilydistracted.In“TheEbbandFlowofAttentionintheHumanBrain,”Trey
HeddenandJohnGabrieliofMITexplorewhathappenswhenpeoplearedistractedby
internalthoughtswhendoingcomplexwork[HEDDEN].TheytellthestoryofDan
Jansen,anOlympicspeedskaterwho,inthe1988WinterOlympics,slippedandfellin
boththe500-andthe1,000-meterevents[WEINBERG].Jansenhadtrainedforyearsand
wasnormallyafocusedchampion.Justsevenhoursbeforehisrace,however,Jansen’s
sisterpassedawayfromleukemia.HeddenandGabrielihypothesizethatwhileJansen’s
focus,hisexternalfocus,wasonskating,hehadsmallgapswhenthoughtsofhissister
wouldintrude.TheseinternalfocusissuestookJansen’sattentionawayfromtheexternal
tasksathandandresultedinhisuncharacteristicfalls.
Intraditionalpairprogramming,youusuallyhaveonepersonatthekeyboard(a
tactician)andonewhoisobserving(thestrategist).Thetacticianisusuallybetterableto
maintaininternalfocusbecausehehastheactivityoftypingtokeephismindfocusedon
thetaskathand.Thestrategist,ontheotherhand,islessactiveandthereforemore
distractedbyinternalfocusissues—theseissuescausegapsinattentionthatultimately
makethepairlessproductivethanitcouldbe.
Eachofthemodelsdiscussedinthischapterhelpkeepbothmembersofthepair
engagedandfocuseddespitethenumerousdistractionsthatmaycrowdtheirminds.
PromiscuousPairing
AtAgile2005,ArloBelsheepresentedandpublishedanexperiencereporttitled
“PromiscuousPairingandBeginner’sMind:EmbraceInexperience”[BELSHEE].
Inthetalkandpublishedpaper,Belsheedescribedmanypractices,allofwhichhaveto
dowithmaximizingthelearningcapacityofthebeginner’smind,amindthatisopento
experimentationandnotjadedbyexperience.Belsheedefinesthebeginner’smindasthis:
“Ifapersonisotherwisecomfortablewithhisenvironmentbutdoesn’tunderstandone
thing,thenhewillusuallytrystuffuntilhefiguresthatonepartout.Thisstateoftryingto
reconcileone’spastexperienceswithanenvironmentthatdoesn’tquitefitisBeginner’s
Mind”[BELSHEE,p.2].
Belsheegoesontoexplainthattheconceptofbeginner’smindisbehindthenotionof
beginner’sluck:“Apersondoingsomethingforthefirsttimeoftendoesitmuchbetter
thanhedoesafterhe’spracticedforawhile.Becausehetriesmoreapproaches,andtries
themrapidly,apersoninBeginner’sMindismorelikelytosucceedatataskthanonewho
thinksheunderstandshowitworks”[BELSHEE,p.2].
Belsheeandhisteamhypothesizedthatiftheycouldstayinastateofbeginner’smind
foraslongaspossible,theywouldincreasetheirvelocity.Theytriedseveralpractices,all
describedinthepaper,buttheonethatstuckoutforme(andtheoneDevondescribesin
thischapter’sstory)combinesteam-ownedtaskswithashortenedpair-cycletime.His
teamhasonepersonfromeachpairswitchpairsandtasksevery90minutes,thereby
keepingan“expert”anda“beginner”oneachtaskatalltimes.
Team-ownedtasksarebestexplainedincontrasttoindividuallyownedtasks.
Individuallyownedtasksarethosewhereonepersonstayswithataskthroughto
completion.So,ifDevonpullsataskfromthebacklog,hewouldworkonitwithany
numberofdifferentpairpartnersuntilthattaskiscomplete.Team-ownedtaskshaveno
designatedowner—ifanything,theworkstationownsthetask.Anynumberofpairsmight
workonataskatvarioustimesuntilitiscomplete.Thereisnoonepersonaccountablefor
itfrombeginningtoend.
Pair-cycletime,orpairchurnasBelsheecallsit,isapredefinedamountoftimethata
paircanstaytogether.Belshee’steamexperimentedwithmanydifferentlengthsbutfound
thatforoptimalvelocity,pairsshouldstaytogethernolongerthan90minutes.Myteam
experimentedwiththisaswellandfoundouroptimaltimetobetwohours.Whetheryour
optimaltimeis90minutes,120minutes,orsomewhereinbetween,movingpairsand
tasksfrequentlytakessomegettingusedto.Thefollowingexampleshowshow
promiscuouspairingworksforatypicalteam.
PromiscuousPairinginPractice
SwitchTeamisasix-personteam(notincludingtheproductownerortheScrumMaster).
SwitchTeamhasestablisheditscoreteamhours(seeChapter10,“CoreHours,”formore
onthistopic)andhasagreedthateveryonewillstartworkasateamat10:30a.m.andwill
stopworkingasateamat4:00p.m.,withaone-hourbreakforlunchbetweennoonand
1:00p.m.Switch’sdailyscrumisat10:00a.m.(seeFigure19-1).
FIGURE19-1SwitchTeampairblockhoursandswappattern
Noticeinthisexamplethattherearethreepairingblocks.Eachblockhasaprimary
personandasecondaryperson(I’venamedthesepeopleA,B,C,D,E,andF).Eachpair
blocklastsfor90minutes,asrecommendedinBelshee’sexperiment.Thepeoplerotate
onespottotheleftinanupwardlyserpentinefashion,droppingtothebottomrightfrom
thetopleft.Thetasks,ontheotherhand,staywiththeworkstationsuntiltheyare
complete.NoticethatevenwhentheoriginalpairsarebacktogetherduringPairBlock3,
theyareonadifferentworkstation(andtask)thanwheretheybegan.Dependingonyour
tasksize,thetaskmightbecompletebeforethepairwhostartedonitreturntothat
workstation.
TheChallengewithPromiscuousPairing
Whenmyteamfirstimplementedthesetechniques,wewerenotready.Wecapturedour
resultsandIpublishedanexperiencereportatAgile2006,“AdventuresinPromiscuous
Pairing:SeekingBeginner’sMind”[LACEY].Inthispaper,Iconcludedthatpromiscuous
pairingisanadvancedskill,bestsuitedforseasoned,well-practicedteams.Newteams
workinginanunfamiliarframeworkwilllikelyfindthishigh-levelpracticetoomuchto
handleatfirst.
Whenyouarereadytotrypromiscuouspairing,considerusingdesignconceptcards.At
thebeginningofeachtask,haveyourpairwritethedesignona3″×5″card,withthe
largerassumptionsandconstraints.Thepurposeofthecardistoallownewpairsto
referencethebriefnotesratherthanaskquestionsoftheoriginalpairwhostartedthetask.
Otherwise,whatI’veexperiencedisthattoomuchtimeisspentrehashingdesign
decisionsateachpairswap.Byhavingdesignconceptcards,thenewpaircaneasilysee
whydecisionsweremadeandeitheracceptorchangethedesign,withoutwastingtime
tryingtounderstandorjustifyparticulardecisions.
Eventhoughbestsuitedforadvancedteams,Ibelieveintheideascommunicatedby
Belshee.Ihavehadsuccesswiththeminpastprojectsbothasawaytokeeppairsengaged
andasatoolforbringingnewpeopleuptospeedonthesystem.Tryit—andmakeagood
faitheffortwhenyoudo.
Micro-Pairing
Micro-pairing,coinedbyPeterProvostin2006,hasitsrootsinagameinventedbyPeter
andBradWilson,ThePairProgrammingTDDGame[PROVOST02].Itissimilartothe
pairprogrammingPing-PongpatternonWardCunningham’sC2Wikisite
[CUNNINGHAM].ThePing-Pongpattern,aswrittenbyCunningham,isasfollows:
Awritesanewtestandseesthatitfails.
Bimplementsthecodeneededtopassthetest.
Bwritesthenexttest.
Aimplementsit.
Andsoon.Refactoringisdonewhenevertheneedarisesbythepersondriving.
Micro-pairingwasbornoutoffrustrationwithtraditionalpairing,specificallywiththe
strategist’stendencytodriftinandoutoffocuswhilethetacticiancompletestasks.It
differsfromthePing-Pongpatterninthateverytransitionofstateinthediagramcausesa
keyboardshift,wherekeyboardshiftsinCunningham’spatternhappenonlyafteranew
failingtesthasbeenintroduced.Micro-pairingforcespairstomakefrequenttransitions
bothinwhohasthekeyboardandalsoinwhatthatpersonisdoingwiththekeyboard.The
rulesoftheoriginalgamearesimple(adaptedfromthedescriptionbyPeterProvost
[PROVOST02]):
Onepersonwritesatestandthenpassesthekeyboardtohispartner.
–Ifthetestfails(thelightturnsred),thepartnerimplementstherequiredcodeto
makeitpass.
–Ifthetestpasses(thelightturnsgreen),thepartnerwritesanadditionaltestor
refactorsthepassingimplementation.
Thekeyboardthenpassesbacktotheoriginalpersontowriteanothertestorto
refactorthecodethatwaswritten.
Thepatterncontinuesuntilthetaskiscomplete.
So,whywouldsomeonewanttowriteapassingtestratherthanafailingtest?One
reasonistocodifyordocumentbehaviorthatalreadyexiststhroughanothertestbutisnot
adequatelydocumented.Writingapassingtestlocksinsomefunctionalityorconfirms
somesuspicionaboutthebehaviorofthecode.Another,perhapsmoreentertaining,reason
isthatwhenyousetouttowriteafailingtestandyouendupwritingapassingtest,
whoops!Thisshouldraiseabunchofquestions:Isthetestthatwasjustwrittenbad?Was
theprevioustestbad?Doesthecodedomorethanyouexpectedittodo?
Moreoftenthannot,youwillwritefailingtestsinthispattern,butdon’tforgetabout
writingpassingonestoconfirmanyexistingsuspicions.Rememberthatyoustillpassthe
keyboardevenafterwritingapassingtest,whichmeansyourpartnerwillprobablybethe
onewritingfailingtests,theonedrivingthedesign,atleasttemporarily.
Inplayingthegame,thepatternlookssomethinglikethis:
1.Lansingstartsinagreenstateandwritesafailingtest,whichtakesabouttwoto
threeminutes.
2.LansingpassesthekeyboardtoColin,whoisinaredstate.Colinimplementsthe
codetomakethetestpass,whichtakesaboutaminute.
3.ColinpassesthekeyboardbacktoLansing,whoisnowinagreenstate.
4.LansingwritesanotherfailingtestandpassesthekeyboardbacktoColin,again
takingaboutthreetofourminutes.
5.Colinimplementsthecodetomakethetestpass,whichtakesanotherminuteor
two,thenpassesthekeyboardback.
6.Thiscyclegoesonforfourorfivemorecycles,anditendsupwithLansing,who
decidestocleanupthecodethatColinhaswritten.
7.Aftercleaningupthecode,LansinghandsthekeyboardtoColinwhonowtakesa
turnatwritingtests.
Intraditionalpairprogramming,thetacticianwoulddoallthesestepsandthestrategist
wouldwatchthedesignandthecodeevolve.Thiscouldgoonforanhourortwowithout
interruption.Byusingmicro-pairingtoswitchcontrolofthekeyboardateverystate
transition,thepairsaremorelikelytohaveaconversationaboutthebitofcodethatwas
justwritten,regardlessofwhetheritisproductioncodeortestcode.Withouttheseforced
transitions,peoplearelesslikelytointerruptsomeonewhoisintheflow,whichcanresult
indegradedcodequality.
Asyoucanseefromthisexample,however,thepairingaspectofthesessioncan
becomefairlyintenseduetothetransitionofthekeyboardateverystatechange.The
personinthegreenstateisultimatelytheonedrivingthedesignbecausethatpersoncan
choosetowriteapassingtest,refactor,orwriteafailingtest.Thepersonintheredstate
hasonlyonechoice:tomakethetestpass(unlesshechoosestoargueatest).Trytovaryit
sothatbothmembersofthepairhaveanopportunitytowritetestsandnooneisstuck
onlyimplementingtests.Andalwayspassthekeyboardaftermakingyour“move.”Ifyou
findthetaskyouareworkingoniscomplete,youcandoavoluntaryswitchofthe
keyboardsinceyouaremovingontoanewtask.Figure19-2showsanexample.
FIGURE19-2Test-drivendevelopmentwithmicro-pairing
EveryarrowinFigure19-2representsamove.Youcancheckinonlywhenyouare
green,andyoucancheckinasfrequentlyasyoulike.
Whenyouimplementmicro-pairing,understandthatthecontroltokenofpassinga
keyboardbackandforthmightnotbenecessary.Icommonlyuseworkstationswithtwo
mice,twomonitors,andtwokeyboards.Inthesesetups,goodteamworkisnecessary,as
onepersoncanjumpinatanytime.
Whetheryouchoosepromiscuouspairingormicro-pairing,frequenttransitionsarea
surefirewaytokeepateamengaged.Bothtechniquesarealsoexcellentmentoring
exercisestojump-startjuniorornewteammembers,sincethedesignisdrivenbythe
personwritingthefailingtests.Whenateamchoosestomixmicro-pairingwith
promiscuouspairing,it’slikeridingonarollercoaster—intensebutalotoffun.
KeystoSuccess
Pairprogrammingshouldbeatiringactivity.Ifyouarrivehomespentbutupbeat,you’ve
probablyhadagooddayofpairing.Expecttodofourtosixhoursofpairingperday,not
eightormore.Ifyougohomefrustrated,yourpairingsessionwaslikelylessproductive
thanitcouldhavebeen.
Understandthatnoteverythingneedstobepaired.Pairingisgreatforcommunicating
designandformentoring,butifyouhaveabunchoffairlystraightforwardbugfixesor
aresimplyimplementingaminorfeatureinanalreadyfleshed-outdesign,pairingmight
notbeworthwhile.
Traditionalpairingisnotabadpractice.Havingastrategistandtacticianisagoodidea
andprovidessatisfactoryresults.Formostpeople,however,stayingengagedforlong
periodsofpairingisdifficult.Explanationsforthisdifficultycouldincludesocialloafing
(thetendencytoslackoffwhenworkinginagroup)orthefactthathavingtointeractwith
anotherpersononwhatisordinarilyasolitaryexperiencecouldbedistractingortiring.
Whateverthecause,therealityisthatpeopletendtocheckout.Whenyoufindthat
happeningonyourteam,youshouldtakeaction.
Thefirstthingyoushoulddoisremoveanyotherdistractions.Distractionscausehuge
issues,andinapair,theseissuesaredoubled.Considerturningoffemail,instant
messaging,andmobilephonesforasetamountoftime.Ifyoumusthaveaccesstoa
phonewhilepairing,putacommonphoneintheteamroomsowhenthephonerings,
everyoneisdistracted.Thatway,thedistractionwillendsooner.Dedicatetenminutes
everysooftenforemailandphonecalls,andscheduledowntime/breaksbetweensessions
sothatpeoplearebetterabletoremainfocusedduringapairingblock.
Next,acknowledgethatswitchingpairsfrequentlyandhavingtheworkstationownthe
taskmaycausearchitecturaldirectionproblems.Usenotecardstokeeptrackofdecisions
andreferenceimportantinformation.
Lookforotherwaystotapintobeginner’smind.Ifsomeonewantstolearnanewskill,
puthimonataskwherehecantrysomethinghehasn’tdonebefore.Belsheedidthiswith
successanddocumenteditinhispaper.Especiallywhenpairedwithsomeonewhois
highlyskilledinaparticulararea,theinexperiencedcanlearnquicklywhilebringinga
freshperspectivetothetaskathand.
Ifyougodownthepathofmicro-pairing,understandthatitisessentialtoswitch
drivers.Nocheating.Controlmustbeshared.Switchingforcesconversationanddrives
thedesign.
Successfulpairprogrammingwithengagedteammembersandcleandesignispossible
withouttheuseofthesetechniques.Ifteammemberscanfocususingtraditionalpairing,
great.Ifnot,trysomeofthepracticeslistedinthischapter.Youmightbesurprisedathow
muchmoreeffectiveandefficienttheteamcanbe.
References
[BELSHEE]Belshee,Arlo.2005.“PromiscuousPairingandBeginner’sMind:Embrace
Inexperience.”ProceedingsoftheAgileDevelopmentConference.Washington,DC:
IEEEComputerSociety,pp.125–131.
[COCKBURN]Cockburn,Alistair,andLaurieWilliams.2000.“TheCostsandBenefits
ofPairProgramming”(PDF).ProceedingsoftheFirstInternationalConferenceon
ExtremeProgrammingandFlexibleProcessesinSoftwareEngineering(XP2000).
http://collaboration.csc.ncsu.edu/laurie/Papers/XPSardinia.PDF(accessed20March
2015).
[CUNNINGHAM]Cunningham,Ward.“PairProgrammingPingPongPattern.”C2
website.http://c2.com/cgi/wiki?PairProgrammingPingPongPattern(accessed20March
2015).
[HEDDEN]Hedden,Trey,andJohnGabrieli.2006.“TheEbbandFlowofAttentionin
theHumanBrain.”NatureNeuroscience9(6):863–865.
[LACEY]Lacey,Mitch.2006.“AdventuresinPromiscuousPairing:SeekingBeginner’s
Mind.”ProceedingsoftheAgileDevelopmentConference.Washington,DC:IEEE
ComputerSociety,pp.263–269.
[PROVOST01]Provost,Peter.“Micro-PairingDefined.”Personalwebsite.
http://www.peterprovost.org/blog/2006/08/07/Micro-Pairing-Defined(accessed20March
2015).
[PROVOST02]Provost,Peter.Personalwebsite.
http://www.peterprovost.org/blog/2005/08/29/The-Pair-Programming-TDD-Game
(accessed20March2015).
[WEINBERG]Weinberg,Rick.“JansenFallsafterLearningofSister’sDeath.”
ESPN.com.http://sports.espn.go.com/espn/espn25/story?page=moments/87(accessed20
March2015).
Chapter20.AddingNewTeamMembers
Establishedteamssometimesneedtoaddnewteammembersinthemiddleofaproject.
Whetherthecauseisattrition,companyreorganization,accelerateddeadlines,increased
workload,orsomethingelse,it’scrucialfornewteammemberstobeaddedthoughtfully
andintegratedquickly.Eveninthebest-casescenario,teamswilltemporarilyslowdown
astheyadjusttohavingnewpeopleintheirmidstandasnewteammemberslearnthe
ropes.Whenthewrongteammemberisaddedortherightmemberisaddedwithouta
plan,thisslowdowncanbelonganddrawnout,provingBrooks’law,whichstates,
“Addingmanpowertoalatesoftwareprojectmakesitlater”[BROOKS].
Thegoodnewsisthatwithsomeforethoughtandplanning,teamscanquicklyreturnto
ahigh-functioningstatebyhelpingnewteammembersassimilatequicklytoanew
environmentandanewsystem.Whatfollowsisthestoryofhowoneteamdealtwiththe
needtoaddmanpowertocomplywithnewdatesinacontract.
TheStory
“Ican’tbelievethey’reaskingustomoveupthereleaseandaddnewfeatures.Areyou
surethereisnothingwecando?”askedCharles.
“Nothing,”saidStephanie,theteam’sproductowner.“Thenewdeadlineandfeatures
areacontractualrequirement,andwehavenochoicebuttocomply.Thebestthingforus
todoatthispointistoreshuffletheproductbacklog,writeanynewstories,anddropthose
thataren’trequired.Weknowourvelocity,andthisnewworkisatleastprettyfamiliarto
us.It’sjustapain.”
“Yeah,you’reright,Stephanie,”saidMary-Kate.“Wejustneedtokeepourheadsup
andgetthroughit.”
ForthenextthreedaystheteamworkedwithStephanietogettheproductbacklogin
order.Severalcallstothecustomerandsomeintensestoryworkshopsresultedinan
updatedproductbacklogandareleaseplantheywereconfidentin.Theyknew,though,
thatmanagementprobablywouldstillnotliketheresult.Stephaniepulledtogethera
meetingwithmanagementandtheteamtogooverthefindings.
Stephaniekickedoffthemeeting.“Thankyouallforcoming.Weallknowthereason
wearehere,soletmecuttothechaseandanswerthequestiononthetable,‘Canwehit
thedateandintegrateallthenewthird-partyfunctionalityyouareaskingfor?’Theanswer
ishardtoexplain.It’saqualifiedyes,withstringsattached.”
Chris,thegeneralmanager,wentfirst,“Greatnews,Stephanie.Team,thanksforpulling
thistogether.I’llletourVPknowthatyoucancommittothis.”
“Holdonaminute,Chris,”saidStephanie.“Youhaven’theardthestrings.Wecan’t
committothenewworkandtheacceleratedtimetablewithoutaddinganewpersontothe
team.Andnotjustanyperson.WeneedDennis.”
“Dennisisnotavailable,Stephanie.Youknowthat,”saidChris.
“Idoknowthat.Butyouaskedmehowwecouldmakethishappen.I’mtellingyouthat
todoit,weneedDennis.Dennishasthecompetenciesweneed.Heunderstandshowwe
work,andhispersonalvaluessystemistherightfitfortheteam.Ifwearegoingtomake
thishappen,weneedDennis.Thisisablockingissueforyoutosolve,”saidStephanie.
After30minutesofnegotiation,Chriscaved.
“Fine,fine.YoucanhaveDennis.We’llfindawaytogettheworkdoneonhisother
projectwithsomeoneelse,”saidChris.
Stephaniesmiled.“Thankyou.He’salreadypreppedandreadytogo.We’vestarted
transitioninghimalready.”
“Yousuredon’twasteanytime,Stephanie.Iknowaddinganewpersonisn’tacure-all,
though.HowwillyougetDennisuptospeedandstillhitthecompresseddate?”asked
Chris.
“Oh,we’vegotourways,”Stephaniesaid,andshelefttheofficewiththeteam.
“So,howarewegoingtogetDennisuptospeed?”askedCharles.“Eachofushas
joinedanotherprojectmidstreamatonetimeoranother.It’sneveraseasyasitseemsand
alwaysslowstheprojectdown.Howarewegoingtoaddressthis?”
Stephaniestoppedtoanswer.“WehadthissameproblemonanotherprojectIwason
recently.Oneoftheteammembersdevisedacreativewaytogetthepersonintegrated,
andit’swhatIproposewedohere.
“First,thenewmemberwasrequiredtopairprogramwithalltheexistingteam
membersinturntolearnthesystemandaskquestions.Wearealreadypairingand
workinginasharedspace,sothiswillbeeasytoimplement.Understand,though,thatit
alsomeanswecan’texpectanythingproductivefromDennisrightoutofthegate.After
all,inpairingsessions,he’llbewatchingmorethanhe’swritingcode.
“Second,tohelpspeedhisdevelopment,wealsoneedtowriteawrittentestand
administeritweekly.I’mtalkingtwentytothirtyquestionsthatillustratethesystemand
ourteammakeup.We’llfocusonthearchitecture,ourprocesses,andourculture.We’ll
expecthimtofailthetestmiserablyatfirst,butbyshowinghimwhathedoesn’tknow
(andwhatweexpectandwanthimtoknow),wecanfocushislearningontheelements
thataremostimportanttous.How’sthatsound?”askedStephanie.
Mary-Katewentfirst.“Soletmegetthisstraight.Weareunderacompressedschedule,
andwecan’texpectanythingoutofDennisforasprintortwo?Andyouwantustowrite
atestforhimandthen,I’mguessing,gradeitorreviewit?”
Stephanienoddedherhead.
“Stephanie,whatbenefitsdoyouthinkthiswillgiveus?”askedCharles.
Stephanieponderedthequestionforaminuteandcameupwithastory.“WhenIwasin
highschool,Ididastudy-abroadprograminSpain.IhadstudiedSpanishforthreeyears
andhadreceivedgoodgrades,soIthoughtthatthistriptoSpainwouldbenoproblem.
Boy,wasIwrong!Istruggledwiththelanguageandbutchereditprettysoundlyforthe
firstmonth.Afteramonth,however,Inoticedthatmylanguageskillshadincreased
exponentially.WhenIcamehomeafterfivemonths,IwasfluentinSpanish.Ilearnedthat
ifyouwanttolearnsomething,youhavetwooptions:Studyitfromthesidelinesor
immerseyourselfinit—allofit—sothatyoupickitupmuchmorequickly.”
Stephaniecontinued,“WewanttogiveDennisthesamekindofimmersiveexperience.
Heneedstogetrightinthethickofthingsandwritecodeinpairswithallofyou.He
needstoknowwhathe’stheretolearnandwhatquestionstoask(andweneedtoknow
thatheunderstandswhatwe’retryingtoconvey):That’swherethetestcomesin.Atfirst,
hewillaskquestionsthatyoumightfindannoying,butafteramonthorso,weshouldsee
himreallyimprovingand,hopefully,contributingtothedesignandwritingmainline
code.”
Theteamnoddedinagreement.
“ThenIguesswehaveatesttowriteandanimmersionscheduletodevelop,”said
Mary-Kate.“Let’sgetstarted.”
TheModel
Scrumteamspridethemselvesonbeingamenabletochange.Theteaminthischapter’s
storywasnodifferent.Theyshowedextremeflexibilityintakingonanewdeadlineanda
differentscope.Theyalsohadthesupportofmanagement,whounderstoodtheimportance
ofteamcultureandhavingtherightfit,andwhowaswillingtomakesacrificestogivethe
teamtherightnewmember.
Evenwithallthatinplace,though,youmustbepreparedforthefactthatwhenany
establishedteamassimilatesnewmembers,thatteamnaturallyfallsbackintotheforming
andstormingstages,asproposedbyBruceTuckmaninhis1965article,“Developmental
SequenceinSmallGroups”[TUCKMAN].
Tuckmanlaidoutfourstages:forming,storming,norming,andperforming.Consider,
forexample,afour-personrowingteam.
Inthefirststage,forming,theteamislearninghowtoworktogether.Everyoneis
“figuringeachotherout.”Peopleareassessingwhotheleaderontheteamwillbe.Politics
andindividualismplayalargeroleaspeopletrytohighlighttheirownperformanceand
establishthemselves.Onarowingteam,formingcouldbeassimpleaslearninghowto
havetheteammembersputtheiroarsinthewateratthesametime.
Inthesecondstage,storming,theteamisnowbeginningtoshowsignsofcohesion—of
gelling—astheinterpersonalissuesstarttoresolve.Thoughconflictstillexists,theteamis
startingtofocusitsenergyonsolvingitscollectiveproblemsandworkingthingsout
together.Onarowingteam,stormingcouldbetryingtogeteveryonetopulltheoarback
atthesametime,regardlessoftheamountofforceeachisusing.
Inthethirdstage,norming,theteamisstartingtoreallyworkwelltogether.Team
processesarebecominginstinctive,andtheteammemberstrustthewaytheyareworking.
Peoplearegrowingfriendliertowardeachother;thecriticismtheyexhibitismore
productivethandestructiveorpolitical.Thereisclarityinwhateachpersondoes,andthe
teamiscomfortablewithit.Theteammembersarefollowingtherulestheyhave
establishedandareontheirwaytobeingaperformingteam.Onarowingteam,norming
couldbewhentheteambeginstoenter,andwin,afewcompetitions.Theteamisnotat
thetopofitsclassjustyetbutisdefinitelyacontender.
Inthefourthstage,performing,theteamhasreachedahighleveloftrust.Thewaythe
teamworksfeelsnaturalandfluid,andtheteamisinastateofflow,in“thezone”ifyou
will.Relationshipsaretightlybonded,andeachpersoniscomfortablewithcriticism.The
teamaddressesandsolvesproblemsasneeded,andindividualsarenotafraidtoaskfor
helporshowweakness.Theteamisimprovingdaily.Intermsofarowingteam,
performingwouldbecompetingforandevencontendingforthegoldmedalinthe
Olympics.Everyone’soarentersthewateratthesametime,eachrowerpullswiththe
sameforce,theoarsexitsimultaneouslyandatthesamepitch,andtherowersshifttheir
weightasonefluidmotioninsteadofmultipledistinctbodies.Tuckmanmodeledhis
theoryinthefollowingway,asillustratedinFigure20-1.
FIGURE20-1Tuckman’sstagesofgroupdevelopment
Althoughreformingandrestormingareinevitablefollowingachangetotheteam,
teamsshouldspendaslittletimeaspossiblegoingthrougheachstage(seeFigure20-2).
Inthischapter’sstory,Stephanieunderstoodthattakingonanadditionalpersonwould
temporarilyslowdowntheteam,asitreformedandstormed,butshealsoknewshecould
shortenthetimetheteamspentinchaosbychoosingsomeonewhosevaluesnaturally
alignedwiththoseoftheteam,immersingthisnewpersonintheteam’sculture,and
acceleratinghislearningthroughfocusedstudy.
FIGURE20-2Ideally,groupsareabletominimizethetimeittakestogothroughthe
phasesagain.
Reformingateamischallengingandhardwork.However,withtherightattitudeand
willingnessoftheteam—again,alignmentofculturalvalues—itcanbedone.Take,for
example,oneofthehigh-performingteamsI’veworkedoninthepast.Afterasuccessful
project,wesplituptoworkonseparateprojects.Sincethen,we’vegottenbacktogether
againforafewnewprojects.Wheneverwe’vereformed,we’vebeenabletoreacha
performingstatewithinaweek.Andwhenwe’vehadtoaddanewpersontothemix
(whomwe’vechosen),it’stakenusalittlelonger,butwe’vestillreturnedtoaperforming
statefairlyquickly.
TheExercise
Thefirststepinfullyintegratingsomeonenewintoanexistingteamistochoosetheright
person.Whenyouaddsomeonetotheteam,lookathispersonalvaluessystemfirst.Isthe
personopentochange?Flexible?Humble?Ateamplayer?Opentolearning?
Ifyouansweryestothesequestions,thenmoveontotheskills.Doesthepersonhave
theskillsneededtodothejob?Valuestrumpskillsnearlyeverytimebecauseskillsareso
mucheasiertoteach.Inthischapter’sstory,theteammemberschoseDennisbecauseof
hispersonalvaluessystemandhiscompetencies.Theyknewhewouldintegrateintothe
teamculturenicely.
Thenextstepistowriteatesttohelpfocusthelearning.Theteamisresponsiblefor
creatingthequestions.Thenewteammemberisresponsiblefortakingthetestattheend
ofeachweek.Someofmyfavoritequestionsareasfollows:
Describethearchitectureofthesystem.
Telluswhypairprogrammingandtest-drivendevelopmentareimportant.
Whoownsthecode?
Mixtechnicalquestionswiththosethatfocusoncultureandvalues.
Thefirsttimetheteammembertakesthetest,manyofthetechnicalanswersshouldbe
blank,andsomeoftheculturequestionsmightbeoffbase.Bytheendofthesecond
week,however,theculturequestionsshouldbeeasyandthetechnicaldetailsshouldbegin
toappear.Youshouldbeworriedifthenewbiecontinuestoanswerquestionssuchaswho
ownsthecodewith,“Iownsuch-and-suchsectionoftheapplicationandBobbyownsthis
othersection”insteadofthecorrectanswerforahigh-performingteam:Theteamowns
thecode.
KeystoSuccess
Thoughkeepingteamstogetherforthelongtermisideal,therealityisthatcompanies
oftenshiftpeoplefromprojecttoproject.ThebestthingaScrumteamcandotoprevent
thisfrombeingarecurringthemeistomakevisiblethepainthatdisruptingteamsbrings.
Thekeytosuccesswhenfacedwithintegratingnewteammembersistoacceptthatsome
backslidingwilloccurandtochoosenewteammemberswisely.
AccepttheDropinVelocity
Achangetoteamchemistrywillresultinsomebacktracking.Ifyouhaveeverplayedor
watchedsports,youknowthatwhenanewplayerjoinstheteam,theteamdynamicsare
thrownoff.Theteam,onceahigh-performingcohesiveunit,revertstoitsbasicformasit
integratesitsnewteammember.Considerwhatwouldhappenifasportsteamchangedits
startinglineupforeverygame.Theresultswouldbedisastrous.Yet,businessesbelieve
thatsomehowtheycanaddorsubtractmemberswithoutaffectingtheteam’soutput.Each
timeateammemberentersorleaves,theteamreturnstoTuckman’sforming,storming,
norming,andperformingstages.Whilethisisinevitable,thegoalistogetthroughthese
stagesasquicklyaspossibleandgetbacktobeingthehigh-performingteamyouwere
beforethechange.Theotherthingtoconsiderwhenaddingnewteammembersisthatit
sometimestakeslongertogetthenewteammemberuptospeedthanthereistime
remainingontheproject.
ChooseWisely
Eachteam’scultureisunique.AsdiscussedinChapter3,“UsingTeamConsultantsto
OptimizeTeamPerformance,”youcanchooseateamconsultanttohelpyouforexpert
advice–typeworkorlimitedengagements.Ifthepersonisgoingtobeacoreteam
member,however,thechosenmembershouldbelike-mindedandabletoadaptquickly.
Forthisreason,teamsshouldtrytoavoidhavingteammembersforcedonthembased
solelyonavailability.Therightpersonisnotnecessarilytheavailableperson.Afterall,
availabilityisnotamindsetoraskillset.Whileitmaytakealittlelongertofindtheright
person,doingsoiscrucialtotheteam’sabilitytoreturntoaperformingstatequickly.
Givepeopletheauthoritytochoosewhowillbeaddedto(orsubtractedfrom)theirteam.
Forcingteamstoacceptateammemberwhodoesn’tmeshwellwiththeexistingteamcan
havecatastrophiceffects,asoutlinedinChapter21,“WhenCulturesCollide.”
RiskyBusiness
Addingnewteammembersisespeciallyriskywhenonlyoneortwoteamsinyour
companyaredoingScrum.Findingnewteammembersfromwithinnon-agilegroupswho
sharethecultureoftheScrumteamisoftendifficultorimpossible.Theteammembersin
thischapter’sstorywereabletofindadesirablenewadditionandhadthesupportof
managementinfreeingthatpersonfrompreviouscommitments.Teamsfacedwith
uncooperativemanagementorforcedtoacceptanon-compatiblenewmemberaren’t
alwayssolucky.Inthesecases,teamsoftencannotfindthewaybacktobeingahigh-
performingteam.Thenextchapterdiscusseswhattodowhencultureclashesforceteams
intoanonproductivestate.
References
[BROOKS]Brooks,FrederickP.,Jr.1996.TheMythicalManMonth,Anniversary
Edition.Reading,MA:Addison-Wesley.
[TUCKMAN]Tuckman,Bruce.1965.“DevelopmentalSequenceinSmallGroups.”
PsychologicalBulletin63(6):384–399.
Chapter21.WhenCulturesCollide
Scrumteamsstrivetocreateanatmospherewherepeoplecanenjoytheprocessof
producingexcellentworkyetstillmeetbusinessgoalsandremainprofitable.Gettinga
teamtoalevelwherethisispossibleisoftenastruggle,butwithmanagementsupport,
Scrumteamscanreachahigh-performing,richmixoffunandaccountabilityanddeliver
atunprecedentedrates.
Thechemistrytheteamhascreated,however,isfragile.Itscultureandabilitytodeliver
effectivelycanbethrownoffbalancewhensomeoneisaddedtotheteaminthemiddleof
aproject.Chapter20,“AddingNewTeamMembers,”showswhathappenswhentheright
teammemberisaddedintherightway:Scrumteamscanquicklyrecoverfromsucha
change.Whathappens,though,whenteamsareforcedtoacceptanewteammemberwho
isnotagoodculturalfit,someonewhoisnotparticularlyflexible,capable,oragilesavvy?
ConsiderthecaseofChemTeam,ahigh-performingteamwho,liketheteaminChapter
20,neededtoaddateammember,butunlikethatteam,wasunabletohandpickthenew
teammember.
TheStory
ChemTeamhadbeenworkingtogetherformonths,andthebondsthathadformedamong
theteammemberswerestrong.Theteamwasdisciplinedandfocused,executingonits
deliverablesanddelightingcustomers.Thepeopleontheteamtrustedeachotherandfelt
comfortablewiththeteam’sbalanceofconflictandcamaraderie.Theywereaperforming
team.
Onefatefulday,inthemiddleofaproject,adirectorinthecompanycametotheteam
withanewbusinessidea.Thisbusinessidea,inhismind,wouldradicallychangethe
team’sworld.Itnearlydid.Butnotinwaysheintended.
“Guys,greatnews!”heshouted.“WehaveanopportunitytoworkwithWirelacorp!”
MostofChemTeamstaredblanklybackatthemanager.“Wirelacorp?I’veheardof
them.Don’ttheyprovideInternetaccessinpubliclocations?”askedKamiar.
“Indeedtheydo,”hesaid.“Andwearethisclosetosigningacontractwiththemthat
willallowoursmallbusinessanduserbasetobeabletoaccesstheWirelacorpnetwork,at
noadditionalcosttoourusers!”
Atthispoint,theteammembers’blanklooksturnedtoonesofslightconcern.The
projectthattheyhadbeenworkingonwasdesignedtofocusonlyontheusersthe
businesshadonitsownnetwork—itdidn’tincludethird-partyinterfacesorintegrations
forthingsliketheWirelacorpnetwork.Notonestobedauntedbysuddenchange,though,
theteamimmediatelybegantothinkofwaysitcouldaltertheserviceofferingtotake
advantageofthisopportunity.
Seeingherteambeginningtogetexcitedaboutthechallenge,Shauna,the
ScrumMaster,spokeup,“Wecandothis,”shesaidconfidently.“Justgiveusacoupleof
weekstocleanupwhatweareworkingon.Thenwecanreprioritizeourproductbacklog
withyouandtheotherstakeholderstogiveyouanewreleaseplan.”
“Notime!”saidthedirector.“WehavetogetthisworkingASAP;thisdealiscriticalto
ourbusiness!”
“Wewouldprefertofinishtheworkonthissprintbeforewechangegears,”explained
Shauna.“Butifthisistrulyurgent,wecanabortthissprint,whichwillessentiallyresultin
usdroppingwhatwe’redoing,andbeginreprioritizingrightaway.Eventhen,ifyouwant
ustoprovideyouaccurate-enoughestimatesforyoutobuildago-to-marketstrategy,we
needatleastthreedays,andyouwillhavetoacceptthepriorityofthebacklog.”
“Icanonlygiveyouuntiltheendoftheday,”saidthedirector.“Dothebestyoucan.”
Fortheremainderoftheday,ChemTeamassesseditsbacklog,thecurrentstateofthe
system,andtherequirementstointegrateandinterfacewithWirelacorp’snetwork.The
teamproposedatimelinethatrepresentedthebareminimumtomeettheneedsofthe
businessandthatitfeltcomfortableindelivering.Theythenpresentedittothedirector
thenextmorning.
“Team,greatwork,butweneedtoshortenthetimelinebythreemonthstomeetthe
contractdatesthatwehavebeendiscussingwithWirelacorp,”explainedthedirector.“I
needyoutomakethishappen—tellmewhatyouneed.”
Theteammemberswerevisiblyfrustrated.Theysaidtheywouldcomebackinacouple
hourswithsomeplansonhowtheycouldpullintheschedulewithouttakingonthe
technicaldebtthatwouldcomefromhackingthesystemtogether.
Itwasnoweightatnight.Thedirectorwasstillinhisoffice,waitingfortheteamto
finishitsdeliberation.Theteamwenttothedirectorwiththeonlysolutionitcouldcome
upwithinthefaceofsomanyimmovableobstacles.Shaunasaid,“Wehaveasolutionfor
howwethinkwecanbringthisin,butitisnotidealandmaynegativelyimpactusoverall
fromateamandtechnicalperspective.Youneedtounderstandthisbeforewecan
continue.”
Asthedirectornoddedeagerly,Shaunacontinued,“Theonlywaytogetthisdonemore
quicklythanweestimatedistobringinmorepeople,butnotjustanywarmbodieswill
do.Wehavelookedattheskillsandcompetenciesweneedonthisprojectandhave
identifiedtwopeoplewho,ifadded,wouldenableustoreachourgoal:JulioandNancy.
Julioisavailable;Nancyisnot.Forthistohavethebestchanceofsuccess,weneedboth
ofthem.”
“YoucanhaveJulio,butyouabsolutelycannothaveNancy.Sheisonaprojectcritical
tothebusinessandcannotbetakenawayfromit.”
“Isn’tthisaprojectcriticaltothebusinessaswell?Wehavebeenworkingonthisfor
eightmonths.Andweareclosetothefinalrelease,”counteredShawna.
“Allprojectsarecritical,”saidthedirector.“AndyoucannothaveNancy.Youcanhave
Katherine;sheisavailable.”
Katherinewasaseasoneddeveloper.Shehadbeenconsideredbytheteamalreadybut
hadbeenreadilydismissed.Whileshehadalltheskillstheteamwaslookingfor,she
lackedthecorevaluestoworkinacollaborativeenvironment.Someoftheteammembers
hadworkedwithheronpastprojectsandhadexpressedconcerns:Shehadfoughtherlast
teamontheideaofdailyscrums,arguingthattheywereawasteoftime,eventhoughthe
restoftheteamfoundthedailycommunicationhighlyvaluable.Shaunahadalsoworked
withKatherineonapastproject.ShehadnoticedthatKatherineoftenrushedandhad
buggycodeasaresult.WhentheQAteammembersonthepastprojectspokewithher
aboutwaystocreatecleanercode,sheattackedthem,sayingtheydidnotknowhowtodo
theirjobs.Itwascleartotheteamthat,whileKatherinehadthetechnicalskills,her
competenciesandattitudeaboutworkingonateamwerevastlydifferentfromthecultural
valuesestablishedbyChemTeam.
Shaunasharedtheseconcernswiththedirector.Hewasnotpersuaded.“Youguyssaid
youneedtwopeopleontheteamtomakethiswork.ThesearethetwoIcangiveyou.We
allagreethatKatherinecandothework.It’suptoyoutofindawaytoworkwithher.”
Theteammemberswerenolessskepticalbutfelttheyhadnochoicebuttotake
Katherine.Theteamreluctantlyagreedtothenewscheduledateandthenewteam
members.BothKatherineandJuliostartedworkingontheprojectthefollowingday.
ChemTeamtriedtodothingstherightway.Itsmembersknewtheyneededtobaseline
newteammembersandusedtheaddingnewpeopletotheteamapproach(seeChapter
20).TheycreatedasurveyandhadbothKatherineandJuliotakeitasabaselinemeasure
oftheirknowledgeoftheteam’sprocess,tools,andproject.Thesurveywastoberepeated
onceaweeksotheteamcouldtrackhowwellthenewmembershadinternalizedboththe
processandtheproduct.BothKatherineandJuliowereenthusiasticatfirst.Astimewent
on,itwasclearfromJulio’sanswersandhisworkthathenotonlyunderstoodthesystem
butalsohadembracedthepracticesoftheteam.
Thoughsheshowedimprovementinsystemknowledge,Katherineshowedlittle
improvementintheareasofprocessandculture.Katherinequestionedthebenefitsoftest-
drivendevelopment(TDD),pairing,andworkinginasharedspaceateveryopportunity.
Moreoftenthannot,workwasinterruptedtodiscussthemeritsofacertainagilepractice
orprinciple.Hervocalskepticismwasbeginningtoerodetheteam.Velocitydecreased,
qualitysuffered,andteammoralefelltoanall-timelow.Shaunadidherbesttohandle
Katherine’scriticismsotheteamcouldstayfocused,butatthebeginningofweekfour,
Katherinesnapped.
“I’veansweredthisstupidsurveyweekafterweek.I’vealreadyproventoyouthatIcan
buildthissystem.IdonotcarethatwearedoingTDD.Ihateworkinginthisspace,andI
wouldbebetteroffjustwritingcodebymyselfinmyoffice.Thishasgottobethemost
inefficientwayofworkingever!Icouldhavewrittenhalfofthesystembynow!”
ShaunatriedonelasttimetobringKatherinearound.“Katherine,aswehavediscussed
manytimes,thereasontheteamisbuildingtheapplicationusingagileprinciplesand
practicesistoavoidthepitfallseachofushasrunintoonpastprojectsthatweremore
traditionalinnature.Wearenotperfect.Thisishardwork,bothfromadevelopment
standpointandfromapersonalgrowthstandpoint.Wearealllearningthisaswego,and
wemakemistakes.”
Shecontinued,“Regardlessofhowwemightfeelindividually,weareateam,andwe
needtocontinuetoworkasateam.ThemerefactthatwearedoingTDDhasloweredour
bugcountbyafactorofninecomparedtotheotherteams.Also,youandJuliohavebeen
abletogetuptospeedonthissysteminlessthanfourweeks,andyounowknowitlike
thebackofyourhand.Withoutworkinginasharedspaceandpairing,thiswouldhave
neverhappened.”
“Icannotworkthisway.Iwillnotworkthisway!”saidKatherineasshestormedoff.
Bythispoint,Katherine’sdestructiveinfluencehadspreadthroughouttheteam.Many
werebeginningtoarguetherelativebenefitsoflong-establishedpractices.Oneday,a
teammemberbecamesofrustratedwiththesuddeninfightingandbickeringthathe
squeezedacanoffreshlyopenedsodawater,sprayingitonthewalls,thecomputers,the
desks,and,ofcourse,theotherteammembers.Hestormedoff,frustratedbecauseofthe
team’sdeterioratingcohesionandtrust.Somethinghadtobedone.
ShaunaandtheteammemberswentbacktothedirectorwithoutKatherine.They
showedhimthesprintandreleaseburndownsthatwereclearlytrendingtowardalower
velocity.Theysharedwithhimnotonlytheirfrustrationsbutalsothefactthatbugcounts
wereupandtheunittestcodecoveragenumbersweredown.Theyrecommendedthatthey
dropKatherinetosalvagetheproject.Theywereturneddownflat.
“Look,Iknowit’sdifficult,butitcan’tbehelped,”saidthedirector.“Myjobistoget
thiscontractsigned.Yourjobistomakethedeadline.You’vetoldmeyouneedtwo
peopletogetthisdone.Sheneedssomethingtoworkon.Workitout.”
Afterthemeeting,Shaunasawthepainonthefacesofeachteammember.EvenJulio
lookedbeaten.Sheaskedherselfwhatwasmoreimportant—theteamanddeliveringthe
projectorthefactthatKatherinedidnothaveanythingelsetoworkon?
Shaunadecideditwastimeforaction.Sheandtheteamoutlinedaplanthatwould
addressboththerequirementofthedirectortogiveKatherinesomethingtoworkonand
theneedfortheteamtoreturntoitsdesiredhigh-performingstate.Allthatwasleftwasto
tellKatherine.
Thenextmorning,ShaunapulledKatherineaside.
“Katherine,look,Iseethatyou’renothappy,andyouseetheteamisnothappy,right?”
saidShauna.Katherinerespondedwithacautiousyes,wonderingwherethiswasgoing.
“Well,Italkedtothedirectoraboutit.Hesaidyoucan’tcomeofftheprojectbecause
youdonothaveanotherprojecttomoveonto.”
Katherinenoddedinagreement.
“Atthesametime,ifthingscontinueastheyare,thisprojectisgoingtoimplode,and
everyone,includingme,willhaveabigblackeyefromit.I’vegotaplanonhowwecan
avoidthisandkeeppeoplehappyintheshortterm,”saidShauna.
TheplanthatShaunalaidoutwastohaveKatherineremainontheteambutonlyon
paper.Katherinewouldworkinherofficeonnon-system-criticaltasks,awayfromthe
teamspaceuntiltheprojectanditsassociatedtimecrunchwasover.Atthatpoint,they
couldalldiscusstheissuesanddeterminealong-termplan.Katherineagreed.
Katherinekeptherdistancefromtheteam,onlycomingtothedailyscrums—justdown
thehallfromthedirector’soffice—toshowthatshewasstillontheproject.Theteamwas
abletostayfocusedanditsvelocityreturned.Thecodecoveragenumbersincreasedand
overallprojectqualitywentup.EvenJulio,whohadabackgroundintesting,wasnow
writingcode.
FourweekswentbybeforethedirectoraskedShaunaintohisoffice.
“Theteamseemstohaveturnedaround,butIdon’tseeKatherine.Whatpartofthe
systemissheworkingon?”
Shaunathoughtlongandhardonhowtoanswerthis.
“Sheisworkingonnon-system-criticaltasks,”shesaid.“Ididthisbecausetheteam
wasnotgoingtomeetthecontractdatesontimewiththequalityourcustomersdemand.
Also,severaloftheteammembershadthreatenedtoquitthecompanyratherthanwork
withher.Itwastherightthingtodo.”
Visiblydisturbedatbeingcountermanded,thedirectorexploded,“YoutookKatherine
offtheprojectevenafterItoldyoutokeepheron?”
“Yes,Idid,”saidShaunawithsteadfastclarity.
Shaunasatasthedirectorexpressedhisdissatisfactionwithher.Herantedandraved
abouthowwhatshedidwasinsubordinationandthatsheshouldbefiredforit.Aftera
fewminutes,Shaunainterruptedhim.
“Letmeaskyouaquestion,”saidShauna.“Whatismoreimportantatourcompany:
keepingpeoplebusyordeliveringforourcustomers?”
“That’snotthepoint,”saidthedirector,poundinghisfistonthedesk.
“Itisthepoint.Pleaseanswerthequestion,”pressedShauna,nowgettingvisibly
frustrated.“Keepingpeoplebusyordelivering—whichisit?”
Reluctantly,thedirectoranswered,“Well,delivery,ofcourse,butthatisnoexcusefor
what—”Shaunainterruptedyetagain.
“Iagree.Ishouldn’thavedonewhatIdid.Notbecauseitwasn’ttherightthingtodo
butbecauseyoushouldhavebeentheonetodoit.Manytimes,Iaskedyoutointervene.
EachtimeIasked,yousaidno.Youwerenotwillingtotakeaction.Itismyjobas
ScrumMastertokeeptheteamhealthyandtheprojectmoving.Youwerelimitingmy
abilitytodomyjob,andyouwerenotinterestedinhearingsolutionsorhelpingmefixthe
issuewithKatherine,soIfixeditasbestIcould,”Shaunafinished.
“It’sabadprecedenttoset,”saidthedirector.
“Aworseprecedenttosetisinactionbymanagement,”respondedShauna.
Shaunawatchedforapainfullylongandsilentmomentasthedirector’sfacewentfrom
adeepshadeofredtolightred,andthentoanalmostnormalskintone.Hetookadeep
breathandsaid,“Look,Iunderstandwhatyoudidandwhyyoudidit.Ihavebeenundera
lotofpressurewiththisdealandamjustthankfulthatit’sover.”
“Whatdoyoumean,it’sover?”askedShauna.
“Didn’tItellyou?Earlierthisweek,thecontractnegotiationscollapsed.Wearenot
goingtodothedealwithWirelacorp.Itmeanswecangobacktowherewewere,”said
thedirector.
“Uhhh,”saidShauna.
“So,howlonguntilwecandeliverontheoriginalfunctionality?Nextmonth?”
Andthatisanotherstoryinandofitself.
TheModel
Inthisstory,theoriginalteamwasawell-oiledmachine.Ithadbecomeaccustomedtoits
ownwayofworkingandhaddevelopeditsownculture.Yet,theintroductionofone
uncooperativeteammemberalmostcausedtheteamtoimplode.Whathappened?
Inanutshell,Katherinefitthecultureofthelargergroupandcompany,butshedidnot
fitthecultureoftheteam—aculturewasformedastheteamhadgrownandworked
togetheronitsown.Juliowasopentotryingnewthingsandhadtherightmindset,but
Katherinedidnot.Shaunaandherteamidentifiedthisdisparitybutwereignoredby
management.IcallthetypeofbehaviorKatherineexhibitedaspartoftheteamsocial
deviance.
Devianceinsocietycanbedefinedasactingordoingthingsinawaythatviolatesthe
establishedculturalnorms.Culturalnormsapplyonmanylevels,frompersonaltofamily
toworktosociety.Forexample,stealingviolateslargersocietalculturalnormsinthe
samewaythat,say,notperformingcertaindevelopmentactivities(suchasTDD)violates
establishedteamculturalnorms.
In1938,RobertK.Mertonpublished“SocialStructureandAnomie”[MERTON].In
thispaper,heproposedstraintheory.Straintheorywasanattempttoidentifyreasonsfor
varyingcrimeratesbetweendifferentsocialclasses.Mertonidentifiedtwosocial
structures:culturalgoals,whichwereculturallyassignedgoalsandaspirations,and
institutionalizedmeans,whichoutlinedtheacceptablemeansforachievingthegoals.
Mertontheorizedthatculturalgoalswerewhatallpeoplewouldwantandexpect
throughouttheirlives,andinstitutionalizedmeanswerethewaystoachievethecultural
goals,suchasobeyingestablishedsocietystandards.Mertonstatedthatabalancewould
occuraslongasindividualsfelttheculturalgoalswerebeingachievedbyadheringtothe
“institutionallyacceptedmodeofdoingso.”Merton’stypologyofdevianceisillustrated
inFigure21-1.
FIGURE21-1RobertK.Merton’stypologyofdeviantbehavior
Mertonidentifiesfiveattributesofstrain:conformity,ritualism,retreatism,rebellion,
andinnovation.Inconformity,peopleacceptboththegoalsandmeansofsocietyandchug
thoughlife.Peoplewhofallintheritualismbuckethavegivenuponthegoalsofsociety
butcontinueconformingtothemeanstoachievethem.Retreatismiswherepeoplereject
boththegoalsandthemeans.Whenpeoplerejectboththegoalsandthemeansand
replacethemwithnewgoalsandnewmeanstoreachthosegoals,theyareinrebellion.In
innovation,peopleacceptthegoalsofsocietybutusedifferentmeanstoachievethem,
traditionallythoseofcrime.
Take,forexample,auniversitystudent.Thestudent’sculturalgoalisgraduation;the
institutionalizedmeanstoachievethisgoalaretoattendclass,study,andperformwellon
examsandpapers.
Ifastudentdoesallthisandgraduates,thestudenthasconformed.
Ifastudentdoesnotstudyanddoesnotpassexams,butkeepsgoingtoclass
anyway,thestudentisbeingritualistic—heisgoingthroughthemotionswithno
hopeofachievingthegoal.
Ifastudentknowsthathewillnotgraduatebecausehisgradesaresubparandasa
resultstopsattendingclassesorstudying,andinsteadplaysvideogamesinhisdorm
room,hehasretreated.
Astudentinretreatmaytireofhisdrifterstatus(orhavehisfundingcutoff)and
foregohiseducationalltogether.Hemaybegintoprotestthateducationisoverrated
andthatthegoalofgraduationisnotonethatpeopleshouldstrivetoachieve.He
willidentifynewgoals(startinghisownbusiness,forexample)anddevisenew
meanstoachievethem.Astudenttakingthisactionisinrebellion.
Lastly,ifthestudentstillhasthedesiretograduateuniversitybutisnotabletodoso
usingtheacceptedmeans(e.g.,studying),hemayresorttoinnovative,even
criminal,methods,suchascheatingorplagiarism.
Businesses,too,haveestablishedsocietiesandcultures.Thesocietalrulesandcultural
normsaretheinstitutionalmeans.Theypropagatethroughoutthecompany,impactingand
directingeachemployee.Inbusiness,culturalgoalsareoftencommunicatedascompany
goals,whichemployeesofthecompanycanachieveorfailtoaccomplish.Therefore,
whenthinkingofbusinesses,IreplaceMerton’sculturalgoalswithcompanygoalsand
hisrejectandacceptwithfailandsucceed,asillustratedinFigure21-2.
FIGURE21-2Shauna’steamexperimentswithinnovativemeans
Withthissmallmodification,considerhowMerton’stypologyappliestoasoftware
organizationwherethecompanygoalistoproducehigh-qualitysoftwarebyacertain
releasedate,andtheinstitutionalizedmeanstodosoaretoworkinatraditional,plan-
drivenway,hittingmilestonesandrelyingonup-frontplanstosteertheproject:
Conformity—Teammembersfollowtheinstitutionalmeansandachievethe
companygoals.
–Leadstohighquality,highmorale,andsoon.
–Employeeshaveboughtintotheprogram.
–Peopleareengaged.
Ritualism—Teammembersaccepttheinstitutionalizedmeansbutfailtomeet
companygoals.
–Lowquality,lowmorale,andsoon.
–Showupanddothejob.
–Peoplearedisengaged.
Retreatism—Teammembersdonotacceptinstitutionalmeansandfailtomeet
companygoals.
–Lowquality,lowmorale,andsoon.
–Showupbutdon’twork.
–Activelydisengagedandknowit.
Rebellion—Teammembersdevisenewmeansanddevelopnewgoalsthatbuildon
thecompanygoals.
–Themeansmightbequitedifferent.
–Companygoalsarestillmet;teamsetsgoalsinadditiontocompanygoals.
–Teamculturecanbequitedifferent.
–Willcausefrictionintheorganization.
Innovation—Teammembersdevisenewmeanstobesuccessfulinachievingthe
companygoals.
–Canbenegative(workingthesystem)orpositive(findingnewwaysto
accomplishthesamegoals).
–Ifitispositive,innovationleadstohighquality,highmorale,andsoon.
–Unlikerebellion,onlythemeansaredifferent,notthegoals.
–Willcausefrictionintheorganization.
Leadersandexecutivesestablishinstitutionalizedmeanstoachievecompanygoals.
Sometimes,however,newmeanscanbecreatedandcancoexistwithinthe
institutionalizedmeansestablishedbybusiness.Inthischapter’sstory,Shauna’steamhad
establisheditsownmeans(TDD,pairprogramming,groupspace)toachievethecompany
goals.Themindsetchangethataccompaniesthesemeans,however,hadalsocausedthem
tothinkandworkquitedifferentlythantherestoftheorganization.
Shauna’steamwasuniqueinsidethecompany.Mostoftheotheremployeeswere
ritualistic:Theyacceptedthemeanstodotheirworkbuttypicallyfailedatachievingthe
goals(e.g.,delivery).Thiswasevidentbylookingatfactorsinsidethecompany.For
example,bugcountswerehigh,qualitywaslow,moralewaslow,therewasamoderate
amountofturnover,peoplehadlittleornopassionfortheirwork,theywerenotproudof
theirwork,andmostteamswerenothighperforming.
Shauna’steamhadgrowntiredoffailureandhaddecidedtotrysomethingnew,sothey
hadadoptedScrumandExtremeProgramming(XP).Byusingnewmeanstoachievethe
samecompanygoals,Shauna’steammovedoutofritualismandintoinnovation,asshown
inFigure21-2.
Astheteamlearnedtoworkandturnedintoahigh-performingteam,itnotonlyused
newmeansbutalsobegantoestablishnewgoalsforitselfbasedonitsheightened
understandingofScrumandXP.Thesegoalsincludedthecompanygoalsofdelivering
softwarebyacertainreleasedate,butalsoincludedotherscenteredaroundpersonal
growthandbecomingbetteratthecraftofsoftwaredevelopment.Theteam’snewgoals
includedthefollowing:
Shiphigh-qualitysoftwarethatmeetscustomerneeds.
Allowtheteamtoberesponsivetochangingbusinessneeds.
Workatasustainablepacewhilestilldeliveringonschedule.
Theseculturalgoalswereuniquetotheteamanddidnotspanthecompany.Theteam’s
meansweresimilarlyuniqueandincludedthefollowing:
Workinacollaborativeworkspace.
Pairprogram.
DesignusingTDD.
Collectivelyestimateandcommittothework.
Asthegapwidenedbetweentheteamandthecompanyintermsofmeansandgoals,
theteammovedoutofinnovationandintowhattherestoftheorganizationmightclassify
asrebellion(seeFigure21-3).
FIGURE21-3Teammovingtorebellion
Theteamisinarebelliousstateatthebeginningofthestory.Theyarehigh-performing
andachievingnotonlythecompanygoalsbuttheteam’sgoalsaswell.Theirdirector,
however,isnotinsyncwiththeteam.Hethrowsanewsetofobjectivesattheteaminthe
middleoftheproject,onesthatthreatentheteam’sowngoals.Thoughtheteamoffersa
planthatwouldallowittocontinuetomeetitsgoalswhileincorporatingthenew
companygoals,thedirectorislessconcernedwiththeteam’sgoalsthanwiththe
company’sgoals.
EnterKatherine.Whenshewasplacedonateamwitharadicallydifferentagenda,she
rejectedtheteam’sgoalsanditsmeanstoachievethem.Heropposingviewpointmadeher
adevianttotheacceptedsocialnormsoftheScrumteam.Inresponse,sheatfirstrebelled,
notbyintroducingnewmeansornewgoalsbutbyattemptingtobringtherestoftheteam
backtothecompanygoalsandinstitutionalmeansthatshewasusedtoworkingwithin.
Herrebellioncreatedsomuchconflictwithintheteamthatitcouldnotfunction.Too
muchoftheteam’sfocusandenergywerespentontryingtoworkwithKatherine.Asa
result,thework,themorale,andtheteam’sperformancesuffered.
OncetheteamrealizedthatKatherinecouldnotfitintoitsculture,theteamtriedto
removeherandherdestructiveinfluence.Whenthatideawasrejectedbymanagement,
theteamaskedKatherinetoretreat,leavingtheothermemberstoworkinpeaceandreturn
to“normal.”
Whilethisworkedfortheteam,itwasariskymoveforShauna.ThestepsShaunatook
toremoveKatherinefromtheday-to-dayteamactivitieswereatruelastresort,onethat
mightnotbeworththerisktomanyofus.Shecould(andshould)havetakendifferent
stepstomoveKatherinetowardconformity.
KeystoSuccess
Thebestwaytodealwithcultureclashistoavoidaddingmemberstoyourteamwho
won’tfitin.Ideally,teamsshouldbeabletocontroltheirowndestinies,sothattheteam
membersthemselvesdeterminethecompositionofeachteam.Thereality,however,isthat
sometimesteamsareforcedtotakeinpeoplewhomtheywouldnothavechosenontheir
own.Whenthathappens,teamsneedtoworkwithwhattheyaregivenandstaythecourse
inthefaceofobstacles.
ControlYourOwnDestiny
Thebestwaytokeepfromhavingadeviantinyourmidstistoensurethattheexisting
teamhasasayinchoosingnewteammembersforyourteam.Itrytofollowthesesimple
rulesofthumbonmyprojects:
Lettheteaminterviewandpickitsownmembers.
Lettheteamdecidethefateofteammembers.
WhenIwasinuniversity,Itookseveralclasseswheretheprofessorrequiredusto
delivertermpapersandpresentationsasateam.Theteamswereself-formingandself-
managing.Lookingback,wewereveryagile.Wepickedourteammembers,we
collaborated,weworkedtogether,andwedeliveredtogether.Wehadteammemberswho
sometimesdidnotpulltheirweight—Ican’tblamethem.Iwenttoaschoolthatwason
thecoastandhadgreatsurfing.Thesepeoplespenttimeatthebeachandcametous,
usuallyattheendofthepaperandpresentationdevelopmentcycle,andsaid,“Hey,canI
getmynameonthis?”
Asyoucanimagine,wesaidno,andtheyoftendidn’tpass.Wewereempoweredto
decidethefateofourteammembers.Ifyoudidthework,youwereallowedtosharethe
credit.Ifyoudidnotdothework,youfailed.Itwasverysimpleatthatpoint.
Whileitcan’talwaysworkthatwayinbusiness,ScrumMasterscaneducate
managementaboutthebenefitsofallowingteamstochoosetheirownteammembersand
askforthepowertomovemembersofftheteamwhoaredoingmoreharmthangood.See
Chapter3,“UsingTeamConsultantstoOptimizeTeamPerformance,”formore
information.
WorkwithWhatYouHave
Let’sfaceit.Teamsarenotalwaysempoweredtodowhattheythinkisrightwhenit
comestotheirownhealth.Sohowcanteamskeepthedamagetoaminimumwhenthey
haveanewteammatethrustuponthem?First,whenanewmemberisadded,takea
momenttoassessthatperson’sconformitylevelandbackground.Ifthenewteammember
iscomingfromaculturethatclasheswithyourteamandhasahistoryofrebellingagainst,
retreatingfrom,orinnovatingtogetaroundthosenorms,youshouldbeencouraged.After
all,rebellionitselfisn’tbad.Onateamwhoisnotyetperformingwell,arebellious
membercanactuallypushtheteamtowarddesirablegoals.
Ifthenewteammemberisinconformancewithorritualistictowardaculturethat
clasheswithyourown,thereisstillnoneedtopanic.Youshouldexpect,however,tohave
todomoretolaythegroundworkonhowyourowncultureworksandwhatwillbe
expectedofanewteammember.ThatmightmeaneducatingheraboutScrumandagile
principlesandhelpinghertoseethereasonbehindthechoicesyourteammakes.Doall
youcantohelpnewmembersconformto,ratherthanrebelagainst,thegoalsandmeans
yourhigh-performingteamhasestablishedorisstrivingfor.
Second,whiledoingyourbesttobringthepersonintoyourculture,beopentonew
ideasandmethodsthepersonmightbringtotheteam.IgobacktomanyofDale
Carnegie’sprinciples,assummarizedinTheGoldenBook:
Becomeafriendlierperson.
Winpeopletoyourwayofthinking.
Bealeader.
BreaktheWorryHabit.
Cultivateamentalattitudethatwillbringyoupeaceandhappiness.
Don’tworryaboutcriticism.
Preventfatigueandworryandkeepyourenergyandspiritshigh[CARNEGIE].
WhenIfirstreadtheCarnegiebooks,Iwasskeptical.ItwasnotuntilIreallyanalyzed
howIapproachandworkwithpeoplethatIunderstoodhowthesebasicprinciplesreally
makeyouabetterpersontobearound—andifyouareabetterpersontobearound,
peoplewillgravitatetoyou.
ThoughIunderstandwhytheScrumMasterinthischapter’sstory,Shauna,arrivedat
herradicalsolutiontotheproblemKatherinepresented,itwasnonethelessrisky:itmight
havecostShaunaherjob,anddefinitelydidleavetheteamshorthanded.IfShaunahad
imploredteammemberstoapplytheCarnegieprinciples,orjustfollowedthemmore
steadfastlyherself,theteammighthavebeenabletoreturntoitsperformingstateeven
withKatherineonboard.HerdecisiontosidelineKatherine,whichwasnecessitatedin
partbythetimecrunchshewasunder,wasatruelastresort,notapracticeIwould
recommendinmostcases.
Instead,ImighthavecounseledtheteamtoallowKatherinemoretimetobecome
accustomedtoTDDasawayofprogrammingbeforeforcinghertopair.Ifallcodewas
writtenbypairs,perhapstheteamcouldhavecompensatedbyaskingKatherinetodo
moretestingworkandlesscodedevelopment.MaybeifChemTeamhadstoppedworrying
somuchaboutwhyKatherinewasn’tadjustingandhadtriedhardertonottakeher
criticismpersonally,itsmemberscouldhavestayedfocusedonthesprintratherthanone
teammember’sdifficulties.Iftheteamhadtriedtowinhertoitswayofthinking
systematicallyandslowly,everyonemighthavebeenlessfrustrated.
Shaunaalsomighthaveaskedotherleadersontheteamtohelpkeeptheteamfocused
onthesprintitselfwhileshepersonallydealtwiththeimpedimentthatwasKatherine.
LettingKatherineassimilatemoregraduallymightnothavehelpedtheteam’svelocity,but
itprobablywouldn’thaveslowedtheteamdowneither.Focusingonthepositiveand
minimizingthenegativemighthavegonealongwaytopreventblow-upsandsodawater
explosions.
StaytheCourse
Whenfacedwithanewmemberwhoisapotentialdeviant,thefollowingguidelinescan
helpkeepyourhigh-performingteamontrack:
Trytokeepthedeviantoffyourteam.Helpmanagementunderstandthatpeopleare
notinterchangeablecomponents.Teammembersshouldbechosenwithcare,not
pluggedinbasedsolelyonavailabilityorevenonaparticularskill.
Educatenewteammembersabouttheteam’scultureandgivethemtimeandspace
toadapt,sothattheyarenotforcedtoinnovate,rebel,orretreat.
Ifanewmemberdoesbegintodeviatefromtheteam’snorms,gobacktothebasics
andgetpeoplecomfortablewithScrum(seeChapter1,“Scrum:Simple,NotEasy”).
Ifthiseffortfails,identifywhatiscausingthepersontoshiftfromtheestablished
cultureoftheteam.
Sometimesanewteammemberbringsadeviantpointofviewthatcanultimatelybe
helpful(ratherthanhurtful)totheteam.Helptheteamtounderstandthatitisnot
onlythenewteammemberwhohastoadjust.Whenteammake-upchanges,existing
teammembersmighthavetochangesomeoftheirestablishednormstoassimilate
newmembers.
Ifdeviantbehaviorpersists(orhasbeenfesteringonyourteamforsometime),it’s
timetoinvolveHR,management,ortheteamitselfinmovingthenonconforming
teammembertoamoresuitableteam.
Whetheryourteamisabletochooseitsownteammembersorhastotakewhatitgets,
returningtonormalafteranewteammemberisadded,isoneofthetoughestchallenges
anestablishedteamhastoface.Sometimesjustknowingthattemporarypainistobe
expectedandthatthereisaroutebacktoaperformingstatecanmakethetransition
quickerandeasierforallinvolved.
References
[CARNEGIE]Carnegie,Dale.TheGoldenBook.
http://www.motivationalmagic.com/library/ebooks/inspirational/GoldenBook.pdf
(accessed27March2015).
[MERTON]Merton,Robert.1938.“SocialStructureandAnomie.”American
SociologicalReview3(5):672–682.
WorksConsulted
Baumer,EricP.2007.“UntanglingResearchPuzzlesinMerton’sMultilevelAnomie
Theory.”TheoreticalCriminology11(1):63–93.
Featherstone,Richard,andMathieuDeflem.2003.“AnomieandStrain:Contextand
ConsequencesofMerton’sTwoTheories.”SociologicalInquiry73(4):471–489.
Monahan,SusanneC.,andBethA.Quinn.2006.“Beyond‘BadApples’and‘Weak
Leaders.’”TheoreticalCriminology10(3):361–385.
Murphy,DanielS.,andMathewB.Robinson.2008.“TheMaximizer:Clarifying
Merton’sTheoriesofAnomieandStrain.”TheoreticalCriminology.November2008,
Vol.12no.4,p.501–521.
Chapter22.SprintEmergencyProcedures
Oneofmyall-timefavoriteTVshowsasachildwasTheA-Team.Myfavoritecharacter
wasHannibalSmith.Hehadasaying,“Iloveitwhenaplancomestogether.”Ido,too,
whichisprobablywhyIloveScrumsomuch.
Sometimes,though,despiteallyourbestefforts,plansfallapart.AndI“pitythefool”
(asMr.Twouldsay)whodoesnothaveacontingencyplanwhenthingsunravel.Too
manytimesontoomanyprojects,I’veseenteamsgetintotrouble.Inthischapter,Ishare
asetofemergencyproceduresforyoutofollowwhenasprintgoeswrong,includingthe
last-ditchoptionofsprinttermination.
TheStory
“Guys,I’vegotbadnews:Therumorsweretrue,”saidMike.“They’vedecidedtosplit
ourdivisionintotwogroupseffectiveimmediately.AndI’mpartofthatshuffle.I’mgoing
tobemovingtothenewgroup;therestofyou,though,arestayinginthisone.Sothe
goodnewsisthatatleastmostoftheteamcanstaytogether.”
Mike’steammatesvisiblydeflated.Mikealwayshadgoodideasonhowtosolve
problemsandissues.Hewasakeypartoftheteam’ssuccessandwouldnotbeeasyto
replace.
“That’sreallybadnews,Mike,”saidBilly.“It’sjustnotgoingtobethesamewithout
you.Idon’tknowhowwe’retofillyourshoes.”
“Well,”saidMike.“Startfiguringitoutquickly.Whentheysaid‘immediately,’they
meantit.Iwastoldtocomebackandpackmystuff.Thereisamovingcrewcoming
tomorrowtorelocatemetoadifferentbuilding,”saidMikewithgreatdisappointment.
“What?”exclaimedBilly.“You’relastdayistoday?”
Mikenodded.
“Whatarewesupposedtodo?”askedMark.“We’rerightinthemiddleofasprint.
Whatdoesthismeanforourproject?”
“Ireallydon’tknowwhattosay,guys,”Mikeansweredresignedly.“Imadethecasefor
amoregradualtransitionbutgotshotdown.Ididn’twanttopressthepointwiththe
generalmanagerinfrontofaroomfullofpeople,”saidMike.
“Well,maybewecanconvincehimifweapproachhimthroughtheappropriate
channels,”saidBilly.“C’mon,Mark,let’sgofixthiswhileMikepacks.”
Thepairapproachedthegroupmanager,Pam.Sheexplainedthatwhilesheunderstood
theirdilemma,therecouldbenodelayinMike’smove.
“Thenweneedtofigureoutwhattodoaboutthissprint,”saidBilly.“We’reabout
halfwaythroughoursprint.There’snowaywecanfinisheverythingwecommittedto
withMikegone.Can’ttheywaitacouplemoreweeksandgiveustimetowrapsome
thingsup?”
“Iknowthisisbadtiming,”saidPam.“Butinthebigpicture,itmakesthemostsense
fortheorganizationtomakethishappennowsoeveryonecanadjustandbeginbeing
productiveagainassoonaspossible.Iknowyou’refrustrated.Ihavebeeninthissituation
before.Whatwedidwaslookathowourworkwasstructuredandhowitalignedtothe
goal.Thenwefoundawaytoapproachthesolutioninadifferentwaysothatwecould
stillachievethesprintgoal.It’saformofimpedimentremoval.Isthereanywayyouand
theteamcandosomethingdifferenttofinishoutthesprintandstillcallitasuccess?”
“Different?Nothingobviousspringstomind,”saidBilly.“Imean,wecanlookatthe
sprintgoalandseeiftherearesomestorieswecanadjustandstillachievethesameresult.
We’llneedtogobackandrefactormorethanexpected,butitmightwork.”
Markthoughtforamoment,thensaid,“I’mnotsosure,Billy.Wecaninvestigateit,but
wewererunningprettyleanthissprintevenbeforewelostMike,whichbytheway,Pam,
isanawfullybigimpedimenttoremedy.Plus,theresearchisgoingtotaketimeandmight
notresultinasolution.Meanwhile,we’llbefallingfurtherbehind.Ourbestoptionwould
betoaskforhelp.BythatImean,maybewecanhavesomeonecomeinandhelpusdo
theworksowekeepoursprintgoal.Pam,doyouhaveanyideasonwhomightbe
available?”
“IwishIdid,guys.Thiswholethingcaughtalotofusbysurprise.WhenItalkedtothe
GMlastweek,theplanwastotransitionslowly,butthiscamedownfromthetop,justlast
night,”Pamexplained.
“HowaboutJavier?Canwegethim?OrAmanda?Theyhavetheexperienceweneed
andwouldfitwellwithourteam,”askedBilly.
“Letmethinkaboutit.Rightnow,Ican’tthinkofasingleteamthatisn’tintheexact
samesituationasyou.So,let’sassumefornowthatIcan’tgetyouanyhelpandyoucan’t
findadifferentwaytoaccomplishyoursprintgoal.What’soptionC?”askedPam.
“Well,”saidMark,“wecanreducethescope,meaningwecutoutafewstoriesfromthe
sprintbacklogandputthembackontheproductbacklog.Thiswillreallyirritateour
stakeholders,though—onegroupofthemespecially.Wetoldthemwe’dhavealotof
functionalitybuiltoutfortheminthissprint,andwetoldthemthatweeksandmonths
ago.Wecan’tgobackonthatnow;they’llkillus!”
“Iagree.Lookingatoursprintbacklog,findingwaystocutscopeisn’tthateasy,”said
Billy.“Thecutswe’dneedtomakearesodeepthatitmightevenimpactsomeofthe
storieswehaveworkedonalready.Iwouldhatetohavetoremovenearlycompleted
storiesfromthesprintdemojustbecausetheyaredependentonotherstoriesthatwehad
tocut.”
“Then,itlookslikeweneedtocancelthesprint,”declaredPam.
“Cancel?”askedBillyandMarktogether.
“Yes,cancel—orabort.Cancellingasprintisrare,butitappliesinthiscase.Youcancel
whenthereisachangetothebusinessthateithernegatesthevalueofthesprintgoalor
leavestheteamincapableofmeetingthesprintgoal.Ithinkwe’reatthatpoint.It’sthe
onlyoptionthatseemstomakesense.”
“Thewholeteamchemistryischanged,”musedBilly.“It’snotjustaboutthetasksMike
wasgoingtodo.It’sthatweneedtorethinkwhowearewithouthim.Iwanttomakeit
veryvisibletothehigher-upshowamovelikethisaffectstheteamandtheproject.”
“Yep,”saidMark.“LikeBillysays,it’snotasmuchabouttheworkMikewasdoingor
Mikeperse.It’sthatwhenyoudisruptateammid-project,there’sacost.We’vegotto
learnhowtoworktogethereffectivelywithouthim.Plus,we’vegotsomelogisticsto
workout.We’llhavetodoacompletereset:Rollbackourcodebasetothelastsprintand
startplanningagain.Andwe’vegottorescheduleallthosemeetings,too.”
“You’reright,”saidBilly,“I’dforgottenaboutallthat.Ihopeit’sworthittothe
company,thelossthateveryoneisgoingtotakeonthis.It’sgoingtotakeusacoupleof
monthstogetbacktowherewewereintermsofvelocity.”
“Agreed.Let’shopethisshort-termpainhasalong-termpayoff,”saidPam.“We’vegot
alotofworktodointhemeantime.Let’sgotalktotheproductownerandmakeour
case.”
TheModel
Cancellingasprintisabigdeal,bydesign.Itisdoneonlyinextraordinarycircumstances
andalwaysasalastresort.Inthischapter’sstory,Billy,Mark,andPamconsideredfour
optionsthatJeffSutherlandaffectionatelycallstheScrumEmergencyProcedures.
Sutherlandhastoldmemanytimesthatwhenhewasafighterpilotflyingsortiesover
Vietnam,hehadstrappedtohislegasetofemergencyproceduresonwhattodoincaseof
anemergencywhileonamission.Scrumteamshaveasimilarchecklistavailabletothem
[LEFFINGWELL].
Whensomethingunexpectedoccursthataffectstheteam’sabilitytorealizethesprint
goal,theteamhasfouroptions:
1.Removeimpediments.
2.Gethelp.
3.Reducescope.
4.Cancelthesprint/abort.
Teamsshouldfirsttryeitherofthefirsttwooptions.Reducingscopeshouldbealast-
ditcheffortthatistrumpedonlybyoutrightsprintcancellation.Theonethingyouneedto
rememberinallthisis,don’tmakeadecisionontheseoptionsblindly.Thisisa
negotiation,soeachstepisworsethanthepreviousonebydesign.Talkthisthrough,work
diligentlytofindoptions,andrememberthatwhentheteamisindirestraits,itsmembers
mightnotbethinkingclearly.Astheteammemberstrytoworkthroughtheoptions,
encouragethemtocommunicate—witheachother,withtheirproductowner,with
management.Thesearenotdecisionstheteamorproductowner(oranyoneelseforthat
matter)shouldmakeinavacuum.Discusstherisksandimpactsanddoeverythinginyour
powertofindasolution.Abortingasprintisthelastresort,usedonlyforaship-is-
sinking-typeevent.Cancellingshouldalwaysbeyourlastchoice.
RemoveImpediments
Scrumhassomethingcalledthesprintgoal.Thesprintgoalcanbesomethingas
overarchingasimproveperformanceoraddadditionalpaymentfunctionalityoras
focusedasallowcustomerstouseanAmericanExpresscard.Whenconsideringwhat
impedimentscouldberemovedtoallowyoutoreachthesprintgoal,focusonanalyzing
theissuesandgatheringideasonhowtocorrecttheproblems.Theblockingissuecouldbe
somethingsimple,likeabrokenbuildmachine,orsomethingmorecomplex,likea
distributedteamimbalance.Regardless,workasateamtoidentifyandremoveor
compensatefortheissueswheneverpossible.
GetHelp
Thisoptionisprettystraightforward.Ifyourteamislookingatitssprintbacklogandfinds
thatitcannotmeetthegoal,andnoclearworkaroundsexist,askforhelp.Thoughthis
worksinapinch,itdoeshavedrawbacks:
Thepersonwon’tbepartoftheteam.Includinganewbieontheprojectforone
sprintcancomewithcomplications.
Yourvelocityforthatsprintmightbeartificiallyinflatedbecausethestorywas
completedbyanoutsiderorateamconsultantinsteadofacoreteammember.
Thebestwaytoovercometheseobstaclesisthroughcommunication.Letyourproduct
ownerknowupfrontwhatisgoingon.Remindtheproductownerthatthevelocitymaybe
inflatedforthatsprintandnottocountonthatlevelofvelocityinfuturesprints.Helpthe
non-teammembergetuptospeedquickly,andkeepyourteaminformedonwhatisbeing
builtandhowitworksbypairingorfindingotherwaystoshareknowledge.
ReduceScope
Teamsoftenmistakenlyreachforthisoptionfirstbecauseitistheeasiest.Here’sthe
thing.Whilesomewouldsaythatthesprintbacklogismoreofaforecastthana
commitment,Ifirmlybelievethatwhentheteamsaysitcandeliveracertainamountof
functionalityinasprint,thatteamhasmadeacommitmenttotheproductownerand
stakeholdergroup,whomightwellneedtoreleasethatfunctionalityattheendofthe
sprint.
Knowthatwhenyouremovescopethatyouhavepromisedtodeliver,stakeholdersare
goingtobemad!Idon’tmeanjustkindofmad,Imeanupset.Tohelpmitigatethis
situation,theproductownerneedstoworkwiththecustomersduringthesprint,telling
themaboutthereductioninscopeandthereasonsthatitwasabsolutelynecessary.And
thosereasonsneedtobecompelling.Acompanyreorgdisruptingasprintis
understandable;someoneoutsickforseveraldays,though,pointstoabiggerissuearound
teamdynamicsandsharingtheworkload.(SeeChapter17,“FacilitatingaProductive
DailyScrum”formoreonworkingasateam.)
Anytimeyouremovescopefromthesprintbacklogandfailtofollowthroughona
commitment,itunderminestrust.It’sdifficultenoughtobuildtrustamongtheteam,the
productowner,andthestakeholder/customergroup.Anydamage,nomatterhowslight,
candegradetrustsignificantly.Ifithappensrepeatedly,allinvolvedwillloseconfidence
intheteam’sabilitytodeliver.
Burndownsmakescopecutsveryvisible.AsFigure22-1shows,whenyoudropscope,
theburndownchartshowsadropintheworkremaining,intermsoftaskhours.
FIGURE22-1Sprintburndownshowingdropinscopebetweendays6and7
CanceltheSprint
Whenoptionsonethroughthreefailoriftheyarenotfeasible,whenyou’vehitrock
bottomandneedtopresstheresetbutton,youcancancel/abortthesprint.Infighterpilot
terms,thiswouldbethetimeforejectingfromtheaircraft,leavingittocrashandburn
whileyoufloattotheground.Assuch,thisisnotsomethingtotakelightly.TheScrum
Guide[SCHWABER]saysthatonlytheproductownermaycancelasprint;however,I
findthatitisalwaysacollectiveteamdecisioninvolvingtheproductowner,theteam,and
stakeholders.
Whenasprintisterminated,therearecosts.Allworkisstopped;someofitmightbe
lost.Allmeetingsarecancelled.Allofthesprintmeetingsmustberescheduled,including
anewsprintplanningmeeting,whichmustbeheldimmediately.Everyoneaffectedis
notifiedandtheteambeginsanew.
TheruleIlivebyisthattheteamresetsthecodebaseaswell,rollingitscodebackto
thelastsprint(thelastknowngoodsprint),andrestartsfromthere.Why?Becausewhile
theteammightwellusesomecomponentsthatithadwrittenbeforethesprintwas
cancelled,theteamdoesn’tknowthisatthetimeofthecancellation.Thebestoption,
therefore,istoreturntothelastknowngoodstateandbeginagain,evenifthecodeis
solidandcouldtheoreticallyremaininthebuild.Withoutproductowneracceptanceand
beingtiedtoasprintgoal,it’sjustextragarbageinthecodeandshouldbedeleted.Afresh
startacrosstheboardispartofthecostoftermination.
Sprintscanbecancelledbytheteamorbymanagementwhen,becauseofextraordinary
circumstances,theteamcannotorshouldnotachievethesprintgoal.Inhighlydynamic
industries,externalbusinessinfluencesoftenleadtodramaticallychangingscope.(Yes,in
theseinstances,theteamshouldprobablyrunshortsprintsofaweek,butsomedon’t.)
Otherreasonstoterminatethesprintmightincludecontractchangeswithathirdparty,
runningoutofmoney,andclient-requestedscopechanges.
Attheendoftheday,terminatingthesprintreducesteammoraleandvelocity.Itbreaks
thestakeholder/teamcadenceandchangesexpecteddeliverypointsandforecastsaswell.
Extracommunicationisnecessarytoexplainwhythesprintwasterminated.Theteam
restartswithnewplanningmeetingsandbuildsanewsprintbacklogwithanewgoaland
commitment.Theteammightneedtoaddressitsestimatedvelocityaswell.
InmyyearsofworkingwithScrumprojects,Ihaveonlyhadtoterminateonesprintin
oneproject.Why?Ateammemberwassuddenlymovedtoanewgroupafterareorg.It
wasneitherpleasantnorfun,andourstakeholderswereupset,butintheend,itwasthe
bestthingtodofortheproject.
KeystoSuccess
It’shardtotalkaboutsuccessduringadiscussionofemergencymeasures.Anypathyou
takewillbepainful.However,ifyoufollowsomegeneralrules,youcanminimizethe
pain.
Communicate—Icannotstressthisenough.ThisiswherethevaluesofScrum
comeintoplay.Ittakescouragetotakethestepsneededtoworkthroughthisrough
patch,butcommunicationneedstohappen—andhappenoften.
Staycalm—Whenthingsgosouth,it’shardnottopanic.Rememberthatasa
ScrumMaster,productowner,orteammember,youneedtomanagethereactionsof
yourcustomersandstakeholders.Takethehighroadandusethisopportunityto
highlightwhyScrumisgood:Itoffersoptionsandflexibility,anditsshortcycles
allowyoutogetbackontrackfairlyquickly,evenafteracatastrophiceventlikea
termination.
Stayfocused—Lookforward,notbackward.Focusoncleaningupthesprintand
gettingonwithgettingon.Thewayyoureactwilldetermineothers’reactions.Ifyou
refusetolingerinthepastbutinsteadsoldieronwithapositiveoutlook,otherswill
followyourlead.
References
[LEFFINGWELL]Leffingwell,Dean.“JeffSutherland’sSprintEmergencyLanding
Procedure.”ScalingSoftwareAgilityBlogwebsite.
http://scalingsoftwareagility.wordpress.com/2008/10/19/jeff-sutherland%E2%80%99s-
sprint-emergency-landing-procedure/(accessed2January2011).
[SCHWABER]Schwaber,Ken,andJeffSutherland.2013.“TheScrumGuide.”
http://www.scrumguides.org(accessed28October2015).Alsoavailableat
http://www.mitchlacey.com/resources/official-scrum-guide-current-and-past-versions.
PartIV.AdvancedSurvivalTechniques
Chapter23.SustainablePace
Ourteamworksatasustainablepace—Youhearitallthetime,butwhatexactlydoesit
mean?Isthereastandardpacethatallteamsshouldstrivetoachieve?Forexample,my
wifeandIarebothrunners.Hersustainablepaceisaseven-minutemile;mine,though,is
morelikenineandahalfminutes.Wecaneachsustainourownpaceformanymiles.But
ifItrytosustainherpace,ifItrytorunaseven-minutemile,forverylong,Igetsick—
physicallyill.ShouldIbetrainingtoreachherpace?Orisminegoodenough?
Whatdoessustainablepacemeanforyourcompany?Whatifateam’ssustainablepace
istooslowtoreachthecompany’sgoals?Shouldtheteambeaskedtodeliver,evenifit
meanspushingitsmemberstotheirlimits,orbeyond?
Tobetterunderstandsustainablepaceanditsimplications,readthefollowingstory,
whichfeaturestwofunctionalprojectmanagersinsidealargesoftwarecompany.Thefirst,
Hugo,isworkingasaScrumMasteronaScrumproject.Thesecond,Joana,isfunctioning
asaprogrammanageronatraditionallyrunproject.
TheStory
“Idon’tknowhowmuchlongerIcantakethis!”exclaimedJoana.Shestoodinthedoor
toHugo’sofficewithanexpressiononherfacethathewasalltoofamiliarwith.He
gesturedtoanearbychair.
“Youmightaswellgetitoffyourchest,”saidHugo.“Moreproblemswithyour
project?”
“Theyneverend,”Joanaexplained.“Thistimeit’sthestakeholders!Wheneverwetry
toclarifyarequirementorgettheacceptancecriteria,wegettherunaround.Butstill,they
expecteverythingtobecompleteintimefortheirbigreleaseandattheendofevery
milestone.Theyvacillate,changetheirmindstwentytimes,andrefusetobepinneddown.
Whentheyfinallydofigureoutwhattheywant,we’reexpectedtomakeithappenin
recordtime!‘Cramitinattheend,’theysay.”
“Sowhat’snew,Joana?”askedHugo,smiling.“Seriously.Iwanttohelpbutdon’t
knowhow.Everytimeamilestonecomesup,youcomeinheretellingmehowridiculous
itistorunaprojectthiswayandthatyou’renevergoingtoletthishappenagain.Every
time,Iagree.Butassoonasthenextmilestonerollsaround,you’rebackinhere,inthe
samesituation,facingthesameproblems.Itcan’tcontinue,butitwillcontinueuntilyou
dosomethingdifferent.”
“Icanalwayscountonyoutotellitlikeitis,can’tI?”saidJoana,smiling.“Andyou’re
right.Thisdoeskeephappeningoverandover.Wejustgetrestedfromourlastwildpush
whenit’stimetoworklikedogsagain!Andit’sgettingworse.We’realreadyworking
overtimeeverynight,andwe’resixweeksawayfromtherelease.Lasttime,asbadasit
was,weonlyhadtoburnthemidnightoilforaboutthreeweeks.Andit’snotlikewe’re
puttingoutaproductwecanbeproudofeither.Theshortcuts,thebugs,andtheproblems
arejustpilingup,butwhohastimetoaddressthem?”Joanasighedandleanedbackinher
chair.Shelookeddownforamomentthencontinued.
“Theteamislosingfaithinmeandeachother.Halfofthemarereadytoquit,again.I
reallydon’tknowwhattodo.”
Hugogotupandsketchedanunsustainablepaceonthewhiteboard.
“Partoftheproblemisthestakeholders.Butlet’stalkaboutwhat’sreallydraggingyou
down.You’renotworkingatasteadypace,”saidHugo,pausingtopointatthedrawing,
whichshowedalargevarianceintheteam’sactivity.
“See?Yousitidleforawhile,waitingforadecisionorrechargingyourbatteriesfrom
yourlastbigpush.Thenyouworkataprettygoodpaceforsomeamountoftime.Then
suddenly,yourampwayupandtrytoholditatthatlevel.Right?”askedHugo.
“That’sexactlyit.Werampuplikewearenow,workingsixtyhoursaweek.Then,once
wehitthemilestone,wecrash.Sure,wemightbeintheofficefortyhoursaweek,but
we’rereallyputtinginsomethingliketwentytothirtyhoursaweek.Afterthisnext
milestone,we’llprobablyneedfoureasyweekstorecoverfromtheburnout.It’snotideal,
butIdon’tknowwhatelsewecando.Wehavetorampupbut,afterwedo,weneeda
break,”admittedJoana.
“Theunevenpaceiskillingyou,though,Joana.Partofthereasonyouhavetoworkan
increasingamountofovertimeisbecauseyou’rerecoveringforlongerperiodsoftime
betweenthespikes.Thevalleyswillbecomewider.It’saviciouscycle.Youneedtowork
atasteady,sustainablepacethewholetime.”
“Itcan’tbedone.Evenifwewantedtoworkmoreduringthosevalleys,we’reoften
blockedbythestakeholders,whocan’tmakeadecisiontosavetheirlives,ortheir
projectsinthiscase,”quippedJoanna.
Hugosmiled.“Itcanbedone,butit’sgoingtorequiretwothings.Thefirstisa
commitmentfromtheteamtorefusetotakeonrequirementsunlessthey’rereadytobe
workedon.Keepthemoffthescheduleuntilthedecisionsaremade—andthisincludes
acceptancecriteria,architecture,everything.Beforeyousayanything,Iknowhowtough
that’sgoingtobe.We’regoingtohavetohelpthestakeholders,andthebusiness,
understandwhat’sgoingonandhowtheirinefficienciescontributetotheseproblems.
They’vebeenlulledintothisfalsesenseofsecurity—nomatterwhattheydo,the
functionalitytheyrequestcomesoutwhentheywantit.Whatthey’regoingtohaveto
learnisthatiftheyhaven’tmadedecisionsaboutfunctionality,theycan’thavethe
functionalitybytherequesteddate.YouandIaregoingtotakethatontogether,”Hugo
reassuredJoanaasshelookedathim,bewildered.
“I’malmostafraidtoaskwhatthesecondthingis,”saidJoana.
“Thesecondthingwe’regoingtohavetodoisteachyourteamhowtoavoidthewall,”
saidHugo.
“Comeagain?”
“RememberyearsagowhenIranmarathons?”askedHugo.
Joananodded.
“Well,oneconceptIdidn’tunderstanduntilIexperienceditmyselfwasthewall.I
thoughtIwasreadyformyfirstmarathon.Ihaddonethetraining,boughttheshoes,had
thevenueallpickedout.ButIdidn’trealizehowimportantitwastofocusonmypace.”
“Goon,”saidJoana.
“MymistakewasthatIhadatimeinmind,agoal.AndasInearedthehalfwaypointof
themarathon,IrealizedIwasn’tgoingtohitthatgoalunlessIwentfaster.Ifeltpretty
goodatthatpoint(plentyofbreath,muscleswereloose),soIpickedupthepace.Eight
mileslater,IknewIwasintrouble.Ibegantofeelsick.Itriedtoeat,triedtodrink,butit
onlymademefeelworse.IknewatthispointIwouldn’tmeetmytimegoal,butIwas
determinedtofinish.Istoppedacoupletimes,caughtmybreath,andtriedtogetmyheart
ratedown.Therestbreaksworked,butonceIstartedrunningagain,Ifeltawfulwithin
minutes.Still,Ifoughtthroughit.
“Then,aboutfivehundredmetersfromthefinishline,ithappened.Ihitthewall.Iwas
disoriented,hallucinating.Ithrewupandcollapsed.AndIcouldn’tgetbackup.Iwas
seeingstars—Ijustcouldnotfunction.ThereIwasinfrontofallthosepeople,withthe
finishlineinsight.AndtherewasnothingIcoulddobutliethere.Ineverfinished.Istill
havethenewspaperclippingfromthatday,andIstillgetahardtimefromtheguysatthe
gymeveryyearaboutit,”saidHugo.
“So,”saidJoana,“ifthisprojectisamarathon,you’retellingmewe’renotgoingto
finish,andwe’regoingtobeembarrassedtrying?”
“Worse,”Hugoexplained.“Yousaidearlierthatthestakeholdersarewaitinguntillate
intheprojecttomakecrucialdecisions.Right?”
“Yes,”saidJoana.
“Whatstateofmindareyouandtheteaminwhenyou’reaskedtomakeyourown
decisionsbasedontheirlast-minuterequirements,decisionsaboutdesign,architecture,
andsoon?”askedHugo.
“We’reprettymuchtootiredtoprocessit.Atthatpoint,we’rejusttryingtoslog
throughandgetitdone,”saidJoana,frowning.“Ihadn’tthoughtaboutthat.”
“Bytryingtohitsomearbitrarymilestoneandincreasingyourpacetosomethingyou
can’tsustain,you’regoingtohitthewallbeforethefinishline,everytime,”saidHugo.
“Unlikeme,youmightfinish,buttheendresultwillbebuggycode,unhappypeople,
brokenbuilds,allconsequencesofbaddecisions.Soundfamiliar?”
“Alltoofamiliar,andIhavefivemoreweeksofthis,thenfivemoremilestonesafter
that.We’llhaveatleastthirtyorfortymoreweeksofsheertorturebeforewe’redone,”
Joanasaid,puttingherheadinherhands.“Thisisimpossible.”
“You’rerightaboutthat.Rightnowitisimpossible,”admittedHugo.“Butthat’swhere
thesecondthingcomesin.Remember?Thereweretwothingsweneededtodo.Thefirst
wastoputthepainofindecisionbackonthestakeholderswhereitbelongs.Thesecondis
tofindapacethatyoucansustain,livewiththatforawhile,andthentraintogofaster.”
“Notfollowing,”saidJoana,frowning.
“Myfirstmarathonendedbadly.ButIrananotheronesixmonthslaterandfinished.I
didn’tgetthetimeIwanted,butIranasteadyten-minutemilethroughouttheraceand,
becauseIdidn’tgobeyondmylimits,IfeltokaywhenIfinished.Stilltiredbutincontrol,
happywithmyperformance,andreadytoraceagainanotherday,”Hugoexplained.
“Soweneedtofigureoutwhatagoodpaceisfortheteam,andstickwithitthroughout
theproject?”askedJoana.
“Yes,butthere’smore.Knowwhatmytimewasonmylastmarathon?”askedHugo.
Joanashookherhead.
“Threehoursflat,”saidHugo.“That’sapaceofsevenminutespermile,threeminutes
fasterthanmysecondmarathonandtwominutesfasterthanthegoalIoriginallysetfor
myself.Throughtraining,practice,anddiscipline,Iincreasedmysustainablepaceand
wentfasterthanI’deverdreamedpossible.
“Joana,ultimately,it’syourjobtodeliver,whetherthepaceissustainableornot.And,
aswasthecasewithmyfirstandsecondmarathons,thepaceyoucansustainnowis
probablynotgoingtobefastenoughtomeetthecompany’sgoals.WhenIrealizedthisa
fewyearsback,Idecidedthattoincreaseoursustainablepace,IneededtouseScrumand
XPengineeringpracticeswithmyteams.Wehaveshorteriterations,usecontinuous
integration,test-drivendevelopment,pairprogramming,andotheragilepracticesto
improveourperformance.Ithinkthat’stheanswerforyou,also—helpyourteams
understandagilepracticesandhowandwhytheywork.You’llbebetterabletogauge
progress,respondtoproblems,andmaintainenergylevels.Plus,yourstakeholderswillbe
betteralignedwithyou,soyou’llhavefewerfirestodealwithasyounearamilestone.”
Hugopausedwhileheletthatsinkin.“So,areyoureadytotaketheleap?Youin?”
Joanasmiled,“Anythingisbetterthanthewaywe’reworkingnow.Showmetheway,
ohmightymarathoner.”
Togethertheysetaboutthehardworkofchangingmindsandhabits.Thefirstthing
theydidwastoappealtomanagementforpermissiontostoptheprojectandbegananew.
TheystartedusingScrum.Theyeducatedthestakeholdersabouttheirroleandthe
expectationsthatweresetforthemtomaketheprojectgoontime.Theyworkedwiththe
teamtoslowlyaddengineeringpracticesthatwouldmakethemamoreeffectiveunit.In
theend,Joana’steamfoundacomfortablesustainablepacethatmorethansatisfiedthe
company’sneeds.
TheModel
Thisstoryisnotuncommon.Alltoooften,thenormforteams,especiallythoseina
traditionaldevelopmentenvironment,istheburnoutscenariothatHugodescribedand
Joanaconfirmed.Withtheadventofmoremoderndevelopmentmethodologies,I’veseen
thenumbersdecreaseoverthepasttenyears,butevennow,atleast50percentofthe
customersIworkwitharestillworkingbeyondcapacityforextendedperiodsoftime.
Thesecompaniesaren’theartless;likeJoana,theywantemployeestohaveagoodwork
environment,butdrivinghardtomeetmilestonesistheonlywaythesecompaniesknow
howtomeettheirgoals.Intheend,though,theyareleftwithhighemployeeturnover,
buggyproducts,andfewercustomers.
Theproblemdoesn’tmagicallygoawaywhenteamsturntoScrum.Whenteamsare
newtoScrum,theyapplythesamepatternsofburnoutandrecoveryinsideasprint.Ina
typicalone-monthsprint,theteammightworkbelowcapacityforaweek,atcapacityfora
weekortwo,andthenbeyondcapacityduringthefinalweek,oncetheyrealizetheyarein
dangerofmissingthesprintgoal.Tomitigatethis,see“ShortenIterations”laterinthis
chapter.
Inthestory,Hugo’ssketchhighlightedthepeaksandvalleysoccurringonJoana’s
project.Valleysareperiodswhentheteamisinrecoverymode(notproductive),andpeaks
aretimeswhentheteamisincrunchmode(overloaded).Joanawasrunningatraditional
softwaredevelopmentprocess,wheretheteammusthitcertainmilestones(codecomplete,
testing,betarelease,andsoon).That’swhyinHugo’ssketch,theverticallinesindicate
theendofvariousmilestones.Ifhehadbeensketchinganagileproject,theverticallines
wouldinsteadcorrespondwiththeendofsprintsorreleasedates.
NoticethatinHugo’ssketchtheteamstartsoutinanunproductivestate,spendssome
timeoperatingatoptimalefficiency,andthenskyrocketsintooverloadwhenitbecomes
obviousthattheteamcannototherwiseachieveagoal.Oncetheteamhitsthemilestone,it
fallsintoanunproductivestateagain,whereitsmemberscatchtheirbreathbefore
rampingupagain.Thishappensforafewcycleswithoutcausingtheteammuchpain
becausetheteamisspendingabouttwiceasmuchtimeinanoptimalstateasitisinthe
unproductiveandoverloadedstates.YoucanseethisinFigure23-1,whichrepresentsthe
typicaldistributionoftimeduringtheearlycyclesoftraditionaldevelopment.
FIGURE23-1Howtimeisdistributedleadinguptoamilestoneintraditional
development
Asthemilestonesprogress,however,thedistributionbeginstoshift.Bugreportsand
changerequestspileup,causingtheteam’sworkloadtoincreaseasitsmembersaretrying
tokeepthesamerateofdevelopmentwhilealsofixingproblemsandintegratingchanges.
Beforelong,theteamisspendingmoretimeinanoverloadedstate,whichmeanstheteam
needsmoretimetorecoverandspendslesstimeinoptimalmode.
Soontheteamiscaughtinaviciouscycle.Themoretimetheteamspendsworking
beyondcapacity,themoretimeitneedstorecover.Andthelongeritspendsresting,the
moretimetheteamneedstospendinburnout/overloadmodetocatchup.Thisis
especiallytrueoncyclesofamonthorlonger.
Itrackedthisonmyownprojects.Myteamfoundthatasworkprogressed,ourdata
lookedmorelikethepercentagesshowninFigure23-2.
FIGURE23-2Overloadincreases,optimaldecreases
Sincethatinitialtracking,I’veobservedthatthistrendisfairlystandardacrossthe
boardandthatthelongerthecycle,themorepronouncedtheimbalance.Tounderstand
whyasteadilygrowingimbalanceissoharmfultoaprojectandtheendproduct,take
anotherlookatHugoandhismarathons.Duringhisfirstmarathon,Hugohitawall—he
reachedaphysicalstateofexhaustionwherehecouldnotcontinue.Long-distancerunners
knowthattheymustmonitortheirheartratessothattheystayinanaerobicstate,where
thebodyiscreatingenergybybreakingglycogenintoglucoseandcombiningitwith
oxygen.Whenthebodyrunsoutofglycogen,itbeginsburningfatandproducinglactic
acidinsidethemuscles,causingtherunnertohitthewall.Tostayinanaerobicstate,the
runnerkeepshisheartrateinacertainrangeandmustexpendenergyataconstantrate
ratherthaninbursts.
Iftheheartraterisesaboveacertaintarget,85percentofyourtargetheartrate,the
bodybeginstoperformanaerobically,burningglucosewithoutoxygenandoperatingfar
lessefficiently.Thisisfineforexercisethatrequiresonlybriefburstsofintenseexertion,
butitisproblematicforlong-termendeavorswhenasustainedlevelofenergyisrequired.
Asoftwareteamshouldstriveforanaerobicstate,workingatasteadypacesothatits
membershaveanalmostendlesssupplyofenergy.Whenforcedtoworkinburstsof
hyperactivity,thereisamuchmorefinitesupplyofenergyavailable.Asaresult,theteam
memberswillquicklybecomefatigued,beginmakingbaddecisions,andastheir
metaphoricalmusclesbegintoburnfromlacticacidbuildup,theywilleventuallystopout
ofsheerexhaustion.Astheseburstsgrowlonger,sodothecorrespondingperiodsofrest,
astheteammembersfeelthemetaphoricalburnoflacticacidintheirownmindsand
bodies.
Maintainingasteady,aerobicstaterequiresthatteamsworkinmultiplesetsofmicro
peaksandvalleystoreachthesprintendormilestonemarker.Figure23-3illustratesthe
peaksandvalleysindicativeofasustainablepace.Whenteamsareinthisstate,theyare
operatingatoptimalefficiency,evenatthepeaksandvalleys.Becausetheteammembers
aren’ttiredorstressedorburnedout,they’reabletobeattheirmostproductive.
FIGURE23-3Shorteriterationsallowforamoresustainablepace
So,howdoyoumovefromahecticpacethatleavesemployeesburnedoutand
overworkedtoasteady,sustainedpacethatisoptimalandproductive?Considerthestory.
WhenHugoranhisfirstmarathon,hetriedtorunbeyondasustainablepace,andinso
doing,burnedoutandcouldn’tfinish.Bythetimeheranhislastmarathon,however,he
notonlyfinishedbutmanagedaseven-minutemile.Thatkindofimprovementwasn’ta
fluke.Ittookpractice,training,discipline,andtime.Likewise,ifteamswanttocreatea
sustainablepacethatisrobustenoughtomeettheirowngoalsandthoseoftheir
stakeholders,theyhavetoimprovethewaytheyrunprojects.Todothis,teamsneedto
shortentheiriterations,increasetheamountoftimetheyspendworkinginateamspace,
andmonitortheirburndownstoensureasteadycompletionratethroughouteachsprint.
ShortenIterations
Thefirstthingtodoifyouareexperiencingburnoutistoshortenthecycletime,breaking
theprojectintosmallerchunksanddeliveringfunctionalitymoreoften.Ifyouareworking
inone-monthsprints,trytwo-weeksprints.Ifyouareusingtwo-weeksprints,tryone-
weeksprints.Byshorteningthesprints,you’llfindit’smucheasiertoconsumeenergyata
constantrateoverashorterperiodoftime.
Toexaminewhythat’sso,revisitthesustainablepacechartshowninFigure23-3.
Noticethatbeforeeachmilestone(orreleasedateonaScrumproject),therearemultiple
peaksandvalleysinactivity,allfallingprimarilyinsidetheoptimalzone.Theseshort
iterationsallowforsmallburstsofenergy,shortrecoveries,andfrequentprogresschecks
andadjustmentsintheformofsprintreviewsandretrospectives.Psychologically,because
theteamcanseethefinishlinefromthebeginningofeachsprint,it’smucheasiertowork
enthusiasticallytowardtheendgoal.Shortiterationsaretheheartbeatofsustainablepace.
Workinginshortersprintsmightmeandecomposingyourstoriesintosmallerbitsand
changinglong-standinghabits,butithasbenefitsthatreachfarbeyondsustainablepace,
includingmorefrequentcustomerfeedback.SeeChapter12,“DecomposingStoriesand
Tasks,”fortechniquesandbenefitsassociatedwithtaskdecomposition.
MonitorBurndownCharts
WhileTheScrumGuidepublishedbySchwaberandSutherlandin2013statesthat
burndownsarenolongerarequiredartifactinScrum[SCHWABER],Ibelievetheyare
stillessentialtoolsinateam’sarsenal.Yourburndownchartcangiveyoumanycluesasto
howyourprojectisprogressing.Whatyouwantisasteadyrateofburndownacrossthe
board.ItshouldlookconsistentwithFigure23-4.
FIGURE23-4Exampleofanidealburndownchart
However,forteamsthatruninanoverloadedstate,theburndowntypicallylooksmuch
different.Fortheseteams,whatyouseeismanydayswhentheworkremainingishigh
(duringthelightactivityassociatedwithrecoverymode)followedbyalargeflurryof
activityandaccompanyingdropinworkremaining(inoverloadmode),asillustratedin
Figure23-5.
FIGURE23-5Exampleofasuboptimalburndownchart,wheretheteamcompletesmost
ofitsworkallatonceratherthanatasteadyratethroughoutthesprint
Highburndownratesattheendofthesprintandslowburndownratesatthebeginning
areindicatorsthatyourteamisattemptingtoomuchworkattheendofthesprint.
Fluctuationsinburndownratesmightoccurbecauseoneteammemberistakingontoo
muchwork,thetasksaresizedinappropriately,theteamisinthehabitofworking
sporadicallythroughoutthesprint,oritcouldbeacombinationoffactors.Spendsome
timeevaluatingwhatiscausingyourend-of-sprintbursts,andtakethestepsnecessaryto
correctthem.
IncreaseTeamTime
Chapter10,“CoreHours,”explainswhycoreteamhoursareimportantandhowto
establishthem.Havingagoodsetofcoreteamhoursisalsocriticaltomaintaining
sustainablepace.Teammembersneedtospendacertainamountoftimeinthesamespace
together.Withincreaseddistance,evendownahall,comesdistraction,andwith
distractioncomesdecreasedteamcommunication—alackoftimely,sharedinformation
contributestothehugespikestowardtheendofasprint.It’sfartooeasytozoneoutorbe
distractedbyothertaskswhenyouareworkingalone—it’sfarbettertohavefourhoursof
teamtimedailythantwo,andifyoucan,sixisideal.
Chapter9,“WhyEngineeringPracticesAreImportantinScrum,”detailshowimportant
engineeringpractices,suchaspairprogramming,test-drivendevelopment(TDD),and
continuousintegration,aretoteameffectiveness.Theyarealsocornerstonesofsustainable
pace.Habitualuseofthesepracticeshelpskeeptheteamfocusedonthestoriesthatneed
tobedelivered.
Ifyouworkinadistributedteam,supplementphysicalspacewithvirtual.Thiscan
includehavingcontinualwebcamsandanopenconferencephoneline.Ondistributed
teams,it’sessentialtohavegoodengineeringpracticesandpairprogrammingsessionsto
helppreventthelossofinformationamongteammembers.
KeystoSuccess
Inthedriveforefficiency,organizationstendtoforgetwhatitmeanstobeeffective.Tom
DeMarcosummarizesitbest,“You’reefficientwhenyoudosomethingwithminimum
waste.Andyou’reeffectivewhenyou’redoingtherightsomething”[DEMARCO,p.
122].Inthesamebook,DeMarcogoesontosaythatwhileeffectiveorganizationswork
towardtheirgoals,albeitsometimesslowly,efficientorganizationscanbecomesofocused
onefficiencythattheyfailtonoticethattheyaremovinginthewrongdirection.
Inthischapter’sstory,Joana’steamwastryingtobeefficientbutwasdoingsoatthe
expenseofeffectiveness.Recognizingthatoverloadingtheteamonlyleavesyourteam
andyourcustomersunhappyisthefirststeptowardadoptingastrategythatleadstolong-
termsuccess.
Asustainablepaceisoneinwhicheachteammemberiscommittedtoworkingator
near85percent,dayinanddayout.Learningtoworkatsuchacontinuouslyhighlevel
takessomegettingusedto,especiallyifyouareusedtotheextremepeaksandvalleys
associatedwithburnout.Besideschangingthewayyouworkinsidethesprint,you’ll
likelyfacesomeorganizationalissuesthatcanderailateam’space,includingteam
longevity,part-timeteammembers,andunrealisticgoals.
Thefirstthingorganizationsneedtorealizeisthattogetteamsworkingatoptimal
levels,managementmustgiveteamstimetogel.Atypicalteamcomestogethertowork
onasingleprojectanddisbandsattheendoftheproject.Managementexpectshighlevels
ofoutputfromthestartbutbythetimetheteamhasreachedaperformingstate,the
projectendsandtheteamdisbands(seeChapter20,“AddingNewTeamMembers,”for
moreinformationonthefourstagesofteamperformance).Thebestteamsareonesthat
havebeentogetherformultipleprojectsandhavehadtimetoformstrongbondsand
workingrelationships.
Thesecondproblemholdingteamsbackisthesplitfocusoftheirteammembers.Tobe
highlyproductive,teammembersmustbefreetofocusonthetaskathand,andonlythe
taskathand.Runningamarathonrequiressingle-mindedness,wheretherunnergivesfull
attentiontohisbody,hisheartrate,andhisenergylevels.Runnersdon’ttrytoruna
marathonanddoothertaskssimultaneously.Yetcompaniesoftenaskteammemberstobe
part-timeonmorethanoneproject,therebysplittingtheirfocusanddegradingtheir
performance.
Next,sustainablepaceisthebestwaytoachieveoptimalproductivitywithoutrisking
teamburnout.Attheendoftheday,however,thereisnooneformulathatIcangiveyou
thatwillguaranteeasustainablepace.Youneedtotalktoyourteam.Findouthoweach
teammemberisfeelingatdifferentpointsinthesprintandoverallintheproject.Listenin
dailystandupsforcluesthatsomeonemightbeoverloadedorsettingherselfupforanend-
of-sprintrushofactivity.Thebestdefenseagainsthittingthewallistokeepaclosewatch
ontheteam’space,toincreasetheamountoftimetheteamspendsworkingtogether,and
toshortenyouriterations.
Onelastkeytosuccesshastodowithcompanygoals.Teamproductivitycanonlybe
increasedtoacertainlevel—eventhefastestrunnerscan’tcompletea26-milerunin26
minutes.Whileultimatelyyou’llbeonthehookforcompletingtheworkyourcompany
requires,ifyoufindthatdoingsorequiresyourteamtoworkatanimpossiblyhighpace,
you’regoingtoneedtohelpmanagementseethedisconnect.Trackyourvelocityand
showthempastreleaseburndownchartsofwhattheteamisabletodoonceitgetstoa
high-performingstate.Finddataandresearchthatshowsthegainsthatothercompanies
haveseen.Inviteagile-mindedseniorleadersinsideoroutsideyourcompanytospeak
aboutsustainablepace,orbringmembersofthemanagementteamtolocalcommunity
eventsorgivethemsomebookstoreadonthetopic—doanythingyoucantohelpwith
theeducationofmanagement.
Buildingsoftwareisateamsport.Alignmentbetweenleadershipandthepeopledoing
theworkhelpsensurethattherearefewersurprises,moresatisfiedcustomers,andmost
important,noteamburnout.
References
[DEMARCO]DeMarco,Tom.2001.Slack.NewYork:BroadwayBooks,p.122.
[SCHWABER]Schwaber,Ken,andJeffSutherland.2013.“TheScrumGuide.”
http://www.scrumguides.org(accessed28October2015).Alsoavailableat
http://www.mitchlacey.com/resources/official-scrum-guide-current-and-past-versions.
Chapter24.DeliveringWorkingSoftware
“Deliveringworkingsoftwareeverysprintisimpossible!”Ihearthatrefrainonaregular
basis,mostoftenfrompeoplewhohaveneverdoneScrum.Iaskthemhowtheyknow,
andtheanswerisalwaysthesame:“Wecan’tdeliverinayear,sowecertainlycan’t
deliverin30days!”
Atonepoint,Ibelievedthisaswell.Nowadays,Iencourageteamstousethatfeelingof
impossibilityasamotivatorforthepossible,tousethatenergytoprovethatitcanbe
done.Moreoftenthannot,teamsfindthatoncetheyadjusttheirmindset,theycandeliver
workingsoftwareeverysprint.Thefollowingstorylooksatoneteamthatfoundawayto
worktowardagoalofpotentiallyshippablesoftwareonasystemthatdidnotatfirstseem
tolenditselftoaniterativeapproach.
TheStory
Paulandhisteamwerebuildingasalesorderprocessingandmonitoringtoolforavehicle
manufacturer.PaulhadworkedwithScrumandExtremeProgramming(XP)onprevious
projects,butfortherestoftheteam,anagileapproachwasfairlynew.Theteamhadlaid
outthefollowinggoals:
Maintainhighcodingstandards.
Haveaclean,manageablecodebase.
Buildknowledgeontheteam.
Bepotentiallyshippableattheendofeverysprint.
Paulandtheteamhadnotroubledevisingaplanforaddressingthefirstthreegoals.
Whenitcametohowtodividetheworksothattheycouldtrulydeliverworkingsoftware
eachsprint,however,thingsgotmoredifficult.Theyinvitedtheproductowner,Matt,toa
kickoffmeeting,wheretheycouldallstudytheproductbacklogandexistinguserstories
totrytofigureoutwheretobegin.
“Ijustdon’tgetit,”saidMatt.“Basedonthesestoriesandwhatyou’retellingme,we’ll
needseveralsprintsbeforewe’vegotanythingthatIcantellthestakeholdersiseven
remotelyshippable.Areyousurethatpotentiallyshippableispossibleatthebeginningof
aproject?”
Paulnodded.Heknewhowhewantedtoapproachtheproblem,buthealsoknewthatit
mighttakesomeconvincingtobringeveryoneelseonboard.Hethoughtforamoment
abouthowtoexplainandcameupwithasimpleexampletodescribetheprocesswithout
boggingdowninthedetailsofthisparticularproject.
“Letmeansweryourquestionwithanotherquestion,”Paulbegan.“Whatisthepurpose
ofslidepresentationsoftware?”
EveryonelookedateachotherlikePaulwascrazy.
“Comeon,whatisit?”pressedPaul.
“Well,”saidDarrenwithadegreeofhesitation.“Iwouldguessitspurposeistopresent
slidesinameeting.”
“Right!”saidPaul,ashepulledupastandardpresentationprogramandpointedtothe
screen.“Sothepurposeofthisistoallowmetopresentmaterialtoyou,likeI’mdoing
rightnow,eitheronthisscreenoronanotherdisplay.Doyouallagree?”
Thegroupnoddedwithhesitation.
“Whatistheonethingthatthisneedstodoflawlessly,everytime,noquestionsasked?”
saidPaul.
“Displayslides;wejustcoveredthat,”saidSara.
“Notjustdisplayslides.Whatelse?”askedPaul.
“Well,tobeuseful,you’dhavetobeabletoaddcontent,”saidDarrenpointingatthe
blanktemplate.
“Right,”saidPaul.“SoIneedtobeabletocreateslidesanddisplaythem.Wecanall
agreeonthat?”
Theparticipantsnodded.
“DoIneedanimations?”askedPaul
“Sureyoudo,”saidDarren.“Yourslidesaresouglythattheanimationsaretheonly
thingthatkeepsusawake!”
Everyonelaughed.
“Okay,okay.Butseriously.DoIactuallyneedtheabilitytodoanimationsorsounds?”
askedPaul.“Whataboutgraphics?Backgrounds?Multiplefonts?”
“Ifyourprimarygoalistojustdisplaycontent,no,youdon’tneedallthatotherstuff.
Whereareyougoingwiththis?”askedMatt.“Wearenotbuildingpresentationsoftware.”
“No,we’renot.Whatwe’retryingtodoisfigureouthowtoapproachourproject.And
todothat,wefirstneedtothinkabouttheminimumfunctionalityweneedtoreachour
goal.Thesimplestthingthepresentationsoftwareneedstodoisenableuserstocreateand
displayslides.Dotheyneedtemplates,animations,orevenmultiplefonts?No.The
absolutebaserequirementisoneslidethatcanbecreatedanddisplayed.Doyouagree?”
askedPaul.
“Well,yes,butit’snotshippable.Noonewouldbuyit!”saidMatt.
“True,butnooneissuggestingweactuallyshipit.That’swhytheycallitpotentially
shippable,right?”saidSara.“Nooneintheirrightmindwouldeverreleasepresentation
softwarethatdidthebarestofbareminimumsintoamarketcrowdedwithrobustoptions.
Tobemarketable,theproductwouldneedtohavemorefeatures,butitwouldbe
potentiallyshippable.”
“Igetit,”saidDarren.“Wewouldneedtoexpandonit,creatingsomefunctionality
overtimetogettoafullyreleasablepoint.Butitcouldbeshipped,theoretically,because
itdoesmeettheabsolutebaserequirement.”
“Good,”saidPaul.“Soourgoalwouldbetobuildthebasiccoreoffunctionalityfully
andtomakesureitflowsthroughthesystem.We’dshowthefirstpiecetoour
stakeholdersandgettheirfeedback.Thenwe’dmakeadjustmentsandaddincremental
piecesoffunctionalitytothepresentationsoftware.Eventually,itwouldgrowintoafull
packagethatwecansell.Wewouldbeabletoaddadditionalfunctionalitytoitthrough
updates,butwe’dreachapointwhereitwasmarketable,andthat’swhenwe’drelease.”
“I’mstillmissinghowthisrelatestooursystem,”saidMatt.“We’renotbuilding
somethingsimplelikeapresentationsystem,we’rebuildingasalesorderprocessingand
monitoringtool.Ithastointegratewithnearlytwentysystems,andthereare,what,ten
differenttypesofcustomers,fromaccountingtoshippingtomanufacturingtosales?This
iswaymorecomplex!”
“Yes.Oursystemismorecomplex,butthatdoesn’tmeanwecan’tusethesame
approach.I’msuggestingthatwefindawaytoproduce,bytheendofthefirstsprint,a
thinsliceoffunctionalityallthewaythroughoursystem.Thisneedstobethecoreslice,
theonepeoplewilluseoverandoveragain.Whatdoyouthinkthatstoryis?”askedPaul.
“Ithinkit’sthebasesalesorderpath.Peopleneedtobeabletoputinanorderand
knowthattherightvehiclewillshiptotherightplaceasaresult,”saidDarren.
“Whatisthemostcommonvehicle?”askedPaul.
“Probablythebasiccabandchassis,”saidSara.
“Waitaminute,”blurtedMatt.“You’retellingmethatwe’regoingtobuildasystem
thatjustprocessesanorderforabasiccabandchassis?Next,you’regoingtosaythe
salespeoplecanonlypickonecolororoneengine,right?”
“That’sexactlywhatI’msuggesting,”saidPaul.“Wewillbuildthemostcommonflow
throughthesystem,whichisanorderforthebasecabandchassis.Overtime,we’lladd
morestoriesthatallowtheentirecompanytodomore.Storieslikeaddingcolorchoices,
configuringfordifferentengines,andtheabilityforthefloortoupdatethestatusonthe
vehiclesoshippingknowswhenitwillbebuilt.Thesethings,thesevariables,areall
dependentonthiscorestory,though.Doesthatmakesense?”
“Igetit,”saidDarren.
Someotherteammembersnoddedyes.Mattdidnot.
“I’mstillconfused,”saidMatt.
“Me,too,”admittedSara.“Whyonearthwouldwedothis?I’dthinkthatweshould
justdoournormalapproach,whichistodesignthebackendintegrationdatabase,getthat
sortedout,buildtheintegrationcomponentsonebyone,andthenbuildtheinterfaceatthe
end.”
“Whatwouldwedeliverattheendofthefirstsprint?”askedDarren.
“Well,”saidSarawithabitofhesitation,“Iguesswe’dshowthemthedatabase
designs.”
“Remember,Sara,we’retryingforworkingsoftwarehere,andthethresholdis
potentiallyshippable,nomatterhowsmallthestory,”saidPaul.
“Yeah,butwon’tthiscreateatonofworkthatjustgetstossedout?”askedMatt.
“Right.Imean,we’reprobablygoingtohackthatfirststorytogetheranditwillhave
mocks,whichwewon’tusefortheactualendproduct.Whatdoesthisgetus?”asked
Sara.
Darrensteppedupforthisone.
“IfIunderstandthisScrumthing,it’sgoingtogetusanopportunitytogetfeedback
fromourusersinthereviewmeeting,right,Paul?”
“Exactly!”exclaimedPaul.“Thefeedbackisthemostimportantpart.Wewillshowthe
usersthebasestory.ThenMattwillworkwiththemtoordertheremainingstories
accordingtotheirhighestvaluetothecustomer:Isitmoreimportantfortheusersto
configureadifferentengineoradifferentcolor?Thesevariablesarethingswecanaddin,
buttheybuildoffthiscorebasestory.We’reshowingworkingsoftwareandgettingreal-
timecustomerfeedback.Sincewe’relimitingourvariables,thestorieswillremainsmall,
whichmakesthemeasiertotestandvalidate.Fromthere,weexpandandthenreleasewith
aminimalmarketablefeatureset.”
“IthinkIgetitnow,”Sarasaid.“Whatyou’resaying,Paul,isthatwebuildeachlayer
ofthesystem—evenifthatmeanscreatingthingswe’llnevershipwith,likeflat-file
databases,mocks,basicallythethingsthatwewillrefactoroutatalaterdate.We’lldothe
basestorytovalidatethatthesystemworksend-to-end,andthenwecanexpandonitas
wego.”
“You’vegotit,Sara,”saidPaul.“We’llbuildathinsliceandexpanditaswego.Itwill
bepotentiallyshippablebecauseitwillmeetourdefinitionofdone.We’llbuild
acceptance,integration,andperformancetests,documentit,doeverythingweneedtodo
toship.”
“Myoneremainingconcernisrework,”arguedMatt.“Itseemslikewe’recreatingaton
ofstuffwe’lljusthavetothrowawaylater.Isn’tthatwasteful?”
“No.It’sriskmitigation.We’llbeabletoshowthestakeholdersasystemattheendof
thefirstsprintthatworksend-to-endforthatbasestory.We’llgettheirfeedbackandmake
changesasneeded.Fromthis,wewillincreasethesystemcapabilities,expandingthe
functionalityandscalingitformoreusers,”saidPaul.
“Okay.I’mwillingtogiveitatry,butIcan’tcommittoitwholeheartedlyuntilIsee
thisinaction.I’llgiveitashotforthreeorfoursprints,butifIdon’tlikeit—”saidMatt.
“Youwill,”saidPaul.“Trustme,youwill.”
TheteamtriedthemodelPaulproposedandlikedit.Asthesystemexpanded,andthe
numberofstoriesexpandedfromtheoriginalbasestory,sodidtheteam’sconfidence.
Afterthreemonthsofrunningtwo-weeksprints,theteamwasabletopublisharelease
planbasedonobservedvelocity.Inturn,therestoftheorganization’sconfidenceinthe
teamincreased—theteam’spredictionswerebasedonhistoricalvelocityrangesand
knowledge,sotheywereveryaccurate.Theteamdeliveredthesystemwithinthe
predicteddaterangewithoutanyoftheusualintegrationglitches.Intheend,everyone
agreedthattheteam’scommitmenttodeliveringworkingsoftwareeachsprintwasthekey
toitssuccess.
TheModel
It’snotalwayseasytoseethepathtoworkingsoftware.Inthestory,Matt,Paul,andthe
teamstrugglewithhowtobuildthesystemwhileachievingthegoalofcreating
potentiallyshippablesoftwareeverysprint.Theteam’sunderstandingofworkingsoftware
was“completed,releasablecomponents”ratherthanaworkingend-to-endscenario.Paul
helpedtheteamandtheproductownertounderstandthevalueinbuildingthesystemend-
to-endfromthebeginning,startingwiththesmallest,mostcommonlyusedpaththrough
thesystem,withallthetestsandsupportintheteam’sdefinitionofdone(seeChapter7,
“HowDoYouKnowYou’reDone?”).
Togetateaminthemindsetofdeliveringworkingsoftwareeverysprint,havethem
focusononeoftwofactors:corestory,whichwesawinthestory,ornumberofusers.
Thenmoveontotacklingsystemelementsintermsofriskand,astheprojectprogresses,
expandingandvalidatingfurtherfeatures.
CoreStory
Onewaytodeliverworkingsoftwareistoidentifyonecorestory,fixingtheother
variablessothatthecorestoryrunsthroughtheentiresystem.Astheprojectprogresses,
thevariablecomponentsreplacethemocksandflatfiles.Throughoutthesprints,theteam
deliversworking,potentiallyshippablesoftwaretoitscustomers,validatingthatwhatis
beingcreatedisindeedwhatthecustomersneed,andrevisestheplanaccordingly.
Thecorestoryistheabsolutebaserequirement,thesmallestsliceofend-to-end
functionalitythatisthemostcommonlyused,asshowninFigure24-1.Inthestory,the
basewasthesliceoffunctionalitythatallowedsalespeopletoenteranorderforasingle
cabandchassisvehicle.Allotherfactorswerelimited.Thecolorwaswhite,theengine
sizepredetermined,thedrivetrainandtransmissionhadonlyonesetting,theshipping
addresswasconstant,andsoon.Thissliceoffunctionalityenabledtheteamtocreatea
singleflowthroughthesystem,validateitwithcustomersandstakeholders,andthenbuild
offthatbasestory.
FIGURE24-1Startwiththebaseend-to-endfunctionality
Constrainingstoriestotheirsmallestpossiblesizemakestestingandvalidationmuch
moremanageable.Asteamsexpandindividualend-userfunctions(userinterfacedesign
changes,updatingamockobject,orevenbringinganewintegratedsystemonline)and
addthemtothecore,workingsoftware,theyalsoaddthetestsanddocumentationthatgo
alongwiththenewfunctions.Theteaminthischapter’sstoryknowsthatuserseventually
needtobeabletoorderacabandchassisinavarietyofcolors.Whilethisisasimple
changeintheUI,thebackendintegrationtomakethishappenismuchbiggerthanadrop-
downbox.Addingthissmallstoryexpandstheinterfaceandalsoaddstotheacceptance,
unit,andintegrationtestframeworks;documentation;andthelike.
NumberofUsers
Anotherwaytoshrinkthesizeoftheinitialstory,whilestillenablingend-to-end
functionality,istolimitthenumberofuserswhocanuseoraccessthesystem.For
example,Ionceworkedaspartofateamtobuildanauthenticationenginedesignedto
supportfivemillionusers.Itwasathree-tiersystemwithaC++plugin,awebserviceto
managethebusinesslogic,aninterfaceforadministratorstoconfigure,andseveral
databasesthathandledvariouscallsbasedontherequestscomingintothesystem.
Ourinstinctwastobuildeachcomponentserially,integratingandtestingeverythingat
theend.Weknew,though,thatweneededtointegrateandtestaswewentalongtobe
potentiallyshippable.Therefore,liketheexampleinthestory,we,too,startedbyfinding
aninitialcorestory.Becauseofthenatureofthisparticularsystem,wechosetolimitone
bigvariable,thenumberofusers,whichchangedthewayweapproachedtheother
variablesinthesystem.
Webuiltathinsliceoffunctionalitywiththeunderstandingthatonlyoneuserwouldbe
abletousethesystemattheendofthefirstsprint.Thinkingthiswayallowedusto
employdevicesthatwouldneveractuallyshipwiththesystem,suchasflat-filedatabases
andmockintegrationpoints.Thisapproachenabledustogathercustomerfeedback
quickly.Weranstressandperformancetestsateverysprint,aswellasanautomatedsuite
ofintegrationandacceptancetests.Becausewewereworkingwithalimitednumberof
users,wewereabletofilteroffselectusersfromthefront-endproductionloadbalancers
basedontheiruserIDandpushthemtothissystem.Asweexpandedthenumberofusers,
thesystemgrew,andsodidthecomplexityofthesupportingobjects.Flatfileswere
replacedwithdynamicdatabases;mockobjectswithrealintegrationpoints.Intheend,we
wereabletoshipacomplexsystem,withinthereleasewindow,withouttheperformance
andintegrationissuesthathadplaguedusonotherprojects.
StartwiththeHighestRiskElement
Regardlessofwhichapproachyoutake,makesureyoustartwiththehighest-risk
elements.Buildingthehighest-risktechnicalsolutionsfirstmaybesecondnatureforan
experiencedScrumteam;however,liketheteaminthischapter’sstory,manyteamshave
troublefiguringouthowtobothaddresstheirhighestrisksandalsofindwaystobuild
incrementally.Intheauthenticationmodeldescribedinthe“NumberofUsers”sectionof
thischapter,forexample,theteamknewitshouldattacktheC++componentfirstbut
struggledwithhowtodothatwhilestilldeliveringworkingsoftwareeachsprint.Limiting
thenumberofusersenabledtheteamtoworkonthehighest-riskcomponentwhilestill
deliveringworkingsoftware.
WhenIthinkofthehighest-riskitems,Iliketoassociatethemwiththephrase,the
windowofopportunity.Ioftentalkaboutthisasanactualwindow—onesobigthat,atthe
beginningofanyproject,youcoulddriveabusthroughit.Eachhigh-riskitemisa
metaphoricalbusthatneedstodrivethroughtheopenwindow.Thebiggerthebus,the
biggerthewindowneedstobe.
Earlyintheproject,it’srelativelyeasytodrivethebigbusesthroughthewindow.As
eachdaypasses,however,thewindowclosesalittlemore.Ifyoudon’tfindthebigbuses
inyourprojectearly,anddrivethemthroughthewindowwhileit’sopenwide,you’re
goingtohaveahugedisasterattheendasthebuscrashesintothenearlyclosedwindow.
That’swhythehighest-riskelementsneedtobebuiltearly,inlockstepwithlimitingusers
anddoingthesmallestslicethroughthesystem.Attheendofthesprint,youare
validatingthatthebushasbeendriventhroughthewindow,showingpotentiallyshippable
software.Aseachsprintgoesby,thebusesyoupassthroughyoursystem,yourhigh-risk
items,getsmallerjustasthewindowdoes.
ExpandandValidate
Astheprojectprogresses,expandonthesmallslice,sprintbysprint,untilyouhavea
minimalmarketablefeaturesetorscenario,asshowninFigure24-2.Theexpansion
shouldbeorderedbytheproductowner,whoworkswiththestakeholderstoidentifythe
highest-prioritystoriessotheorderingintheproductbacklogisaccurate.
FIGURE24-2Expanduntilthesoftwaremeetscustomerneeds.
Eachelementyoubuildmustalwaysfollowyourdefinitionofdone.Asmoreandmore
functionalityisadded,ensurethatintegrationisworkingasexpected.Investin
automation,asthecostsofmanualtestingincreasewitheachsprint.(SeeChapter9,“Why
EngineeringPracticesAreImportantinScrum,”formoreinformationonautomation
testingcosts.)Alwayskeepallunittestsuptodate.Creatingsoftwarethatispotentially
shippablemightappeartoslowdowntheteaminitially.However,thestabilityand
predictabilityitbringsensurestheteamhasastablevelocity,increasingeveryone’s
confidenceintheteam’sabilitytodeliver.
Onepossibleoutcomeofalwaysbuildingworkingsoftwareisthatyoureachapoint
wherethesoftwaresolvesthecustomerneedsinitscurrentstate,beforealltheonce-
desiredfunctionalityhasbeenimplemented.LookingatFigure24-2,astheteamgoes
througheachsprintandfunctionalityisbuilt,thedemonstrableworkingsoftwaremight
reachapointwhereitisgoodenoughtoshipbeforeitreachestheboundariesofthecircle.
That’snotonlyokay,it’sdesirable.Youarebothsavingmoneyanddeliveringwhatthe
customerneeds.
Thebiggestadvantageofworkingsoftwareisthatteamscangetrealfeedbackfrom
theirstakeholdersorusersveryearly.Earlyfeedbackallowsteamstoincorporatechanges,
shiftdirections,andreworkdesignswhenthesystemissmallandrelativelyinexpensiveto
change.Therefore,keepyourcustomersonthepathofincrementallybuildingthesystem
withyou,whichinvolvesgettingfeedback,makingincrementalchanges,andalways
rememberingthatworking,potentiallyshippablesoftwareisthetruemeasureofproject
progress.
KeystoSuccess
OneofthehardestthingsfornewScrumteamstodoistoproducepotentiallyshippable
softwareattheendofeverysprint.Theyarejustnotsurehowtobuildasystem
incrementally.Theytendtojumptobuildinganentirepackage,adatabaseforexample,
first,beforetheyhaveawaytovalidateit.
Creatingworkingsoftwarerequiresteamstochangetheirthinking,accepttherealityof
rework,andfocusonanend-to-endscenario.
ChangeinThinking
AgilecoachandconsultantJeffPattonhasademonstrationwhereheripsupadollarbill.
Hesaysthatthedollarbillisauserstory,andheisgoingtobreakitintosmallerpieces.
Asheripsthedollarintopieces,thosewatchingunderstandthatalthoughthedollaris
gettingsmaller,theindividualpieceshavenovalue.Theyonlyhavevalueasacollective
whole.
Teamsoftenripstoriesintopiecestomakethemsmaller.However,theseindividual
pieces,liketheshredsofadollarbill,oftenhavenovalue;theyarenotpotentially
shippable.Tocreatesmallpiecesthatstillhavevalue,youneedtochangeyourwayof
thinking.AsPattonexplainsit,inthecaseofadollarbill,thismeanssplittingitintocoins,
sayfourquartersortendimes,insteadofshardsofworthlesspaper.Inthecaseof
software,itmeansmakingeachsmallstoryapotentiallyshippablepiece,onethathas
valueandcanmovethroughtheentiresystem.
Historically,teamshavebuiltentiresoftwarecomponentsallatonce,integratingthem
neartheendoftheproject.Theproblemwithintegratingcomponentslateinaprojectis
thateachcomponentonitsown,likeapieceofadollarbill,hasnovalue.Thecomponents
havevalueonlywhentheyareintegrated.Thisisahugeshiftinmindset,onethatisnot
easilybroken.Achallengeyouwillhaveinthismodelisfightingtheurgetobuilda
completecomponentofasystemwhentherestofthesystemdoesnotwork.
Inthischapter’sstory,theteamandthecustomershadtocompletelychangetheway
theythoughtaboutcommunicatingtheirneedsandwishes(e.g.,userstories),andbuilding
anddeliveringsoftware.Theyrealizedtheydidn’thavetoworryaboutwhetherthe
softwarewouldactuallyship—justthatitwaspotentiallyshippableanddemonstrableat
theendofeachsprintandthatitmetthedefinitionofdonecriteria.Thoughthesystem
wouldnotbefullyreleasedtoproductionuntilitcouldsupportmultiplescenariosanda
varietyofusers,limitingthestoriesinitiallyandbuildingontothecorestorywasthebest
routetoworkingsoftware.Itwaslowriskandprovidedhighdegreesoftransparencyto
thebusiness.
Don’tbeafraidtothinkinwaysthatmaynotbefamiliartoyou.Breakingoutofaserial
mindsetrequiressomebasiclogicalthinkingthatwouldapplyintherealworld—don’t
tearthedollar,changeitintocoins.Thinkitthrough,drawitout,andbewillingto
experimentwithwhatworksforyourteamandyourproject.Onceyoustartdelivering
workingsoftware,you’llfinditeasierandeasiertofinditerativesolutionstoyourmost
complexsystems.
Rework
Whenteamsstartsmall,withflatfilesandmockobjectsinplaceofcomponents,they
knowthateventuallythey’llhavetorefactor.Astheyaddmoreandmorebackend
functionality,they’regoingtothrowawaysomecode.They’regoingtohaverework.
Theyjustdon’tknowhowmuch.
Dealingwiththisrealityisdifficultformanyteams.Somereworkisknown—inthe
story,theteamknewthattheflatfilesandmocksitcreatedwouldlaterbediscarded,but
theteamwaswillingtodothatreworkbecauseoftherewards:riskmanagement,
mitigation,andtransparency.Otherreworkismoreunpredictable.Customersarelearning
moreaboutthesystemduringtheprocess,too.Astheyseehowthingsactuallywork,they
areabletobetterexpresstheirneedsorevenchangetheirmindsaboutwhatfeaturesthey
reallywant.Businessdirectioncanturnonadime.Newinformationcanbediscovered
thatcanalterthecourseofaproject.Allthesechanges,whilecrucialtothesuccessofthe
project,meanreworkfortheteam—reworkthatshouldbemanagedandaddedtothe
productbacklogfororderingandprioritization.
Whatteams(andmanybusinesses)thatmakeacommitmenttopotentiallyshippable
softwareunderstand,however,isthatitismuchbettertomakemanysmallchanges
throughouttheproject,andyes,eventhrowawaysomework,thantodelivera“complete”
systemafteroneyearandthenfindoutthatitdoesn’tworkasintended,isnotatallwhat
thecustomerwanted,ordoesn’tmeettheneedsofthecurrentbusinessenvironment.
FocusonEnd-to-EndScenarios
End-to-endscenariosarewhatworkingsoftwareisallabout.Withoutseeinghowthings
willfunctionattheend,eveninabasicstate,yourcustomersandstakeholderswillremain
bewildered,andbig-busriskswillcontinuetohideinthefogofambiguity.
Thevalueofend-to-endscenarioscanbeseenintheexampleofmoldingapieceofclay
intoafigure.Atthebeginning,youhavetwooptions.Thefirstistolistentoallthe
requirementsfortheclayfigure,andthengoofftomold,paint,fire,andglazeit,
eventuallycomingbackwithahardenedfiguretopresenttothecustomer.Thesecond
optionistolistentotherequirementsandfindawaytopresenttheabsolutebase
requirement,shapedroughlyasprescribed.Ifyoudothat,youmakeafirstpassand
presentthestillmalleableclaytothecustomer,asking,Isthisthebasicform?You
continuedownthatpathmakingslightmodificationsandreturningtothecustomerto
validatethechanges.Eventually,youreachapoint(maybesooner,maybelater)whenthe
pieceisreadytobefired.
Focusingonend-to-endscenariosgivesyousomethingtangibletoshowthecustomer
whilekeepingthecodemalleable.Itallowsyoutoeasilyreformyourunderstandingofthe
endproducttobetterfitcustomerexpectations.Itkeepsthewindowofopportunityopen
aslongaspossible,whilestillgivingyourcustomerssomethingsubstantiveandofvalue
—somethingthatcouldbefiredandglazedasis,ondemand.
Workingsoftwareisnotanimpossibledream.Itistheonegoalthatensuresthatyouare
meetingyourcustomer’sexpectationsanddeliveringvalueeachandeverysprint.Whether
youchoosetofocusonacorestoryorlimityourusers,remembertobeginwiththe
highest-riskitems,thosebusesthatcouldotherwiseremainhiddenuntiltoolateinthe
process.Educateyourcustomeraboutwhatyou’llbedelivering,why,andhowtheycan
helpensurethattheyreceivetheproducttheyneed,whichmayormaynotbetheproduct
theyoriginallyaskedfor.Adjustingthewayyouthinkaboutsoftwaremightbehard,but
onceyoudo,you’llfindthatincrementallydeliveringpotentiallyshippablesoftwareisas
easyasexchangingadollarbillfortendimes:Change,please.
WorkConsulted
Patton,Jeff.Personalwebsite.http://agileproductdesign.com/jeff_patton.html(accessed
31March2015).
Chapter25.OptimizingandMeasuringValue
Domore.Domore.Domore.Teamshearitintheirsleep.Buttherecomesapointwhen,
nomatterhowhardtheypush,teamsjustcan’tincreasevelocityunderthecurrent
conditions.Therealityisthatotherthings—companymeetings,documentation,email,
productbackloggrooming,planning,younameit—arecompetingfortheteam’stime.
Unfortunately,customersandstakeholdersdon’tseeallthebehind-the-scenesworkthe
teamisdoing.Theyseeonlytheirownstoriesandthemesbeingdeveloped.Andthey
understandablywantasmanystoriesfortheirmoneyastheycanget.
Whatismissingistransparency.MostScrumteamsusetheburndowntoprovide
visibilityintotheircurrentsprints,whichisagoodvisualindicatorofprogress—mostly.It
turnsout,though,thatifyoureallywanttounderstandhowtheteamspendsitstime,you
needmorethanthat.Byprovidingtransparencyandvisibilityintotheworktypestheteam
isaddressing,productownersandbusinessescanoptimizeforvalue.
TheStory
SabelawasworkingasaScrumMasterwithaproductownernamedReisa.Reisadida
greatjobworkingwiththestakeholderstoprioritizethebacklog.Shewasreadily
availableandhadtheanswerstheteamneeded.Shewasagoodproductowner.Aboutfour
monthsintotheproject,though,ReisastartedaskingSabelaandtheteamiftheycould
improvetheirvelocityalittlebit.Theteamwasstunned.SabelatoldReisathat,for
months,theteamhadbeentweakingthingsandfeltitwasatitsmaxoutput.Not
convinced,Reisacontinuedtoquestiontheteamonaregularbasis,askingiftherewasany
waytheycouldgetmoreworkdoneinthetwo-weeksprints.
Theteamwantedtopleaseitscustomer,soduringitsninthandtenthsprints,theteam
triedtosqueakoutahighervelocitywithoutsacrificingteamvaluesandengineering
practices—anditworked.Thevelocityoutputforthesprintjumpedtojustabovethe
averageforsprintnine,butduringsprintten,itreturnedtotheaverageithadbeeninthe
firsteightsprints.Unfortunately,afteramonthof“pushingit,”theteam’saveragevelocity
wasnotaffectedinanysignificantway.Attheendofsprintten,theteamfinallyasked
Reisawhatwasbehindherprodding.
Reisatoldtheteamthatshewasgettingpressurefromherstakeholdersand
managementtodrivetheteamharder.“Weunderstandthatpressure,”SabelatoldReisa,
“butgiventheconstraintswehave,ourcurrentvelocityisasgoodasit’sgoingtoget.We
can’tgoanyfaster.”
“Whatconstraintsareyoutalkingabout?”Reisaasked.
“Theconstraintsthatwehavewithinthecompany.Noteverytaskwedoisforastory;
sometimesweneedtofigurethingsout,gototheScrum-relatedmeetings,gettogether
withthedatabaseteamtorehashsomeofourongoingproblems,ordosecurity,
compliance,oraccessibilityreviews.Thelistseemstogoonandon.Someofitis
essentialforproducingqualitysoftware;someofitis,frankly,justnoise,”repliedMichel,
ateammember.“Theproblemis,wecan’tgetridofthestuffthatisnoisebecauseit’s
drivenbythepowersthatbe.”
“Idon’tunderstand,”saidReisa.“Pleaseelaborateforme.”
TheteamwentontoexplaintoReisathattheworkitwasdoingbasicallyfellintofour
simplecategories:
1.Stories(featurework)thatdelivervaluetothestakeholdersofthesystem,whatthe
moneyismeanttobespenton.
2.Taxes,whicharethecostofdoingbusiness.Theteamlumpedthingslikemandatory
companymeetings,theScrum-relatedmeetings,securityreviews,andsimilaritems
inthiscategory.
3.Spikes,whichareitemstoinvestigateforthefuture.Thesewereusedtounderstand
andestimatetheambiguousstories.Teamsoftenencounterstoriesthatarequite
largeandhavealotofuncertainty.Insteadofmakingalistofassumptionsand
estimatingthestory,thisteamsetasideacertainnumberofhourstoinvestigatewhat
neededtobedonetodriveouttheambiguityandreducetheriskprofileforthat
storyorsetofstories.
4.Technicaldebt,whichpaysdownofthesloppinessofthelegacysystem.
“IthinkIunderstand,”saidReisa.“So,whatcanwedotoincreaseourvelocity?”The
teamlookedatherblankly.
“Whatdoyoumean,‘ourvelocity’?”Sabelaasked.“Doyoumeanyouwanttosee
morestoriescompletedineachsprint,despitetheconstraintswedescribed?”
“Yes,Iwanttoseeyoucompletemorestoriesthatdeliveruservalue.Whatdoweneed
todotomakethishappen?”saidReisa.
Sabelapickedupaone-literwaterbottlethatsomeonehadonthedesk.
“Reisa,howmuchwatercanfitinthisbottle?”Sabelaasked.Reisalookedperplexed
buttriedtoanswer.
“Well,oneliter?”saidReisa.
“Youtellme:isit?”Sabelaresponded.
Reisaconfirmed.Theone-literbottlethatSabelawasholdingcouldindeedholdone
literofwater.Thetwocontinuedtheconversationandclarifiedthatthebottlecouldalso
holdonehalfofaliterofwater,butitcouldnotholdmorethanoneliter.Tohavethe
bottleholdmorethanoneliter,thebottlewouldneedtobereengineeredorReisawould
needtogetabiggerbottle.Reisaunderstoodthis.
“Reisa,thebottlerepresentstheteam’svelocity.Wecancarryoneliterofworkper
sprint.Storyworkisjustonetypeofworkthatweneedtodoovereachsprint,sofeature
workcannotfilltheentirebottle,takeuptheentirevelocity,becausethoseotherwork
types,thingsliketaxes,spikes,andtechnicaldebt,needtofitinthebottle,too,”Sabela
said.
Reisanoddedinunderstanding.
“So,whatyouaretellingmeisthatfortheteamtogetmoreworkdone,morefeature
work,weneedtoeithergetabiggerbottleorreducetheotherworktypes?”
“Yes!”shoutedtheentireteam,visiblyexcitedthatitwasstartingtoclick.
“WhywouldInotwanttojustfocusondeliveringstoriesnowandworryaboutthe
otherworktypeslater?”saidReisa.
“Because,justdeliveringstoriesdoesnotensurewehavepotentiallyshippable
software.Callingastorydone1dependsdirectlyonsomeofthenon-storyworkwehave
inourbottle—specifically,thedebtandthespikes,”Sabelaexplained.
1.SeeChapter7,“HowDoYouKnowYou’reDone?,”formoreontheteam’sdefinitionofdone.
“So,isthereanywaytomakeroom?”askedReisathoughtfully.“Whatabouttaxes?”
“Mostofthosearesetinstone.Butthereissomewastethere—especiallysomeofthe
unnecessarymeetingswe’rehavingwiththedatabaseteam,”saidSabela.“Ifwecould
comeupwithamoreefficientwaytosharedata,itmighthelpfreeupsomeroominour
bottle—butwe’llneedyourhelpandmanagementbuy-intomakethathappen.”
“Iagree.Idonotthinkwecangetridofmanyofthetaxes,butitwouldhelpme
tremendouslytobeabletoshoweveryoneexactlyhowtheteam’stimeisbeingspentand
wherewemightbeabletohelpclearsomespaceforyou.CanyoumakeachartsothatI
canbringthisupwithmanagement?”
Reisasharedthechartwiththeprojectcustomersandstakeholders.Theywereableto
removetheunnecessarymeetingsandsawanimprovementintheteam’savailabilityand
velocity.Thoughtheysearchedformorewaystomakeroominthe“teambottle,”they
wereunabletoidentifyotheropportunitiesforoptimization.Onceeveryonesawhowfull
theteam’stimereallywas,however,thebarrageof“getvelocityhigher”statementsand
questionsstopped.
TheteamcontinuedtoworkwithReisaonwhatthesefourbasiccategoriesmeantand
howtheteamcouldintegratethemodelintoitsworkmovingforward.Reisalikedthe
visibilityitgaveher,andsodidthestakeholders.
TheModel
Reisa’sissuewasthatshedidnotunderstandwheretheteamwasspendingitstime.She
knewthattheburndownchartsshowedworkgettingdone,andsheknewthatthework
wascomingfromherproductbacklog.Butsheneverunderstoodwhytheteamcommitted
tosuchalowlevelofoutput—atleastalowlevelasshesawit.Shewasgettingpressure
fromstakeholdersandmanagementtohavetheteamcompletemorefeatures,andtheteam
waspushingback.Whatwasmissingwasthetransparencyandinsightintowhattheteam
wasactuallydoingwhenitwasn’tworkingdirectlyonfeatures.
I,too,havebattledambiguitywithcustomers,soIcreatedthismodel.Itisnot
revolutionary,butitssimplicityenablesteamstocommunicatetotheirstakeholdersand
customershowtheyarespendingtheirtime.
Toprovidethetransparencyandinsightneededtomakeintelligentdecisions,breakthe
workdownintothesecategories:
Stories
Taxes
Spikes
Technicaldebt
Otherpotentialcategories
Thesebucketsandtheirdefinitionshavebeenbuiltandrefinedoveryearsofprojects
anddozensofprojectteams.Idonotexpectthemtofityourbusinessperfectly;however,
theywerewrittenbroadlyenoughthattheyshouldworkforeveryone.Ifyouchooseto
refactorthem,remembertokeeptheintentofthedefinitionthesamewhilechangingthe
words.
Stories
Storiesareanyworkthatdeliversactualvaluetothestakeholders.Idefineastoryas
follows:
Functionalitythatwilldeliverbusinessvaluetoeitherauserorpurchaserofasystem
orsoftwarepackage.
Storyworkcanbeattributeddirectlytoreturnoninvestment.Moneyspentonfeature
workshouldprovideanoverallreturnthatishigherthanthecosttobuildthefeature.
Taxes
Taxes,whetherthey’reincometaxesorcorporatemandates,areoftenloathedbythe
peopleandteamspayingthem.Ihavefoundthemtobebothasavinggraceandagnarly
burrinmyside,almostsimultaneously.Withoutthem,infrastructurewoulddegrade,and,
whenbuildingsystems,teamswouldquicklyfalloutofcompliance.Theyareanecessary
evil.Idefineteamtaxesasthefollowing:
Corporateservicesormandatedrequirementsthatposeaburdensomecharge,
obligation,duty,ordemandonteamsorgroups.
Basedonthisdefinition,whenshippingsoftware,youfindtaxesimposedbyboththe
companyandtheteam.Asampleofthetaxespaidontheprojectdiscussedinthestory
follows:
Securityreviews
Legalcompliancereviews
Scrummeetings,suchasplanning,grooming,andthedailyscrum
Companyordivisionalmeetings
Theseareonlyahandfuloftheitemstypicallyrequiredtoreleasesoftware(suchas
securityreviews)orthatcompetefortheteam’stime(suchastheScrummeetingsand
companymeetings).Businesseswanttoseevaluebuiltasquicklyaspossibleand
sometimesforgetthatthereismoretobuildingsoftwarethanjustwritingcodeandtesting
it.Financialsystems,forexample,requireSarbanes-Oxleycompliance,soteamsshould
expectthetaxesinthatenvironmenttobehigherthanthoseofasmall,eight-personweb
developmentcompanythatfocusesonbuildinginteractivewebsites.Themeetingswith
thedatabaseteamsthatSabelamentionsinthestoryareanexampleofextraneoustaxes
thatinflatethecategoryandreduceoverallfeaturedelivery.
YounoticedthatIlumpedScrumoverheadintotaxes.TheScrummeetings,suchas
planning,retrospectives,andreviewsareallnecessarytaxesthatcomewithScrum.
Spikes
Aspikeisusedwhentheteamcannotaccuratelyestimateastoryorfeaturesetinits
currentform.Aspikeisabriefexperimenttolearnmoreaboutanareaofanapplication.
Therearemanydefinitionsforaspike.Iusethefollowing:
Aspikeisabrief,timeboxedactivityusedtodiscoverworkneededtoaccomplisha
large,ambiguoustaskorstory.
Allspikesmustbetimeboxed—acertainamountoftimeshouldbeallocatedtoexplore
andfurtherdefineworkeffortsthatcan’tbeproperlyestimated.Theendresultisastory
ortaskestimatewithahigherdegreeofaccuracy.
Anexampleofaspikewouldbesomethinglike“Investigatewhatthedeployment
processshouldbe.Documentandestimatethestoryintheproductbacklog.”Itwouldbe
impossibletoestimatehowlongittakestodeploywithoutunderstandingwhatthe
deploymentprocessisfortheprojectandforthecompany.
Onecaveataboutspikingwork:Theoutcomeofthespike,whetheritbeasetoftasksor
morestories,cannotbecomepartofthecurrentsprintbacklog.Thenewworkitems
identifiedinthespikeneedtobeprioritizedwiththerestoftheproductbacklogbythe
productowner.Why?Thereareseveralreasons.
Forone,theteamhasalreadycommittedtothegoalandthestoriesonthesprint
backlog,oneofwhichwasaspike.Theteamshouldnothavecommittedtothetasksthat
wouldcomeoutofthatspike,becausetheteamcouldnothaveknownwhatthetasks
wouldbe.Therefore,thesetasksshouldnotbeaddedtothesprint.Iftheteamdidtryto
factorintheoutcomeofthespike,andsetasidetimetospendonsomeoftheworkfrom
thespike,itwouldnegatethebenefitofaspike.
Anotherreasontonotaddspikeoutcomestothesamesprintisthatthenewlydefined
tasksmaynotbeofhigherpriorityorvaluetotheproductownerthantasksthatalready
existinthebacklog.Itisnotuptotheteamtoarbitrarilytakeontheworkfromthespike
withoutconsultingtheproductowner.
Bottomline:Spikeinonesprint;workontheoutcomeinanother,asprioritizedbythe
productowner.
TechnicalDebt
Technicaldebtseemstobeeverywheretoday,fromlargecompaniestosmallstartups.The
debtthataccumulatescankillaproject,Scrumorotherwise.Whatistechnicaldebt?
Wikipediahasagreatdefinition[WIKIPEDIA]:
Technicaldebt(alsoknownasdesigndebtorcodedebt)isarecentmetaphor
referringtotheeventualconsequencesofpoorsystemdesign,softwarearchitectureor
softwaredevelopmentwithinacodebase.Thedebtcanbethoughtofasworkthat
needstobedonebeforeaparticularjobcanbeconsideredcompleteorproper.Ifthe
debtisnotrepaid,thenitwillkeeponaccumulatinginterest,makingithardto
implementchangeslateron.
Thinkaboutyourcreditcard.Ifyoupaythefullbilleachmonth,you’redebtfree.
However,ifyoudecidetomakepayments,you’regoingtobepayingalotmoreinthe
futurebecauseyourinterestchargeswillaccumulate.Thesameistruewithsoftware,
whichiswhygoodScrumteamshaveacleardefinitionofdone;it’smeanttocombatthe
debtthatcanaccumulateandbuild.
Managingtechnicaldebtrequiresdiscipline.Allteamsknowwhattherightthingstodo
are;however,sometimeslazinessandbusinesspressuresdriveteamstomakebadchoices.
You’veprobablyswornatalegacysystemyou’vehadtoworkon.Why?Becausethe
teamfromyearsagowasundisciplinedandchosetoletdebtaccumulate.Debthastobe
paid,soit’sbesttoshowitinthesprintbacklogandpayasyougo.
Lastly,rememberthatifyouendasprintwithnewlycreatedornewlyfounddebt,
you’renotreallyatthepointwherethestoriesarepotentiallyshippable,ordone.
OtherPotentialCategories
WhenIseeteamsutilizethismodel,theyhaveusuallytweakeditabit,whichisgreat.
Often,teamschoosetotrackbugs,unplannedoutages,andanitemIonceusedquiteoften,
preconditions.
Someteamsfinditimportanttotrackdefectsseparatelyfromthefeaturework.Thisis
okay.Ifyourorganizationlikestoseewheredefectsgo,byallmeanstrackthem.You
woulddosobyaddingacategoryof“bugs”or“defects”andtrackit,asillustratedin
Table25-1.Thisenablesyoutoviewitvisually,asillustratedinFigure25-1.Dothesame
foroutages.
TABLE25-1TypeofWorkIncludedintheSprintBacklog
FIGURE25-1Achartmakesitclearwhatproportionofoverallworkisspentoneach
typeofwork.
Thelastpotentialcategoryispreconditions.
Preconditionsareitemsthatarenotpartofastory’stasksyetstillmusthappenby
sprintend.Theseareitemsidentifiedbytheteamandnegotiatedwiththeproduct
ownerandScrumMaster.Withoutcompletionoftheitems,theteamcannotsay,“The
sprintiscomplete.”
Anexampleofapreconditionis“Setupabuildenvironment.”Whilemanyaretempted
tosaythebuildshouldjusthappen,it’sbettertotracktheworkbecauseitisgoingto
contendfortheteam’stime.WhatIhavefoundovertheyearsisthatitemsthatwould
typicallyfallintothisdefinitionarenowaddressedinsprint0,orprojectsetup/initiation.
Settingupabuildenvironmentisasetuptask,anditneedstohappen,butwellbeforethe
firstsprintstarts.IfindthatIusepreconditionslessandlessasmoreandmoreteams
matureandbecomefamiliarwithagileandScrum.Iwouldnotconsidertracking
preconditionsahardrequirement,butteamstodaystillfindpreconditionshelpful.
StructuringtheData
Tostructurethedata,theteamshouldstartwithareviewofeachtaskinthesprint
backlog.Itemsshouldthenhaveanidentifieraddedtothemthatfallsinoneofthebuckets
justdiscussed.AsnippetfromanexamplesprintbacklogislistedinTable25-1.
UsingtheData
Whetherthedataisstoredinaspreadsheetoradatabase,youarenowabletodoanalysis
onthedataandprovideinsightforthestakeholdersofthesystem.
BydrawingachartliketheoneshowninFigure25-1,youcanseewherethetimeis
spentonaproject.
Inthisexample,theteamaveragescloseto60percentofitstimeonfeaturework,about
25percentofitstimeontaxes,andabout10percentofitstimeonspikes.Technicaldebt
isaddressedmoreintermittently.
Fromafinancialperspective,thecustomersarepaying$1.00butaregettingonly$0.60
ofvalue,basedonfeaturework.Somewillarguethatspikesprovidevaluebecausethey
willinformfuturework,buttheydon’tadvanceanyfeaturesinthesprint,whichmeans
theyhavenovalue.Insprint5,thetaxeswerenearly30percent—duringthatsprint,$0.30
ofeverydollarwasspentonthecostofdoingbusiness.
Now,expandingthischarttoincludeoutagesandbugs,notethatinFigure25-2the
valueofthecustomer’sdollardropssignificantly.Inthisexample,theteamaveragesclose
to45percentofitstimeonfeaturework,about20to25percentofitstimeontaxes,about
10percentofitstimeontechnicaldebt(whenitsurfaces),10to15percentonoutages
whentheysurface,andabout10percentonbugsordefects.
FIGURE25-2Expandingtomorecategoriesprovidesmoretransparency.
Atfirst,thisincreasedtransparencycanreallyhurt.I’veseenchartslikethiswherethe
value,thenumberofstoriesdelivered,isaslowas10percent,withbugsanddebttaking
up70percentoftheteam’stime.Untilthenon-story-relatedworkisvisible,though,you
can’tstartaddressingit.
KeystoSuccess
Withmetricsliketheseathand,youcanreadilyprovideyourstakeholderswitha
tremendousamountofvisibilityintowheretheirmoneygoes.Whenimplementingthis
model,remembertoeducatestakeholdersaboutthemodelandworkwiththemtofind
waystomaximizework-producingtime.Ifyoutrackthisdataformultipleteams,youalso
gainanewabilitytospottrendsandpotentialproblems.
EducateStakeholders
Ioftenfindthatstakeholderscareabouttwothings:moneyandtime.Oneimpactsthe
other.Toooften,stakeholdersdon’tunderstandwhysolutionscannotbeimplemented
instantaneously.Acomplete,high-levelcategorizationoftheactivitiescompetingforthe
team’stimegivesthemabroaderperspective:Timespentinonecategoryofworkdirectly
impactstheothers.
Themodeldividestheteam’stimeintobuckets.Thoughthechapterprovidedsome
samplecategories,youmightneedtoidentifydifferentwaystocharacterizetheteam’s
workinyourorganization.It’simportantthatyouexposehowtheteamspendsitstime;
it’smuchlessimportanttoadheretoarigidcategorylist.
Showyourstakeholdersandcustomerswheretheirmoneygoesandhowmuchtimeand
moneytheactivitiesthatsurroundsoftwarebuildingconsume.Thisleveloftransparency
willgoalongwaytowardultimatelygainingtheiracceptanceofreleasedates,value,and
theoverallcostofphysicallydoingtheproject.
WorkwithStakeholders
Oncethechartiscomplete,remindtheteamandstakeholdersthatthisbehind-the-scenes
lookintotheteam’stimeisnotmeanttobeusedagainsttheteam.Onthecontrary,itis
designedtohelptheteamandthestakeholdersidentifywaystoeliminatetime-wasting
activitiesorinefficienciesintheteam’stimethatarebeyondtheteam’scontrol.For
example,thestakeholdersinthestorywereabletoseehowmuchtimecertaincorporate
taxesconsumedandlookforwaystomovethemoutoftheteam’sway.
Youwillnevereliminateallnon-work-producingactivities.Someoverheadis
inescapable.Andinsomecases,youmightnotbeabletoidentifyanyareastostreamline.
That’sokay.Thepointistoprovideatransparentlookatwhytheteammovesatthespeed
itdoes.Theactionsthatcomeoutofthedatawillvaryfromteamtoteamandprojectto
project.
DetermineTrendsandPatterns
Ifyouusethismodelwithmultipleteams,youcanusethedatayoucollecttoidentify
patternsandtrendsinthecompany.Recognizingpatternsandtrendscanhelpyouto
forecastorspottroubleonnewprojects.Establishbaselines,showingthatbyprojecttype,
acertainpercentageofteamtimespentineachcategoryistypical.Whenateambeginsto
ventureoutsidetheestablishedpatternsofthecompany,furtherdiggingintothatteam’s
deviationmightbeappropriate.
Intheend,thismodelisabouttransparencyandaccountability.Implementingitonyour
projectnotonlyenablesyoutohaveinsightintotheworktheteamisdoing,andwhattype
ofworkitis,itundoubtedlyraisesblockingissuesthatarepreventinghigher-performing
teamsfromthrivinginyourcompanytoday.
Reference
[WIKIPEDIA]Wikipedia.com.http://en.wikipedia.org/wiki/Technical_debt(accessed25
February2015).
WorksConsulted
Jeffries,Ron.“EssentialXP:Card,Conversation,Confirmation.”XProgramming.com.
http://xprogramming.com/articles/expcardconversationconfirmation/(accessed1April
2015).
Wake,Bill.“INVESTinGoodStoriesandSMARTTasks.”
http://xp123.com/xplor/xp0308/index.shtml.
Chapter26.Up-FrontProjectCosting
It’sbudgetplanningtime.ManagementhasaskedyouwhatyournewScrumprojectwill
cost,whenitwillbedone,andhowmanypeopleyouneed.Youknowtheanswersyou
givemightbeforeverforgedinstone—howdoyourespond?
TheStory
Lindellwasaprojectmanagerworkingonnewfeaturesforthewebcomponentofthe
company’sonlineserviceoffering.Shehadbeenwiththecompanyformanyyearsand,
liketherestofherteam,hadheardofScrumbuthadneverusedit.Oneday,shewas
approachedbytheleaddeveloper,Brian,touseScrumonhernextproject.The
conversationwentsomethinglikethis.
“Lindell,IthinkweshoulduseScrumonthisproject,”saidBrian.
“I’dliketouseitaswell,butScrumwouldn’tworkforus.Wehavetolockdownour
people,date,andfeaturesupfront.Speakingofwhich,managementisbreathingdownmy
neck.I’vegottogetthemsomethingsoon,”Lindellglancedatherwatchbefore
continuing.“Managementwantsanup-frontplan—andthatkindofplanningisnot
somethingScrumteamsdo.”
“Iusedtothinkthat,too.I’vebeendoingsomereading,though,andthenlastweek,I
metthisguyMikeatausergroupmeeting.Hegaveatalkabouthowtheydidproject
costinginhiscompany.IfIcangethimtohavelunchwithus,wouldyouhearhimout?”
askedBrian.
“Sure.Ifthere’sawaytouseScrum,I’mallforit,”saidLindell.
“Great,I’llschedulesomethingforearlynextweek,”saidBrian.
ThedaycouldnotcomesoonenoughforLindell,whowasgettingmoreandmore
pressurefrommanagementtoprovidedates,thefeatureset,andthemoneyneededforthe
projectintermsofnewhardwareandpeople.Assoonastheysatdowntolunch,Lindell
turnedtoMikeandpleaded,“Mike,I’mstuck!Ihavenoclueonhowtocostthisproject.
I’dliketouseScrum,butIamnotsurewhattodo.IfeellikeIhavemybackagainsta
wall.”
“IthinkIcanhelp,”saidMike.“Brianfilledmeinonsomeofyourchallenges.The
firstthingIthinkweneedtodoisreviewthefeaturesetthatisbeingaskedfor.”
Lindellpulledouta100-pagespecificationdocument.Mikefrowned.
“Doyouhaveanythingelse,oristhisit?”askedMike.
“Thisisit,forwhatit’sworth.Imean,it’sbeensignedoffandapproved,butI’mnot
evensureweallagreewhatitmeansintheend,”admittedLindell.
“Well,it’sastartingpoint.Whatwereallyneedisaproductbacklog.So,let’sreview
thespecificationandcreateuserstoriesfromit.Ievenbroughtindexcards,”saidMike
withasmile.
LindellandBrianwerebothsomewhatfamiliarwithuserstoriesfromacoursetheyhad
attended,sotheyhadlittletroublegoingthroughthedocumentsectionbysectionand
writingstoriesonindexcards.Afterabout15minutes,Lindellnoticedapotential
problem.
“Mike,I’vebeenwriting‘asauser’likeIwastaught,butoursystemhasmanytypesof
users.ShouldIstartwritingthingslike‘asanaccountinguser’forthestories?”asked
Lindell.
“Yes!Please!I’msorryIdidnotexplainthatearlier,”saidMike.
“Noproblem.I’mjusthappytobedoingsomethingproductive,”repliedLindell.
Afteracoupleofhours,theyhadcreatedcloseto50stories.Mikehadtogetbacktohis
officebutofferedtocomebackthenextdaytohelpthemfinishthecosting.
WhenMikewalkedinthenextday,Brianhadputallthestorycardsonthewallofthe
conferenceroom.HeandLindellhadalreadysortedthembyfunctionalarea,withthe
bigger,higher-levelstoriesonthetopandthesmallerstoriesbeneaththem.Todetermine
thesizeandlevelofeachstory,BrianandLindellhadusedtheirbestjudgmentand
discussedeachstorywithoneanother,creatingmultiplegroupingsoffunctionalitythat
theythoughttheycouldship.
“Thisisgreat,”saidMike.“Ournextstepistofigureoutabouthowmanypointsthese
storiesareandwhattheirpriorityis.”
“Thepriorityissimple,”saidLindell.“Theyareallhighpriority.Pointsseemspretty
abstract.Whycan’twejustskipthatandfigureouthowmanyhourstheyaregoingto
take?”askedLindell.
Brianchimedin.“Usinghoursistoorestrictive.Managementwillseeareallyrough
hourlyestimateandholdustothatnumber.Pointsgiveusawaytocommunicatesize
withouttyingittoaspecificnumberofhours.”
“Itseemstomelikewe’rewastingalotoftimethatcouldbespentdoingreal
planning,”saidLindell.
Mikenodded,“Ihearyou,Lindell.We’reonlypartwaythere,andit’shardtoseefrom
herehowitwillallcometogether.OnethingI’velearnedindoingthisisthatweareall
reallygoodatestimatingrelativesize,likedeterminingwhichbagofgroceriesisheavier.
Ifwewereaskedtodeterminetheabsoluteweightofeachbag,however,wewould
struggle.ThisisthereasonIusestorypoints,arelativemeasure,ratherthanhours,which
isanabsolutemeasure.”
“Allright,”saidLindell.“We’vecomethisfar.Pointsitis.”
“Okay,whereisyourteam?Weneedthemheretoestimatethis,”saidMike.
“Myteam?Ha!Idon’tgetassignedateamuntilwegetthroughprocurementand
resourcing.AndIcan’tgetthroughthosestepsuntilIhaveabudgetandaplan.See,I
knewScrumwouldn’twork.”
“Iknowit’snotideal,Mike,”Brianputin,“butallwe’vegotrightnowisthethreeof
us.Isitpossibleforustoestimateit—justforthecostingprocess?Wecanalwaysput
betterestimatesonthestoriesoncewehavetheteam,right?”
“Wecan,yes,butIwantyouguystounderstandthatitworkssomuchbetterwhenthe
peoplewhodotheworkaretheoneswhoestimatethework.Ifthat’simpossible,we’ll
justmakedowithwhatwe’vegot.AreyoufamiliarwithusingpartoftheFibonacci
sequenceastherangeofpointchoices:one,two,three,five,eight,thirteen,andifneeded,
twentyandforty?”
“I’veheardofit.ButIdon’treallygetit.Arethosenumbershours,weeks?What?”
“Theyaremeasuresofrelativesize,”Mikeexplained.“ThinkofitlikeT-shirtsizes
versusdressshirtsizes.T-shirtsarerelative,XS,S,M,L,XL,XXL.Dressshirtsizesare
moreabsolute,withaneckandsleevemeasurement.”
WhenBrianandLindellnodded,Mikecontinued.“SowetreatourstoriesmorelikeT-
shirts.Youpickarepresentativesmalleststory,anXSorone-pointstory,anda
representativebiggeststory(anXXLorthirteen)…maybeevenastorythat’sinthe
middle(anMorL,threeorfive).Thesebecomeyourreferencestories.Thenalltherestof
thestoriescanbesizedrelativetothose.Atwo-pointstoryisabouttwiceasbigasaone-
pointstory.Aneightisabouthalfasbigasathirteen.Getit?”
“Sortof.”
“Let’sstartwiththisgroupinghere.Let’sfindourextra-smallstory,ouronepoint.”
LindellandBrianagreedonaveryeasy,smallstory.“Now,showmeonethat’sabout
twiceasbig.”Again,LindellandBrianhadlittletroubleidentifyingastoryforMike.
Soon,theywerediscussingthestoriesandassigningthempointswithminimaldifficulty.
Ittooktherestoftheday,butLindellandBrianfinallymadeitthroughtheentirewallof
stories.Throughouttheprocess,Mikewasbusytakingnotesoneachstorydiscussedso
LindellandBriancouldreviewthemlater.
“Let’stakeabreak,”suggestedMike.“So,Lindell,howdoyoufeelthisisworking?”
“Wow!Wesureflushedoutalotofassumptions.Imean,thisstorywhereweneedto
callthedataset.Brianthoughtwewereonlyusinghalfofthedataelementsbecausethe
specwasoutofdate.Throughdiscussingthestory,Iwasabletorememberaside
discussionIhadwithsomeoneatlunchrecentlywhosaidthatAPIhadbeenrewrittenand
thatrewritewouldnowallowustouseallthedatawewerelookingfor.I’msuregladwe
caughtthatnow!”saidLindellenthusiastically.
“That’soneofthehugeadvantagestousingthistechnique;theconversationsreally
flushoutassumptionsandhelpgeteveryoneonthesamepageearly,”saidMike.“What
weneedtodonextisdeterminehowmanystorypointsyourteamcanaccomplishper
sprint.Thisisgoingtobeabitofachallenge,sinceyoudon’thaveateamyet.Haveeither
ofyouworkedonaScrumprojectinthecompany?”askedMike.
“No,sorry,Mike.We’retheguineapigs,”saidBrian.
“Notaproblem.Whenwefirststarted,weestimatedourvelocity.Itwasnotperfect—
farfromit—butitgaveusaroughideaofwhatweneededtodotogetthroughtheproject.
Itgivesyouastartingpoint,”saidMike.
“Canyouwalkusthroughit?”askedLindell.
“IhaveapaperonitthatIcansendyoutonight,Lindell,”saidMike.1
1.Formoreonestimatingteamvelocity,seeChapter4,“PredictingTeamVelocity.”
“Perfect.Sooncewehaveourteam’svelocity,what’snext?”
“Wehavetoprioritizethestoriesyouidentified,”saidMike.
“ButMike,theseareall—”
“Toppriority?”saidMike,“Iknow,buthearmeout.Let’slookatthegroupingsonthe
wall.Whichgroupofstoriesisthemostimportant,theonegroupyoucouldabsolutelynot
livewithout?”askedMike.
“Thissethere,”saidLindell.“Butthisoneisaclosesecond.”
Beforesheknewit,Lindellhadchosenaminimalmarketablefeatureset[DENNE].
Mikemovedthecardsintoalistformat,withthemostimportantstoriesonthetopandthe
loweronesonthebottom.
“Great.Inthebacklog,weseewehaveaboutforty-fivestorieswithatotalpointvalue
atabouttwohundred.Andyousaidearlieryouhadaboutsevenmonthsasyourdeadline
—that’stwenty-eightweeks.So,let’ssayyourunyourestimationexercisesanddetermine
thattheteamcanmanagesomewherebetweentenandfourteenpointspersprint.Ifthey
runfourteentwo-weeksprints(twenty-eightweeks),howmanypointscantheydeliver?
“Somewherebetweenonehundredfortyandonehundredninety-sixpoints;so,not
everything,butagoodchunk.”
“That’swhyprioritizingthislistissoimportant.They’lldothemostimportantstories
inthetimetheyhave,”saidBrian.
“Howdowegetthatnumberclosertothetopoftherange,thevelocitynumber?”asked
Lindell.
“Youcanaddresourcesorimproveefficiency,whichisthejobofyourScrumMaster.I
suggestyouhaveone,and,again,ifyouwanttoknowwhy,Ihaveapaperthatexplainsit
prettyclearlyformanagementintermsthey’llunderstand—money,”saidMike.2
2.Tolearnmore,readChapter8,“TheCaseforaFull-TimeScrumMaster.”
“Thankyou,Mike,”saidLindell.“Icannottellyouhowhelpfulthisis.Sowe’ve
narroweddownthescopeandthevelocitybasedontheteamweget,butwhataboutthe
cost?”
“Howmanypeopledoyouthinkwillbeonthisproject?”askedMike.
“I’mgoingforsixpeople,butrealistically,we’llgetfive,”saidBrian.
“Andwhat’sworseisnoneofthepeoplewegetwillbefull-time.Theywillallbesplit
onotherprojects.Ifwearereallylucky,wewillhaveonefullydedicatedperson,butIam
notholdingmybreath,”saidLindell.
“Howmanyhourswilleachteammemberhaveforyourprojectonagivenday?”asked
Mike.
“Somewherearoundsixhours.Thatmaybehigh,butitmatchestheaverageI’vegotten
onpastprojects,”saidLindell.
“Great!Wewillusesixhoursofavailabilityperpersonontheproject.Now,howdo
youdoyourbilling?Thisisaninternalproject,right?”Mikeasked.
“Yes,internal.Ourloadedemployeecostsvary,butlet’sjustgowithonehundredforty
dollarsanhour,”saidLindell.3
3.LoadedemployeecostsarediscussedinChapter8
“Great,soifweuseonehundredfortydollars,andyouhavefivepeople,yourcost
shouldbearoundsevenhundreddollarsanhour.Ifeachpersongivessixhoursadayto
theprojectoveratwo-weeksprint,theprojectwillcostforty-twohundreddollarsadayor
forty-twothousanddollarspertwo-weeksprint,”saidMike.“What’syourbudget?”
“Ourprojectbudgetiseighthundredthousanddollars,”saidLindell.
“Soatforty-twothousanddollarseach,eighthundredthousanddollarswillbuyyou
eighteentonineteensprints.Theproblemis,youonlyhavefourteensprintsbeforeyour
deadline.Ifyourvelocitystaystenpointspersprint,youcanaccomplishonehundred
fortypointsinfourteensprints,anditwillcostfivehundredeighty-eightthousanddollars
[($42,000/10)×140].That’swellunderyourbudgetofeighthundredthousanddollarsbut
doesn’tdeliverallthestories.You’vegotthemoneytoaddapersontotheteam,which
wouldincreaseyourvelocitybutstillmightnotaccomplishtheentirebacklog.Evenso,
we’veaccomplishedwhatwesetouttodo,”saidMike.
Hewenttothewhiteboardandwrotetheinformationthattheyhadobtained.
ThelightbulbwentoffforLindell.Shenowunderstoodhowitalltiedtogether.And
evenbetter,shethoughtshecouldgivemanagementmoreoptionsandbetterinformation
thanshecouldhaveotherwise.
“Thanks,Mike,”saidLindell.“You’vebeenanincrediblehelp.Youknow,Ithinkthis
Scrumthingmightworkforusafterall.”
TheModel
Inthestory,Lindellwasaskedtodeterminewhataprojectwouldcostintermsoftime,
money,andpeople(akaresources).Thisisatypicalrequestthatstumpsmanywhoare
newtoScrum.Luckily,LindellhadhelpfromBrian,whoenlistedMiketotakethem
throughtheprocessofcreatinguserstoriesoutofafunctionalspecification;sorting,
prioritizing,andestimatingthosestories;andputtingthemtogetherwithanestimated
velocitytodeterminewhatcouldbeaccomplishedwithinthecurrentbudgetandtime
frame.
FunctionalSpecifications
Functionalspecificationsexisttogiveusasenseofcertaintyinthesystemsthatwillbe
built.Theycapturenotonlyfunctionalsystemdetailsbutarchitecturalandcomponent
detailsaswell.Unfortunately,functionalspecificationscapturethesedetailsatthe
beginningoftheproject,whentheleastamountofinformationisavailable.Additionally,
thoughtheyoftendescribedesiredsystemstates,suchasthesystemshallhave99.999
percentuptime,theydonotsayhowthatstatewillbeachieved.What’sworseisthat
functionalspecificationstraditionallyoutlineaplanforthesystemtobebuiltbyfunction
(design,development,testing)ratherthanbyfunctionality(featurex,featurey,featurez).
Scrumprojectsforegofunctionalspecificationsinfavorofuserstoriesandproduct
backlogs.Thesehigh-leveldescriptionsoffunctionalitycapturejustenoughinformationto
letusknowwhatwillbebuiltbutdonotfillinthedetailsuntilclosertowhenthefeature
willbeimplemented.Thisemphasisonminimalup-frontinformationandtheteam’s
commitmenttogroomingtheproductbacklogduringeachsprinthelpsthisliving
documentremainpertinentandavoidswastedtimespentonspecificationsthatareoutof
datebeforetheycanbeimplemented.Productbacklogsaremadeupofuserstories.Your
firststepincostingyourprojectistobuildaproductbacklogbywritinguserstories.
UserStories
Userstoriesareabstractions.Abstractionslivelongerthandetails.Unlikefunctional
specifications,storiesleavethedetailsforafutureconversationbetweentheproduct
ownerandtheteam.Inthischapter’sstory,BrianandLindellusedthefunctional
specificationtobuildaproductbacklogbasedonuserfunctionality,notonjobfunction.
Todothistask,theywroteuserstoriesonindexcardsthattheycouldsort,tearup,oradd
toeasily.Reframingrequirementsandspecificationsinthetermsofauserstoryallowsus
touncoverassumptionsandidentifyhiddenrequirementsthatwouldotherwisecatchusby
surprisefurtherintotheproject.Thecardscontainjustenoughinformationto
communicatetheidea,ortheconcept,ofwhatistobedeveloped,buttheydonotcontain
thedetails.Thedetailsareprovidedthroughconversationandareconfirmedjustbefore
thestartofthesprintastheteamandproductownerdiscussthestoriesthatwillbe
implemented.RonJeffriescallsthesestepsthethreeC’sofuserstories—card,
conversation,confirmation[JEFFRIES].
Creatinguserstoriesfromafunctionalspecificationcanbeachallenge.Ifyoucan,get
ridofthefunctionalspecificationandreplaceitwithuserstoriesandaproductbacklog.If
youmustmaintainthefunctionalspecificationthroughoutthelifeoftheproject,
concentrateyoureffortontheproductbacklog.Partoftheprojectoverheadwillbetomap
theproductbacklogtothespecificationand,asfeaturesaredeveloped,communicate
whichpartofthespecificationiscomplete.
EstimatingStories
Therearemanytechniquesforestimation:historicaldata,individualexpertjudgment,
decomposition,top-down,bottom-up,widebandDelphi,analogous,PlanningPoker
[GRENNING],andtoolssuchasCOCOMO[BOEHM].Regardlessofwhichtechnique
youuse,peoplewantaspreciseanumberaspossible.However,asmentionedinthe
“FunctionalSpecifications”sectionofthischapter,teamsdon’tknowenoughatthe
beginningoftheprojecttobeextremelyprecise,whichiswhytheyinsteadprovide
relativesizingestimates.
IpreferPlanningPokerbecauseitprovidesalittlebitofeverything—analogous
estimating,expertjudgment,decomposition—andinvolvestheentireteam.Planning
Pokerhasseveraladvantages.First,itfocusesonrelativesize,notfixedhoursordays.
Next,itprovidesteamstheopportunitytotalkaboutwhatthestoriesmean.Thisdialog
helpsspreadinformationandknowledgeaboutthesystemandpreventsasingleexpert
fromdominatingplanningdiscussions.
Forexample,saythatfouroutoffivepeopleestimateastorytobea2or3,andone
personestimatesthesamestorytobe8or13.Thatlastestimateislikelyindicativeof
somehiddenassumptionsthatneedtobeshared.Theconversationthatensuesmight
increasetherestoftheteam’sestimates,decreasethehighestimate,orevencausethe
teamtobreaktheexistingstoryintotwodifferentstories.Whole-teamparticipationand
knowledge-enhancingdiscussionsarethekeybenefitstoPlanningPoker.Forreallyhuge
backlogs,whereestimationmightseemoverwhelming,IoftenuseatechniquecalledThe
BigWall,whichisdetailedinChapter29,“PrioritizingandEstimatingLargeBacklogs—
TheBigWall.”
Whenestimating,teamstypicallyestimatetheworkusingstorypoints—abstractunits
ofmeasure.Whydotheyuseabstractmeasures?Becauseit’sbettertoberoughlyright
thanpreciselywrong.Inthestory,Mikeexplainedrelativesizingbypointingoutthatit’s
mucheasiertolookattwoshirtsandsay,“Thisoneisabouttwiceasbigasthatone,”than
totrytodeterminetheexactneckandsleevemeasurements.Sure,youcouldfigureitout
ifyouwantedto,buttheamountofeffortrequiredtogetexactorpreciseestimatesis
economicallyprohibitiveandgenerallynotwarranted.Gettingroughlyrightestimatesis
allthatisneededatthistime.
Keepinmindthatyourrelativesizesneedtobesimilarenoughtoenableyouandthe
teamtomakerealisticcomparisons.ComparingT-shirtsizesissimple.Tryingtochoose
betweenatunaandanorcawhale,oracompactfuel-efficientcarandalong-haulshipping
tractortrailer,isnearlyimpossible.Thedifferencebetweentheirrelativesizesistoogreat.
Instead,choosereferenceitemsthataremorealikeandeasilyvisualizedrelativetoone
another:asmallglasstumblerversusapintglassorasmallpropairplaneversusa747.
Evenrelativesizingmuststaywithinacertainscale.
Finally,rememberthatthoughLindellandBrianestimatedbythemselvesoutof
necessity,wheneverpossible,allthepeopledoingtheworkshouldbetheonesestimating
thework.
PrioritizingStories
Atfirst,Lindellmaintainedthateverythingintheproductbacklogwasequallyimportant
andsohadequalpriority.Mikeknewthiscouldnotbetrue.Ifeverythingisthehighest
priority,thennothingisapriority.Thefirststepinprioritizinguserstorieshastodowith
understandingwhatyouruserswant.(Severalexcellenttechniquescanhelpyou
understandwhatuserswant,includingtheKanomodelofcustomersatisfaction,financial
modelssuchasinternalrateofreturn[IRR],andInnovationGames®suchasBuya
FeatureorPrunetheProductTree.I’veincludedreferencesattheendofthechapterto
helpyoulocatetheseresources.)
Onceyouhavethisinformation,youcanuseoneofmanytechniquestoprioritizeyour
list.Onequickwaytodeterminepriorityistojustorderthelistfromtoptobottomand
labelthem1-n.Nothingcanbeequal.Youcanalsothinkintermsofminimalmarketable
feature(MMF)set,atermintroducedbyDenneandCleland-HuanginthebookSoftware
byNumbers.TheydefineanMMFas“unitsofsoftwarevaluecreation.Theyrepresent
componentsofintrinsicmarketablevalue”[DENNE].Ithinkofitasthesmallestgroupof
featuresthatmustexisttoreleasetheproduct.
Inthischapter’sstory,assoonasMikereframedthequestionintermsofminimal
marketablefeaturesets,“Whichgroupoffeaturesdoyouabsolutelyhavetohaveinan
initialrelease?”Lindellwasabletoquicklyprioritizeherbacklogintermsofwhat
featuresandfunctionalitytheenduserswouldabsolutelyneedtohavetousethesystemin
production.OnceLindellidentifiedthefirstset,shecouldthengrouptheremaining
featuresintoadditionalreleasesthatwouldenhancetheminimalfunctionalityintheinitial
release.
DeterminingVelocity
Withoutknowingthevelocityoftheteam,itisessentiallyimpossibletocalculatewhat
workwillbedoneandbywhen.LindellandBriandidnottakethetimetoestimatetheir
velocitywhiletheywerewithMike.Theyjustpulledarandomrangeoutoftheairtohelp
themfigureouthowtocalculatecostslater.
Eventhoughit’snotideal,itispossibletoestimateavelocityrange,evenforateam
thathasneverdoneScrumbefore.ManyofthosetechniquesaredetailedinChapter4,
“PredictingTeamVelocity.”Thekeyistoupdatetheplanwithrealdataassoonasthe
teambeginsrunningsprints.
DerivingCost
InChapter8,“TheCaseforaFull-TimeScrumMaster,”Idiscussedtheloadedcostofan
employee.Usethatapproachhereifyoudon’tbillforyourtime.Ifyouworkina
consultancyorhaveacapitalexpenditurebudgetthatyouareworkingfrom,youknow
whatthebillablerateisperperson.Eitherway,youneedtodeterminewhattheteamcosts.
Tofigureoutthiscost,youmustdeterminethecombinednumberofhourstheteam
thinksitcandedicatetotheprojectpersprintandmultiplythatnumberbythetotalofeach
person’shourlyrate.It’sreallythatsimple.
Forexample,considertheteamoffivepeopleshowninTable26-1.
TABLE26-1DerivingTeamCost
Theteamcosts$700perhour.Eachteammemberaveragessixhoursperdayonthis
projectandrunstwo-weeksprints(tenworkingdays).Theteamsprintcostis$42,000
($700×6hours=$4200×10days=$42,000).
BuildtheReleasePlan
Thefinalstepincostingistobuildareleaseplan.Inthischapter’sstory,Lindelldidsome
quickcalculationstodeterminethatatacertainvelocityandsprintcost,theteamwould
notbeabletoaccomplishallthestoriesintheproductbacklogbythedeadline.Sheand
Mikewerealsoabletodeterminethattherewasroominthebudgettoaddmore
personnel,whichmighthelptheteamaccomplishmoreworkpriortothefixeddeadline.
Thecostingworkshehaddoneallowedhertopresentamorecompletepictureofthe
initialprojectrealitiesandoptionsforgettingmoredoneinthetimeallotted.Chapter11,
“ReleasePlanning,”providesdetailsonhowtobuildyourownreleaseplan,arequired
elementwhenworkingwithaprojectmanagementoffice(PMO)orexternalcustomer.
Pleaserefertothatchapterfordetailsonhowtobuildanagilereleaseplan.
KeystoSuccess
Costingprojectsupfrontischallenging,ScrumornoScrum.Howmuchwillitcost,when
willthesefeaturesbedone,whatwillweget,andhowlongwillittake?UsingScrum
doesn’tchangethesequestions,butitdoeschangehowyoucommunicateyouranswers.
Discussionsofcostarereframedintermsofcostpersprint.Featurespecificationsare
replacedbyestimated,prioritizedproductbacklogs.Thequestionsofwhenandhowmuch
becomequestionsofbudgetandvelocity.Youhavetoeducatemanagementaboutthese
termstosomedegreeforthemtounderstandandacceptyouranswers.Intheend,though,
you’lllikelyfindthat,likeLindell,youactuallyhavemoreinformationandoptionsto
givethemwithScrumthanyoudidwithfunction-basedprocesses.
Asyoureadintheearlierdiscussions,theactualprocessofdeterminingcostisnotthat
complicated.Whatiscomplicatedisbuildingtrust.Afterall,costquestionsareusually
concretewaysofaskingtheabstractquestion,HowdoIknowyou’lldeliverwhatwe’ve
askedfor?Mostpeoplehavebeenburnedinthepastbyteamsthatmissdeadlines,have
less-than-desirablequality,anddon’tdeliver.Fromthesefailurescomethedetailed
questions,Ganttcharts,andproductspecificationsthatdominatesoftwaredevelopment
conversations.Asyouprovideanswers,don’tforgetthatwhatyouarereallyofferingis
assurance.Takethetimetoexplainhowthesoftwarewillbedevelopedanddelivered.
Frameeveryanswerintermsofarangeofwhatyoubelievecanbeaccomplishedrather
thanasadefinitivenumber.Ifyouranswerswerederivedwithoutthehelpofyourteamor
withvelocityestimatesinsteadofrealdata,communicatetheseassumptionsandprepare
managementforhowactualdatamightalteryouranswers.Atthesametime,reassure
themthatyouwillprovidethatdataassoonasitisavailable.Remindthemthatchanges
willoccurandthatyouranswersareaneducatedguess,notapromisesetinstone.
Up-frontcostingispossiblewithScrum.Trytoinvolveyourteamandusehistorical
datatocomeupwithyourprojections.Ifthatisimpossible,youcansimulateteam
discussionsandestimatestoanswerinitialcostingquestions.Assoonasarealteamis
available,though,throwoutthesimulatednumbersandreplacethemwithrealestimates
andactualvelocities.Changeyourprojectionstoreflecttherealityofyourteamand
communicatethenewnumbersassoonasyouhavethem.Ifyou’vedoneyourjobwell
duringup-frontcostingdiscussions,managementwillnotonlybereceptivetonew
numbers,they’llbeexpectingthem.
Agileplanningisstraightforward.Tellyourcustomers,stakeholder,andmanagement
whatyouknowupfront,informthemofanychangesalongtheway,anddeliverworking
softwareattheendofeachsprintsothatadjustmentscanbemade.That’sScrum.That’s
agile.That’saprocessthatbuildstrust.
References
[BOEHM]Boehm,Barry.1982.SoftwareEngineeringEconomics.EnglewoodCliffs,NJ:
Prentice-Hall.
[DENNE]Denne,Mark,andJaneCleland-Huang.2004.SoftwarebyNumbers.Upper
SaddleRiver,NJ:PrenticeHall,p.5.
[GRENNING]Grenning,James.
http://renaissancesoftware.net/files/articles/PlanningPoker-v1.1.pdf(accessed2April
2015).
[JEFFRIES]Jeffries,Ron.Xprogramming.com.,http://xprogramming.com/-
articles/expcardconversationconfirmation/(accessed2April2015).
Chapter27.DocumentationinScrumProjects
We’veallheardthecommonmyth,Agilemeansnodocumentation.Whileotheragile
fallaciesexist,thisisabigone,anditcouldnotbefartherfromthetruth.Goodagile
teamsaredisciplinedabouttheirdocumentationbutarealsodeliberateabouthowmuch
theydoandwhen.Inthischapter’sstory,wefindaduostrugglingtoexplainthatwhile
theywon’tbefullydocumentingeverythingupfront,theywillactuallybemorefully
documentingtheentireprojectfrombeginningtoend.
TheStory
“Hey,youtwo,”saidAshley,stoppingCarterandNoelinthehallwayastheypassedby
heroffice.“I’vebeensensingsomeresistancefromyouovertheinitialproject
documentation.IneeditbynextFridayforprojectsignoff,okay?”Ashleylookedbackat
hercomputerandbegantypingagain,clearlyexpectingaquickanswer.
CarterandNoellookedateachother,thenbackatAshley,theirmanager,before
replying.Theyhadknownthisconversationwascomingbutdidn’trealizethey’dbe
accostedinthehallwaybyanobviouslyharriedAshleywhenitdid.
“Listen,wecandocumenteverythingupfrontlikeyouask,”Noelbegan,assheand
CartermovedtostandclosetoAshley’sdoorway.“Butwedon’tthinkit’sthebest
approach.Thingschange,andwecannotpromiseyouthatthingswillgoasplanned.
Further—”Ashleystoppedtypingandlookedup,interruptingNoelmid-stream.
“Look,Idon’twanttoargueaboutsomethingasbasicasdocumentation.Ijustneedit
onmydeskbyFriday.”
Carterspokeup.
“Ashley,”hebegan.“CanIhavefiveminutestocommunicateadifferentapproach?I
knowyouhaveafullplate,butIthinkit’simportantforyoutotrytounderstandthispoint
beforewetableourdiscussion.”
Ashleyglancedatherwatchandnodded.“Fiveminutes.Go.”
“WhenIwasincollege,Iworkedforouruniversitynewspaper,”Carterexplained.“I
wasasportsphotographerandalwaysattendedlocalfootballgameswiththesports
writers.Iwasonthefield,andtheywereinthestands.
“Itprobablywon’tsurpriseyoutohearthatnotoneofthosesportswriterscametothe
footballgamewiththestoryalreadywritten.Now,theymighthavedonesomeresearchon
theplayers.Theymighthavetalkedtothecoachesabouttheirgameplans.Theymight
evenhaveaskedmetobesuretogetsomeshotsofparticularplayers.Buttheynever
wrotethearticlebeforethegameevenbegan.
“That’skindofwhatyouareaskingustodowiththesoftware.Youwantthecomplete
storyofhowthisapplicationwillunfold,includingthefinalgamescore,beforewe’ve
evenstartedplaying,”saidCarter.
Ashleyreplied,“Well,that’showwegetthingsdonearoundhere.Withouttheup-front
documentation—designdocs,usecases,masterrequirementsdocs,architecturaldesigns,
andreleaseplans—Iwon’tgetprojectapproval,andIcan’tbesurethatyoutwoandthe
restoftheteamunderstandwhatweneedtobuild.”
“Right.Igetthat,”agreedCarter.“It’snotunreasonableforyoutowantsome
informationbeforewegetstarted.Andyoushouldexpecttoreceivefrequentupdatesfrom
usonwhat’sgoingonwiththeproject.Afterall,thereportersIusedtoworkwithwould
takenotesandwritesnippetsofthearticleaboutthegameasitwasunfolding.
Periodically,wewouldgettogethertodiscusstheangletheywereworkingonandsome
oftheshotsIhadcapturedsofar.
“Buttoaskustotellyouwhatthesoftwarewilllooklike,exactlyhowmuchitwill
cost,andpreciselywhenwe’llbedoneislikeaskingustopredictthefinalscoreofthe
footballgame.Wecantellyouhowwethinkit’sgoingtogo,butwhenthingsare
changingandunfolding,it’sdifficulttopredictallthedetails.”
Ashleynodded.“Butthingsaren’talwaysthatvolatilewithourprojects.Weknow
basicallywhatwewantthistolooklike.It’sonlysomeofthefeatureswearen’tsureof.”
“Right,”chimedinNoel.“Andonprojectswherewecannaildownmostofthe
variablesandhaveaclearpictureofthefinalproduct,wecangiveyoumoreup-front
documentation.”
Carternodded.“Togobacktomysportswriteranalogy,thereweretimeswhenone
teamwasclearlydominating—thegamewasablowout.Inthosecases,thereportershad
theirstoriesmostlywrittenbyhalftime.They’dalreadycomeupwiththeheadline,filled
inalotofthedetails,andwerejustwaitinguntiltheendofthegametoaddthefinalstats
andscore.
“Mosttimes,though,thegameswerecloseandtheoutcomeuncertain.Inthosecases,
thereporterswouldkeepfillingintheskeletonofthestorywiththeeventsasthey
happenedinrealtime.Theywouldcomedowntothefieldathalftime,andwewould
discusstheunfoldingstory.We’dstrategizeandsay,‘Ifthegamegoesthisway,we’lltake
thisapproach.Butifitgoesthatway,we’lltakethisotherapproach.’
“Likewise,thelevelofdetailinourdocumentationatanygivenpointintheproject
shoulddependonhowcertainwearethatthingsaren’tgoingtochange.”
Ashleyleanedbackinherchairwithherhandonherchin,deepinthought.Noel
decidedtogoinforthekill.
“Ashley,rememberthe1989SanFranciscoearthquake,orthequakeandtsunamiin
Japan?OrwheneitherReaganorKennedywereshot?”
Ashleynodded.
“Well,youwouldnoticeatrendinalltheseevents.Intheinitialaccounts,themedia
headlinesconveyedthetragicevent,butwithveryfewdetails.Alltheycouldtellusat
firstwasgenerallywhathadhappened(explosion/quake/tsunami/shotsfired),when,and
where.Why?Becausetheeventswerestillunfolding,andthatwasallanyoneknew.As
thereportersonscenelearnedmore,theyaddedthenewfactsandchangedtheheadlines.
“Allthelittleupdates,facts,anddetailswereimportanttocaptureinrealtime,evenif
theylaterhadtobechangedtoreflectnewinformation.Withoutcontinuousbriefings,
manyofthedetailssurroundingtheeventswouldhavebeenforgotteninthechaosofthe
devastation.Thereportersdidn’ttrytowritemoreupfrontthanthefactstheyknew.
Instead,thereportersrecordedwhattheydidknowastheywentalong.Later,afterthe
detailshadsolidified,theywentbackthroughthevariousarticlesandwrotealarger,
encompassingsynopsisthatoutlinedthespecificeventfromtheinitialreportstothe
currentstate,”Noelexplained.
“That’swhatwe’resuggestingwedo:Makeourdocumentationastoryinprogress.Are
wemakingsense?”askedCarter.
Ashleysatforward.
“IthinkIgetitnow.WhatIoriginallyheardyousaywas,‘Ican’tgiveyou
documentation.’Butwhatyou’reactuallysayingisthatyouwilldocumentcertainthings
upfront,mostthingsinrealtime,updatingthemasnecessarytoreflectreality,andsome
thingsafterthefact.Butwhatdoesthatmeanintermsofsoftwareexactly?Ineedcertain
documentstogettheprojectapproved,suchasthemasterrequirementsdocumentation
outliningalltheusecases.”
Noelanswered,“WewillprovidethatMRD,butitwillbeintheformofaproduct
backlog,withstoriesatdifferentlevelsofdetail.Someofthestorieswillbeheadlines
only.Otherswillbefullyfleshedout,maybetothepointofusecases.Forexample,the
teamhasagoodideaofthearchitecturaldirection,whichgivesusinsightintowhatstories
tobuildforthefirstsixorsosprints,butafterthat,thingsgetfuzzy.Weknowthatyou
wantustocapturethedetails,andwehavethosedetailsforthehigher-prioritystories,but
wedon’thavethemforthestoriesoffinthedistance.Forthose,wemightonlyhave
headline-levelinformation.”
Ashleyasked,“Butifwedon’tcapturedetailsupfront,won’ttheygetlost?Anddon’t
youthenhavetospendasignificantamountoftimegettinganddocumentingthat
informationduringtheproject,iftheycanbefoundatall?Howcanyouensurethatwhat
isbeingbuiltiscorrect?”
“Remember,likeanygoodjournalist,wewilldocumentaswego,assoonaswecan,
withoutdoingtoomuch.ThatwaywhenwegettothepointwheretheUIstabilizes,let’s
say,wecancreatethemoredetaileddocumentationthatthecompanyneedsandthatwe
needtodeliverintheformofusermanualsandsuch.Wewon’tloseourdetailsbecause
we’llbegoingoverthosedetailseverysprintwiththeteam,documentingthemaspartof
ourdefinitionofdone,andcheckingwiththestakeholderstoensurewe’reontrack,to
ensurethatwhatisbeingaskediswhatwearebuildingandmatcheswhatthecustomers
meant.Keepingdocumentationuptodatealittleatatimeisjustpartofthecostof
buildingworkingsoftware.Ifthingschangealongtheway,wewillupdatewhatwehave
writtentoreflectthechange.It’sabalancebetweenstabilityandvolatility.Themore
volatilesomethingis,themorecarefulweneedtobeinwhatlevelwedocument.Ifit’s
stable,wecandosomethingsuchasalargedatabasediagrammodelinatool.Ifit’s
volatile,wemightjustdrawapictureonthewhiteboard—again,botharedocuments,
databasemodelstobeexact,buttheyareverydifferentintermsofformality,”finished
Noel.
“So,areweonthesamepage?”askedCarter.
“Yes,”saidAshley.“Igetitnow.IthinkthisisagoodapproachandsomethingthatI
willadvocate,providedyougivemeregularfeedbacksoIcanupdateexecutive
management.ButIstillneedthebigheadlinesbyFriday.Agreed?”
“Agreed,”saidCarterandNoeltogether.
Andthatwasthat.
TheModel
ManypeoplecanquotethepartoftheAgileManifestothatstates,“Workingsoftwareover
comprehensivedocumentation,”buttheyfailtomentiontheveryimportantexplanatory
componentthatfollows:“Whilethereisvalueintheitemsontheright,wevaluetheitems
ontheleftmore”[BECK].Scrumteamsstillvaluedocumentation;theyjustchangethe
timingofthatdocumentationtobemoreconsistentwiththeirlevelofknowledge.
Forexample,imagineyouareinauniversityworldhistoryclass.Yougettothepointin
theclasswhenit’stimetodiscussWesternEuropeanhistory.Yourprofessorsays,“Iwant
eachofyoutobuymynewbookWesternEuropeanHistory:The30thCentury.Come
preparedforanexamonthefirstfivechaptersintwoweeks.”
Youwouldprobablylookaroundtheroom,wonderingifwhatyoujustheardwas
correctandaskafellowstudent,“Didhejustsaythirtiethcenturyhistory?”
Commonsensetellsyouthatwithouttimemachines,itisimpossibletoreadafactual
accountoffutureevents—theyhaven’thappenedyet!Sure,therearepredictorsand
indicatorsthatsuggestwhatmighthappen,butnothingiscertain.Thisthenbegsthe
question:Ifthisapproachiswrongforauniversityclassthatmayreachafewthousand,
whyistheexactsameapproachacceptedwhendevelopingsoftwarethathasthepotential
toreachmillions?
Beforewe’vebegunanyworkonaproject,weareoftenaskedforexactdetailsasto
whatwillbedelivered,bywhen,andatwhatcost.Todeterminethesethings,teamsoften
writevolumesofdocumentsdetailinghowthesystemwillwork,theinterfaces,the
databasetablestructures—everything.Theyare,inessence,writingahistoryofthingsthat
haveyettooccur.Andit’sjustasludicrousforasoftwareteamtodoitasitwouldbefor
yourhistoryprofessor.
Thatdoesn’tmeanweshouldabandondocuments,anditdoesn’tmeanthatweshould
leaveeverythinguntiltheend,either.Acertainamountofdocumentationisessentialat
eachstageofaproject.Upfront,weusespecificationsoruserstoriestocaptureideasand
conceptsonpapersothatwecancommunicateprojectgoalsandstrategies.Whenwesign
offontheseplans,weagreethatwhatwehavedocumentedistherightthingtodo.
Thequestion,then,isnotwhetherweshoulddocument,butwhatweshoulddocument
andwhen.Theanswerhaseverythingtodowithnecessity,volatility,andcost.
WhyDoWeDocument?
Everyprojectneedsacertainamountofdocumentation.Ina1998articleonSalon.com
titled“TheDumbing-DownofProgramming,”authorEllenUllmannoteshowlarge
computersystems“representedthesummed-upknowledgeofhumanbeings”
[ULLMAN].Whenitcomestosystemdocumentation,weneedtorealizethatwe’renot
buildingorwritingforus;wearewritingforthefuture.IthinkUllmansummarizesitbest
withthissnippetfromthesamearticle:
Overtime,theonlyrepresentationoftheoriginalknowledgebecomesthecodeitself,
whichbynowissomethingwecanrunbutnotexactlyunderstand.Ithasbecomea
process,somethingwecanoperatebutnolongerrethinkdeeply.Evenifyouhavethe
sourcecodeinfrontofyou,therearelimitstowhatahumanreadercanabsorbfrom
thousandsoflinesoftextdesignedprimarilytofunction,nottoconveymeaning.
Whenknowledgepassesintocode,itchangesstate;likewaterturnedtoice,it
becomesanewthing,withnewproperties.Weuseit;butinahumansenseweno
longerknowit.
WhyisUllman’sconceptofcodeasaprocessthatchangesstateimportant?Becausewe
needtorealizethat,inahumansense,weusethesystemandweknowthesystem.Thatis
whywedocument.
So,whatisessentialtodocument,andwhatisneedlesswork?Muchofthatdependson
thetypeofsystemyouarebuildingandthewayinwhichyouwork.Teamsthatare
colocatedneedtodocumentlessthandoteamsdistributedacrosscontinentsandtime
zones.Teamsthatarebuildingbankingsystemsneedtosatisfymoreregulatory
requirementsthandoteamsbuildingmarketingwebsites.Thekeyistodocumentasmuch
asyouneedandnothingmore.
WhatDoWeDocument?
Thelistofessentialdocumentsisdifferentforeveryproject.Goingthroughmylistofpast
projects,somefrequentdocumentationitemsincludethefollowing:
End-usermanual
Operationsuserguide
Troubleshootingguide
Releaseandupdatemanual
Rollback/failovermanual
Userstoriesanddetails
Unittests
Networkarchitecturediagram
Databasearchitecturediagram
Systemarchitecturediagram
Acceptancetestcases
DevelopmentAPImanual
Threatmodels
UML(UnifiedModelingLanguage)diagrams
Sequencediagrams
Wedidn’twriteallthesedocumentsbeforetheprojectbegan.Andwedidn’twaituntil
thefinalsprinttostartthemeither.Wedidthemastheinformationbecameavailable.
Manyoftheuserstories,forinstance,werewrittenupfront.Butsomeofthemwere
changed,andotherswereaddedastheprojectprogressedandrequirementsbecame
clearer.Ourunittestswerewrittenaswecoded.Andattheendofeverysprint,we
updatedtheend-usermanualtoreflectnewfunctionality.Weincludedinourdefinitionof
donewhatwewoulddocumentandwhenwewouldwriteit(seeChapter7,“HowDoYou
KnowYou’reDone?”).
WhenandHowDoWeDocument?
So,ifwedon’tdoitallupfrontandwedon’tsaveitallfortheend,howdoes
documentationhappeninanagileproject?Documentation,anydocumentation,costs
money.Themoretimeittakestowriteandupdate,themoreitcosts.Whatagileprojects
strivetodoisminimizewritetime,maintenancetime,reworkcosts,andcorrections.
Let’slookatafewapproacheswecantakewhendocumentingourprojects:
Documentheavilyinthebeginning.
Documentheavilyintheend.
Documentaswegoalong.
DocumentHeavilyintheBeginning
Traditionalprojectsrelyonearlydocumentation.Asyoucanseefromthediagramin
Figure27-1,atypicalwaterfallteammustcapturerequirements,buildaprojectplan,
documentthesystemarchitecture,writetestplans,anddoothersuchdocumentationatthe
beginningoftheproject.Ifweweretooverlayalinethatrepresentedworkingsoftware,it
wouldnotbegintomoveupuntilthegraylinestartedtoflatten.
FIGURE27-1Traditionalprojectwithup-frontdocumentation
Thebenefitofthisapproachisthatpeoplefeelmoresecureaboutthesystembeing
built.Themajordrawbackisthatthissenseofsecurityismisleading.Inpointoffact,
thoughagreatdealoftime,effort,andmoneyhasgoneintowritingthedocuments,no
workingsoftwarehasyetbeencreated.Thechancesofgettingeverythingrightupfront
aremarginalonstableprojectsandnexttozeroonvolatileprojects.Thatmeansfactoring
incostlyreworkandextratime.Chancesaregoodthatthesehigh-priced,feel-good
documentswillturnintodustyartifactsontheprojectbookcase.
DocumentHeavilyattheEnd
Whenwedocumentheavilyattheend,wedocumentaslittleaspossibleasthesoftwareis
developedandsaveallthematerialneededtorelease,sustain,andmaintainthesystem
overtimeuntiltheendoftheproject.Figure27-2illustratesthisapproach.
FIGURE27-2Documentingheavilyattheendoftheproject
Thebenefitsofthisapproacharethatworkingsoftwareiscreatedquicklyandthatwhat
iseventuallywrittenshouldreflectwhatthesystemdoes.
Therearemanyproblemswiththisapproach.Peopleoftenforgetwhatwasdoneand
when,andwhatdecisionsweremadeandwhy.Teammembersontheprojectattheend
arenotnecessarilythepeopleontheprojectinthebeginning;departingteammembers
takemuchoftheirknowledgewiththemwhentheygo.Afterthecodeforaprojectis
complete,thereisalmostalwaysanotherhigh-priorityprojectthatneedsattention.What
usuallyhappensisthatmostoftheteammembersmoveontothenewproject,leavingthe
remainingteammemberstocreatethedocumentationforthesystembythemselves.
Countlesshoursarespenthuntingfordataandtryingtotrackdownandaccessoldteam
members,whoarebusywithnewworkandnolongerhavetimeforsomething“as
insignificantasdocumentation.”
Thoughsavingdocumentationuntiltheendischeaperinthebeginningbecausemore
timeisspentonactualsoftwaredevelopment,itisusuallyexpensiveintheendbecauseit
canholdupareleaseorcausesupportandmaintenanceissues,asitwilllikelycontain
gapsandfaultyinformation.
DocumentasWeGoAlong
Agileprojectsdothingsdifferently.Weacknowledgethatwhilewecan’tknoweverything
upfront,wedowanttoknowsomethings.Wealsomaintainthatdocumentationshouldbe
partofeachstory’sdefinitionofdone,sothatitiscreated,maintained,andupdatedinreal
time,aspartofthecostofcreatingworkingsoftware.Figure27-3illustratesthe
document-as-we-goapproach.
FIGURE27-3Documentingasyougo
Theproductownerworkswiththestakeholdersandcustomerstobuildtherequirements
whiletheteamworkswiththeproductownertoachieveemergentdesignandarchitecture.
Theteamkeepsthecodeclean,createsautomatedtests,andusescodecommentsand
othertoolstoslowlybuildotherrequireddocumentationforthesystem,suchastheuser
manuals,operationsguide,andmore.
Theonedrawbackisthatitdoestakealittlelongertocodewhenyoudocumentasyou
gothanitwouldtoflythroughthecodewithouthavingtowriteacommentorupdatean
architecturaldiagram.Thisdrawbackismorethanoffset,though,bythebenefits.Thereis
lesswaste,lessriskofeleventh-hourholdups,andmoreemphasisonworkingsoftware.
Muchofthedocumentationisupdatedautomaticallyaschangesaremadetothecode,
reducingmaintenanceandreworkcosts.Justasnewsreportscapturethedetailsofastory
forposterity,real-timedocumentationofdecisionsandbehaviorminimizesgapsin
knowledgeandcreatesalivinghistoryofthesoftwareforfutureteamsandprojects.
DocumentinginanAgileProject
So,weagreethatinmostcases,agileteamswillwanttodocumentastheygo.What
exactlydoesthatlooklikeonatypicalsoftwareproject?Toillustrate,let’suseadocument
thatisfamiliartoalmosteveryone:theusermanual.Awaterfallapproachwouldbeto
writetheentiremanualattheend.We’vediscussedwhythismethodisaworkablebut
riskysolution.Themoreagilewaytoapproachausermanualistoinclude“updatethe
usermanual”asoneoftheacceptancecriteriaforastorythathastodowithuser-facing
functionality.Bydoingthat,themanualisupdatedeachtimeworkingsoftwareis
produced.
Let’ssay,forexample,thatI’mwritingtheusermanualforanupdatetoAdobe
Lightroom(mycurrentfavoritepieceofsoftware).I’minsprintplanning,andtheproduct
ownerexplainsthatthestorywiththehighestpriorityis“AsanAdobeLightroomuser,I
canexportaseriesofphotographstoAdobePhotoshopsoIcanstitchthemtogetherto
makeapanorama.”Aswe’retalkingthroughthatstory,Irecommendthatweadd“update
usermanualtoreflectnewfunctionality”asoneoftheacceptancecriteriaforthatstory.
AsIwritethecodeorasIfinishthefeature,Iwouldalsoeditadocumentthatprovides
theuserinstructionsonhowtousethefeature.Dependingonhowstablethefeatureis,I
mightevenincludescreenshotsthatwalktheuserthroughtheinstructionsforboth
LightroomandPhotoshop.Ifthefeatureislessstable,meaningthecorecomponentsare
builtbuttheuserinterfaceteamisstillhashingouttheuserinterfacethroughfocus
groups,Iwoulddocumentthebehaviorbutprobablyonlyincludeplaceholdersforthe
screenshots.Thekeyhereisthatthestorywouldnotbedoneuntiltheusermanualis
updated.
Updatingtheusermanualwouldbeappropriatetodoatthestorylevel,asIdescribed,
butcouldalsobeaccomplishedatthesprintlevel.Forinstance,ifwehaveseveralstories
thatrevolvearounduser-facingfunctionality,wemightaddastoryduringsprintplanning
thatsays,“Asauser,Iwanttobeabletolearnaboutallthenewfunctionalityadded
duringthissprintinmyusermanual.”
WhatIamdoingisbalancingstabilityversusvolatilityofthefeaturetodeterminehow
deepIgoandwhen.Itwouldnot,forexample,beprudenttomakeupdatingtheuser
manualpartofthedefinitionofdoneforatask.Toomuchmightchangebeforethestoryis
complete.Norwoulditbeacceptabletowaittoupdatetheusermanualuntilrightbeforea
release.That’sfartoolatetostartcapturingthedetailsofthenewbehaviors.
Whendeterminingwhentodocumentyourownsystems,youalsoshouldbalancecost,
volatility,andrisk.(Formoreondeterminingyourdefinitionofdone,refertoChapter7.)
StartingProjectswithoutExtensiveDocumentation
Onechallengeyouwillfaceistohelpstakeholdersandcustomersunderstandwhyyouare
notdocumentingeverythingupfront.TellthemastorysimilartotheoneCartertoldatthe
beginningofthischapter(orsharethatstorywiththem).Remindthemthatwhile
documentingheavilyupfrontdrivesdowntheperceivedrisk,youneverknowwhatyou
don’tknowuntilaworkingsolutionisinplace.
Eschewingextensivedocumentationupfrontdoesnotmeanyouareoffthehookfora
projectsignoffpiece.Butitdoesmeanthatthepiecewilllookdifferenttoyour
stakeholdersthanithasonotherprojects.Ratherthangivethemthespecificartifactsthey
request,answerthequestionstheyareaskinginregardtoschedulesandrequirementsin
themostlightweightwaypossibleforyourprojectandsituation.APMOmight,for
instance,askforaMicrosoftProjectplan,butwhatthePMOreallywantstoknowiswhat
willbedonebyaboutwhen.Bythesametoken,astakeholdermightaskyouforadetailed
specification,whenwhatshereallywantstoknowis,“AreyouandIonthesamepage
withregardtowhatI’maskingyoutodo?”
Signoffandapprovalwilloccurearlyandoften.Theproductownerwillholdmany
storyworkshopstobuildtheproductbacklog,workwiththeteamtobuildtherelease
plan,andthencommunicatethatinformationtoallinterestedparties,solicitingenough
feedbacktoensurethattheteamwilldeliverwhatthestakeholdershadinmind(whichis
rarelyexactlywhattheyaskedfor).Thedocumentstheproductownerusesforthesetasks
areonlyamodeoftransportationforideasandconcepts,andadocumentisnottheonly
waytotransferthoseideas.Up-frontdocumentationcanjustaseasilytaketheformof
picturesofwhiteboarddrawings,sketches,mockups,andthelike—itdoesnotneedtobea
largeformaldocument.
Thebeginningoftheprojectiswhenyouknowtheleastaboutwhatyouarebuilding
andwhenyouhavethemostvolatility.Whatyourstakeholdersneedisthepeaceofmind
thatcomesfromknowingyouunderstandwhattheyneedandcangivethemsomeideaof
howlongitwilltaketodeliver.Expendtheleastamountofeffortpossiblewhilestill
givingthemaccurateinformationandreassurance.Atthispointintheproject,everything
canandwillchange.
KeystoSuccess
Thekeystosuccessaresimple:
Decide—Determinewhatyouneedtodocumentforyourprojectandwhenitmakes
themostsensetoproducethatdocumentation.Somethings,suchascodecomments,
areeasytotime.Otheritems,suchasthreatmodels,aremoredifficult.Workasa
teamwithyourproductownertodeterminethemust-havedocumentsateachstage
ofyourproject.
Commit—Onceyouhaveadocumentationplan,sticktoit.Putitinyourdefinition
ofdone.Holdyourselvesaccountable.Documentationisneverfun,evenwhenit’s
brokenintosmallchunks.Remindyourteamthatalittlebitofpainwilleliminatea
greatdealofriskcomereleasetime.
Communicate—Ifthisisthefirstprojecttomoveforwardwithoutextensiveup-
frontdocumentation,thestakeholderswillbenervous.Helpthemout,especiallyat
thebeginningoftheproject,bysendingfrequentupdates,picturesofwhiteboards,
andanyotherdocumentsthatareproduced.Doasyourmathteacheralwaystold
you:showyourwork.Seeingworkingsoftwareandphysicalartifactsgoesalong
waytowardcalmingthefearsofeventhemostanxiousexecutives.
Investinautomation—Documentationiseasierandultimatelycheaperifyou
investalittletimeinautomatingeitherthesystemorthedocumentationitself.For
example,ifyoucancreateanautomatedscripttocompileallthecodecommentsand
parsethemintodocumentation,you’vesavedamanualstepandinstantlymadeyour
documentationmoreinsyncwiththeactualcode.It’salsomucheasiertodocument
acceptancetestresultsandAPIdocumentsautomaticallythanitistodoitmanually.
Ontheflipside,youmightfindthatautomatingthefeaturesthemselvescansave
youalotofdocumentationwork.Forexample,amanualinstallationprocessmight
requirea40-pageinstallationguide;anautomatedinstallationprocess,ontheother
hand,probablyneedsonlyaone-pageguideandisbetterfortheenduseraswell.
Wheneverpossible,automateeitheryourdocumentationorthefeaturesitsupports.
Theresultsarewellworththeinvestment.
Beingagiledoesnotequatetonodocumentation;itmeansdoingtimely,accurate,
responsibledocumentation.Makesurethatdocumentationisequallyrepresentedinyour
team’sdefinitionofdonealongsidethingslikecodeandautomation.Rememberthatwhen
changehappens,it’snotjustthecodethatchanges—theentiresoftwarepackagethatyou
aredeliveringchanges,documentationincluded.Lastly,rememberthatasmuchasyou
mightwishotherwise,documentationisapartofeverysoftwareproject.Whenyoudoa
littleatatimeandautomateasmuchaspossible,you’llfindthatwhileit’sstillan
obligation,it’snotnearlyasmuchofachore.
References
[BECK]Beck,Kent,etal.“ManifestoforAgileSoftwareDevelopment.”Agile
Manifestowebsite.http://agilemanifesto.org/(accessed16January2011).
[ULLMAN]Ullman,Ellen.Salon.com.http://www.salon.com/technology/-
feature/1998/05/13/feature(accessed18November2010).
Chapter28.OutsourcingandOffshoring
Whentheworkpilesupandthecostsmount,shiftingaportionoftheworktooutside
teams,especiallyonesthatcanbehiredatareducedrate,mayseemlikeagoodidea.
However,whatstartsoutasawell-intentionedshiftingofaprojectcanturnouttobea
nightmare.
Outsourcingand/oroffshoring,thoughsometimesunpopular,areheretostay.And
becausethat’strue,toomanyteamsfindthattheyhavetomakethebestofaless-than-
optimalsituation.ThatwasthecasewithJonathan,anewlyhiredleaddeveloperata
SiliconValleysoftwarecompanyknownforitsagiledevelopmentpractices.Here’sthe
storyofhowhereactswhenhelearnsthatheistomanagetwonewlyoutsourcedteams.
TheStory
Jonathanhadbeenworkingathisnewcompanyforthreemonths.Hewashappytobe
associatedwithanemployerwhovaluedagileprinciplesandwithteammateswhoknew
howtodeliverqualitysoftware.Itwasafarcryfromhislastjob,withanemployerthat
justdidn’tgetitandateamstuckinScrumBut[GUNNERSON].Thatallchangedtheday
hismanagerEmmainvitedhimforcoffeeandatalk.
“Iwon’tbeataroundthebush,Jonathan,”Emmabeganastheywalkedtowardthe
coffeestand.“I’vegotsomegoodnewsandsomepotentiallybadnews.I’llstartwiththe
bad.Ijustgotoutofanexecutivemanagementmeeting.Wearegoingtoshiftyourproject
toouroverseasoffice.Thegoodnewsisthatyou’vebeensuchagreatleaderthatthe
seniorvicepresidentaskedspecificallyforyoutorunit.Areyouupforit?”
Jonathantriedtokeephisfaceneutral,buthisfirstthoughtwasthatmovingtheproject
overseaswouldbetheworstpossiblesolution.HeturnedtoEmma.
“Emma,isthereanywaywecankeepitlocal?”hepleaded.“Theteamherehasmade
greatheadwayoverthelastfewmonths.”
“IwishIcouldsayyes.Theproblemisn’tyourteam;it’sthatourflagshipproductis
slippingbehindschedule.Togetitbackontrack,we’redivertingalllocalresourcesto
help,includingthepeopleonyourteam.Atthesametime,wewanttokeepyourproject
moving,sowe’vedecidedtocontractwithsomeoverseasgroups.Asidebenefitisthatthe
movewillsaveusmoney;we’llbeabletogettheoutsourcedteamforeightypercentless
thanwearepayingthelocalteams,”Emmaexplained.
Jonathanhadexperiencedoutsourcingandoffshoringworkbeforeathislastcompany,
whichwasoneofthemainreasonshehadchangedjobs.Hewasnothappyaboutthe
news,butbeinganewhire,heunderstoodhisplaceandwhatheneededtodo.
“I’vebeenthroughthisbefore,Emma,andIhavetobehonest.I’mnotsureit’sagood
idea,”saidJonathan.
“Whichpart—havingyouleadtheeffortorshiftingtheproject?”sheasked.
“Both,”saidJonathan.“NowI’mnotsayingeverycompanyislikethis,butIdowantto
sharewithyoutheoutsourcingexperienceatmylastcompanysothatyoucanunderstand
myhesitation.Acoupleofyearsago,Iwasleaddeveloperforanin-houseteam.Wewere
crankingalongprettywell.Becausewealwaysmetourtargets,managementthoughtwe
hadextracapacity,sotheyaddedmoreworktothepile.Weeventuallybecamestretched
sothinthatasinglesnapwouldhaverippleeffectsthrougheveryprojectinthecompany,
delayingeveryone.Itwasnotaprettysight.
“Management’ssolutionwastohavelocalteamspartnerwithoffshoreteams.Itseemed
harmlessenough,right?Itworkedlikethis:Thearchitectontheteam,acoupleother
guys,andIwouldbuildaprototype,documentit,andthensendeverythingtotheoffshore
teamtobuildandimplement.Weranitallinsprints,sotheoffshoreteamdeliveredstuff
backtouseverycoupleofweeks.
“Theproblemwasthatthevastmajorityofthecodetheysentbackwasinsuchbad
shapethatitwaseasiertorewriteitthantoexplaintotheoffshoreteamshowtofixit.
Thiswentonformonths.Onebyone,myteammatesquitoutoffrustration—thefunhad
goneoutoftheirjobs,andtheyrightlyorwronglyfeltthattheyweretheclean-upcrewfor
theoffshoreteams.WhenIleftafewmonthsago,Iwasthelastoriginalteammember.
Sincethen,thatcompany’sbeenhavingsupportnightmares.There’snooneleftlocally
whoknowsthecode,andbecausetheturnoverwasjustashighontheoffshoreteams,
thereisnoonelefttheretoaskquestionsofeither.Allthey’vegotisbuggycodeandmad
customers.
“Managementatthatcompanylookedattheinitialfiguresanddecideditwasacheap
andeasysolution.Andsure,itcostlesshourperhour,buttheworktheygotbackwas
inferiortowhatwewouldhavedeliveredhadweallbeenlocal.Anditcostthemawhole
lotofgoodemployees,includingme.Ifyoudecidetodothis,I’llgiveitmybestshot,but
Ifirmlybelievethisisthewrongthingtodo.Outsourcingthisworkwillnotgetusto
whereweneedtobefaster.Infact,itwillslowusdownandcostusmoreintime,money,
employees,andcustomersatisfaction.”
Emmastoodtherestunned.Sheusedthedistractionoforderingcoffeetogivehertime
tothink.Whentheypickeduptheircoffeeandtooktheirseats,shelookedupatJonathan
andcautiouslyreplied.
“Youbringupsomegoodpoints,Jonathan,pointsIhavenotconsideredbecauseIhave
neverhadtooutsourcework.Canyouexplaintomehowyouhadthingssetupandwhat
youwoulddodifferently?IaskbecauseIknowthedecisionhasbeenmadetopushwork
out.But,andthisisabigbut,wecanstillinfluencehowwestructureit,”Emma
explained.
“Yes,therearesomethingswecandotohelpmakeitlesspainful.Wewerebasedhere
inthevalley,andtheoutsourceshopwasinIndia.Theywere13hoursaheadofus,which
madeituncomfortableforbothpartiestocommunicate.Eitherwehadtoworklateorthey
hadtoworklate.Itjustdidn’twork.Itwouldbemuchbettertostayclosertothesame
timezone,whichinourcasewouldmeancontractingwithanoverseasteamtooursouth
—Argentinaisonlyfourhoursaheadofus,socommunicationwouldbemucheasier,”
saidJonathan.
Emmawasfranticallywritingnotes.“Whatelse?”sheasked.
“Well,nextIwouldembedteammemberstogether.WhatImeanbythisisthatifwe
outsourcethework,weneedtoplanahead.Weneedtohavetheoutsourceteamcometo
ourofficestoworkwiththelocalteambeforethoseguysshiftovertotheflagshipproject.
Thisenablesustohaveagoodknowledgetransferandgivestheoverseasteamachance
toaskthelocalteamquestionsarounddirection,architecture,andstrategy,”Jonathan
explained.
Emmawasabitstunned.“Youwantmetoflythewholeteamin?”sheasked.“Isn’tthat
abitexpensive?”
“Ofcourseitis,”saidJonathan.“It’soneofseveralhiddencostsofoutsourcing.Andit
won’tjusthappenonce.Aftertheinitialtransition,we’llneedtospendtimedoingthe
deeperknowledgetransferthatcanonlyoccurwithpairingandtime.Thatwillmean
flyingafewpeopleatatimefromoverseastohereforaone-monthstay,thensending
themhomeandflyingafewmorepeoplein.Eventually,everyonedowntherewillhave
theopportunitytoworkwiththelocalteambeforethelocalteamswitchestotheflagship
project.Itcostsalotmorethanjustwhatyouseeonpaper—andyouwon’thavethelocal
teamswitchedovertotheflagshipproductasquicklyasmanagementthinks.The
alternative,though,istotaketheapproachmyothercompanytookandjustswapthetwo
teamsoutnow.Butbelieveme,we’llpayforitlaterinbuggy,unintelligiblecodeand
unhappycustomers.”
Emmawasvisiblydiscouraged.
“Whatelsedoweneedtoconsider?”sheasked.
“Well,ifI’mgoingtorunthis,weneedtoplanonaheftytravelbudget.Iwillbe
travelingtoArgentinaonceamonthataminimumtospendtimewiththenewteam.
Communicatingonlyviaemailwillonlyslowthetransitiondownandmakethingsworse.
Oncetheygetontheirfeet,wecanlookatlesstravel,butitwillbealongwhilebefore
thathappens,”saidJonathan.
“Whatifwecan’tmakethishappenthewayyouwant?”askedEmma.
“Idon’tknow.Ican’timaginethisendingwellifit’ssetuppoorlyandisunderfunded.”
“Allright,”saidEmma.“WhatIneedyoutodoiswritethisupformeandpreparea
presentationformanagementsowecanpresentourcase.Canyoudothat?”askedEmma.
“I’llhaveitreadybynextweek,”saidJonathan.“Icametothiscompanybasedonits
reputation.Themanagementteamisknownforputtingpeopleandcustomersfirst.I’m
confidentthatoncemanagementseesthepotentialproblems,itwillfundthesolutions.Of
course,I’dstillratherkeepitlocal,butifwedohavetooutsourceit,atleastwecandoit
correctly.”
TheModel
Mostsoftwarecompaniesuseoutsourcingnotbecausetheywanttolaypeopleoffbut
becausetheyhavetoomanyconcurrentprojectsandnotenoughstafftosupportthem.
Managementlooksattheoptionsanddecidesthatoutsourcingistheirbestsolution.What
theymightnotconsiderorunderstandiswhatthatcouldmeanfortheteams,thecode,the
finalproduct,andthecompany’sbottomline.
Outsourcingandoffshoringarechallengingusinganyframework,butwhenyouadd
agilepracticessuchaspairing,coreteamhours,anddailyscrums,offshoringanagile
projectquicklybecomesacomplicatedandsomewhatexpensiveendeavor.Thatbeing
said,I’mnotsuggestingyouuseatraditionalapproachforoffshoring.Onthecontrary,
youneedtobeverydisciplinedandhavefrequentcheckpoints,greatertransparency,and
otheragilepracticestomakesuccessmorelikely.
Beforeyoumakethejumptooutsourcing,considerthetruecosts.Ifyoustilldecideto
doit,orthedecisionhasbeenmadeforyou,worktostructuretheoutsourcingforthebest
chanceforsuccess.Thefollowingsectionslookfirstatthecostsandthenatstrategiesfor
dealingwiththerealitiesofoutsourcing.
ConsidertheTrueCosts
Whenitcomestocost,it’stemptingtolookonlyattheper-hourcostperperson.Ifa
developerinyourcountrycosts$100perhourandanoverseasdevelopercosts$20per
hour,itappearsmuchcheapertouseanoverseasteam.ButasJonathanpointedoutinthe
story,managementmustfactorinthehiddencostsofoffshoring.Theseincludetransition
costs,increasedoverhead,long-termretention,managingthework,andmakingsurethe
overseasteamfollowsthedevelopmentpractices/processesthatarevaluabletothelocal
team.
TransitionCosts
Onebighiddencostofoutsourcingistransition.AsJonathanhighlightedinthestory,it
willcosttimeandmoneytogetthenewteamuptospeed.Peopleneedtogettogetherto
transitioneffectively,whichmeansbringingsomeoralloftheremoteteamintoacentral
officetoworkwiththeoriginalteam.Andit’snotjustaone-timeknowledgedump.
Gettingthenewteamtounderstandasystemindepthinvolveshavingatleastsomeofthe
newteammemberstraveltopairwiththeoldteammembers.Itisbesttohavepeople
cyclebackandforth—meaninghavesomeofthelocalteamtraveltotheremotesiteand
havesomeoftheremoteteamspendtimeatthelocalteam’slocation.Dependingonthe
sizeofyourproject,theknowledgetransfercantakeweeks,months,orevenayear.
Researchshowsthattransitioncostscanrangefrom5to57percentofthetotalproject
cost[OVERBY][ROTTMAN].Studiesalsoshowthatwhiletheremightbeacostsavings
inusingoverseasteams,itisoftenoffsetbytransitioncosts.Infact,theoutsourcing
venturemightultimatelycostmorethanusinglocalteams[YU].
IncreasedOverhead
Chapter8,“TheCaseforaFull-TimeScrumMaster,”discusseshowtodeterminethe
loadedcostofanemployee.Itdescribeshowmostemployeesspendonly40to60percent
oftheirtimeontaskduringanygivenproject,meaningtheyspendthreetofivehoursper
daydoingproductivework.Therestofthetimeispartnecessaryoverheadandpartnoise
andwaste.
Outsourcedprojectshavebuilt-incommunicationchallengesthattakeawayfrom
availableproductivetime.OnteamsI’veworkedon,andmanyoftheteamsI’vecoached,
peopleonoutsourcedprojectsspendatleastanextrahoureverydayonadditional
meetings,email,andphonecalls,asteamsstrugglethroughculturalandlanguagebarriers.
Thisincreasedoverheadmustbefactoredintotheoverallprojectcost.
Long-TermRetention
Overseasteamstendtohavehighturnoverrates.Oncetrained,peopleunderstandtheyare
morevaluableandwilloftenleaveforabetterpayingjob.OnecompanyIworkedwithin
Indiasaiditsturnoverratewasninemonthsforeachemployee.Iftheorganizationyou
workwithhasasimilarturnoverrate,thatmeansthatbythetimeyoufinishtransitioning
theproject,you’regoingtohavetoabsorbthecostsassociatedwithbringinginnewteam
members.Turnoverratesmightincreaseforyourlocalteamsaswell.Thelongerthe
transitiontime,themoredifficultitwillbeforyourlocalteammemberstostayengaged
withtheproject.
CulturalChallengesandManagingtheWork
Day-to-dayworktendstobemoredifficultonanoutsourcedproject.Youhaveto
coordinatemeetings,phonecalls,andvideoconferences.Youneedtobemoreexacting
withyouremailcommunications.Alltheseobstacleshavesolutions,butthesolutions
comewithincreasedcosts.
Culturalchallengesalsocomeintoplayasyouattempttoworktogether.InSucceeding
withAgile,MikeCohnsuggeststhatteamscreatecoherence—or“sticktogether”[COHN]
(calledgroupcohesioninthesocialsciences).Todemonstratethedifficultiesof
understandingothercultures,CohnrelateshowGeertHofstedefromIBMidentified“five
keydimensionsalongwhichculturesvaried”[HofstedeascitedinCohn,p.359].Thedata
isilluminatingandrevealswhatmostpeopleknowalready.Chineseteamsarelesslikely
tochallengeauthorityinapublicforum.Americanteamsaremorelikelytocallitlike
theyseeit.Indianteamsmightsayyeswhentheyreallymean,“Ihearwhatyouaresaying
butdon’tagree.”Overcomingculturalobstaclestakestime,training,andpatience,which
ultimatelymeansmorecosttotheproject.
DevelopmentPractices
Afriendtoldmethatmanagementonceoutsourcedakeycomponentinoneofhisprojects
toacompanyinanothercountry—supposedlyatop-notchconsultingfirm.Hemanaged
theremoteteam(aswellasthelocalteam),butknewtherewastroublewiththeremote
team.Afterweeksoftheremoteteamcodingwithnocodedrops,hefinallyinsistedthat
theysendhimthepartiallycompletedcode.Whatwasreceivedwasasolutionwitha
singleProgram.csfile,whichcontainedasinglemethod,Main().Thatmethodwas
hundredsuponhundredsoflineslong.Theout-of-countryteamhadadozendevelopers
workingonthatsinglemethod,amethodthatdidn’tevenwork.Hesubsequentlyfiredthe
remoteteam.
It’snotasifthesepracticesarelimitedtooneortwocountries;I’vewitnessedthis
behaviorinUS-basedfirmsaswellasfirmsinEurope,China,Japan,SouthAmerica,and
India.Butifyou’vegotahigh-performingScrumteam,you’velongsinceabandoned
thosekindsofpracticesinfavorofagileengineeringandbestpracticesthatmakesoftware
morereliableandeasiertomaintain.Youexpect,therefore,toworkwithteamsthat
developsoftwaretothesamestandardsandusingthesamebeneficialpractices.Those
teamswon’tcomecheap.
Youalsoneedtodecidehowyouwanttoworkwiththeoffshoreteams.Youmight
choosetouseworkpackagedeliverables,whereeachteambuildsasetoffeaturesonits
own.Oryoumightchoosetoworkaroundtheglobe,wherethecodemovesfromsiteto
sitetosite.Theseaddedcomplexitiesmakehavingstandardengineeringpracticessuchas
continuousintegrationandtest-drivendevelopment(TDD)evenmorecriticaltoyour
success.Trainingteamsthatdon’talreadyusethesepracticestakestimeandmoney.
DealingwithReality
Ifyourcompanyisconsideringoutsourcing,showthemthelistofhiddencostsdescribed
inthischapter.Maybeyou’llbeluckyandthepowersthatbewillreconsider.It’smore
likely,however,thatyou’llbestuckwithanoutsourcingsituationatsomepointinyour
career.Itdoesn’thavetobethedeathknellforyourproject,aslongasyoudon’tgoin
blindly.Whenconsideringoffshoringaproject,youneedtofactorinallthecosts,
includingvendorselection,transitioncosts,travel,lossesinproductivity,andincreased
projectmanagement.So,howdoyouaccountforallthesecostsandgivemanagement
someideaofwhattheirrealcostwillbe?
BudgetandCost
Whenestimatingthebudgetforanoutsourcedproject,I’vefoundithelpfultoshowonly
thebest-andworst-casescenarios.Idonotguessatamostlikelycostbecausetoomuch
informationisunknownabouttheentireexperience(suchasteamdynamics,codequality,
andtheproductitself)todeterminewhatismostlikely.
Yourfirstinputisthetotalprojectbudget.Thebudgetmightbeanexternalnumberif
youaresolicitingabid.Oritmightbeaninternalnumberifyouhaveafixedcostyouare
tryingtohiteitherintermsofloadedcostsofateamoractualfundsthatyouhaveto
manage.
Listthebroadcostcategoriesinonecolumn.IntheexampleinTable28-1,thefirstcost
itemIlistisvendorselection.Ifyoualreadyhaveavendor,thatcostwouldn’tapplyto
yourproject.Fromthere,Ilistwhatpercentage(variable)ofthatiteminthebudgetis
usuallyspentonthatcategory.Forexample,thebest-casescenarioforvendorselectionis
0.5percent;intheworst-casescenario,thepercentagegoesupto1.5percent.Idothisfor
eachpotentialhiddencostitem.
TABLE28-1OffshoreCostVariableModel
You’llnoticethatsomeofthecategoriesinTable28-1areidenticaltothecostsI
highlightedinthemodel,suchastransitioncosts,forinstance.Others,suchasincreased
projectmanagementandlossesinproductivity,arelargebucketsforseveralrelatedcosts.
Forexample,lossesinproductivityincludeincreasedoverhead,theneedtogetupto
speedondevelopmentpractices,andananticipationofhighturnoverrates.Youcanuse
thesecategoriesorchooseonesmorespecifictoyourownsituation.
ThepercentagevariablesIlistarebasedonmyexperience.Isuggestyoustartwithyour
owndataand,ifneeded,lookatindustrytrends.Forexample,ifyouhaveabigteam,your
travelvariablecouldbesignificantlyhigherthanthatshowninTable28-1.Somecosts,
suchasbugsandturnover,arehardertoestimate,asyou’dneedtohavesomeideaofthe
qualityyouwillreceivebackfromtheoffshoreteamandwhattheirturnoverislikelyto
be.That’swhyit’simportanttocontinuetotrackthesecostsovertime,sothatyounot
onlycandemonstratetherealcostofoutsourcingbutalsocancreateabetterestimatefor
thenextproject.
Ofcourse,youmightalsofindthatwithtightengineeringpracticesandagoodeffortat
engineering,youactuallydosavemoney.Ifso,great.It’sstillimportanttoknowfor
certainwhattherealcostofoutsourcingisinyoursituation.Gatherdataandgointoeach
newoutsourcedprojectwithasmuchinformationaspossible.Thatway,youwon’tbe
caughtoffguardbythecostofdoingbusinessoffshore.
Time,Distance,andCulture
Thecountrywheretheoutsourcingtakesplaceisnottheissue.Youcanfindhigh-
performingteamsallaroundtheworld.ThereasonIamnotaproponentofoutsourcing,
asidefromthehiddencosts,hastodowiththefundamentalchallengewithdistributed
teams.Successfulagileprojectsdependonhigh-performingteams.It’sdifficultto
functionasaunitwhenteamsarespreadoutacrosstimezones,don’tsharethesame
culture,andfeeldisconnectedfromoneanotherbydistance.
Thatbeingsaid,IhaveseensuccessfulScrumteamsthatoutsource.Justnotmany.The
onesthataresuccessfulhaveinvestedtime,money,andpatienceincreatinglong-term
relationshipsbetweenthelocalandoutsourcedteams,havetakenthetimetounderstand
eachother’scultureandpoint-of-view,andhavebeenwell-versedinagileprinciplesand
practicesbeforetheybegin.
Thenextsectionlooksatwaystoensurethatyouroutsourcedprojectrunsassmoothly
aspossible,bothforthelocalteamsandtheoffshoreteams.
KeystoSuccess
Thekeystosuccesslistedinthissectionareallbasedononeunderlyingideal:Nomatter
howfarapartyouare,doallyoucantomakeitfeellikeyou’reasingleteam,workingin
onecolocatedspace.
ChoosetheRightOffshoreTeam
Therearetwodimensionstochoosingtherightoffshoreteam:hiringagileteamsand
goingnorth/south.
HireAgileTeams
Whenyououtsourceanagileproject,hireateamthatisalreadyagile.Otherwise,you’ll
spendagreatdealoftimeandmoneytryingtoeducatetheoutsourcedteamonagile
practicesandprinciples,whichmightbeveryforeigntotheteam’sowncompanyculture.
Anddon’tdependonalineiteminamarketingpresentationthatsays,“We’reagile.”Go
watchtheteaminaction.Seehowtheteammemberswork,andmakesuretheirideaof
beingagileisconsistentwithyourlocalteam’sphilosophy.Andmostimportant,talkto
formerclients.Thiseffortoftengivesyouanideaofhowagiletheoutsourcedteamreally
is.
GoNorth/South
Ifyou’regoingtogooffshore,trytochooseateamwithinthreetimezonesofyourlocal
teams.Thisusuallymeansgoingnorth/southinsteadofeast/west.IfyouareintheUnited
Kingdom,outsourcetoPortugal,Spain,anAfricannation,ormaybeevenEasternEurope.
IfyouarebasedinNorthAmerica,looktoSouthAmerica.North/southreallysavesonthe
late-nightconferencecallsandthetimelostwaitingforanswers.Whentimezonesarea
factor,quickquestionsthatcouldbeansweredinfiveminutesinasharedteamspace
couldpotentiallyderailtheprojectforaday.
AllocatetheWorkintheLeastPainfulWay
Whenlookingtobreakupyourwork,youhaveseveraloptions.OnecommonapproachI
seeisforteamstouseworkpackagedeliverables.Aworkpackageisanallocationofa
specificfeatureorsetoffeaturesthattheoutsourcedteamworkson.Thoughyouneeda
localteamcoordinatortofacilitateandcoordinatethework,thisapproachgenerallydoes
notrequireentireteamsfrombothlocationstomeetonadailybasis.
Anotheroptionthatmanycompaniesuseistohavemultipleteamsworkonthesame
codebase.Whenconsideringthisoption,understandthatcertainengineeringpracticesand
standardsneedtobeinplace,suchasqualitygatesorcheck-inrequirements,notations,a
commondefinitionofdone,andmore.Byhavingteamsworkingonthesamecodebase
duringtheirnon-overlappingworkdays,youcanostensiblyaccomplishmoreworkinless
time.
AthirdapproachI’veseencompaniestryistooffshorespecificfunctionssuchas
testing,UI,datamodeling,orvaryinglayersofasystem.Thisisprobablytheworstofthe
optionsoutlinedherebecausethefeedbackloopsandintegrationloopsarehorrendously
long.
Thebestapproachwhenallocatingtheworkistogivetheoffshoreteamindependence
byprovidingthemwithacompletefeatureorfeaturesettoworkonandbuildendtoend.
It’salsothemostexpensiveoption,mainlybecausestakeholdersandcustomers(or
productowners)willhavetotravelandspendsignificantamountsoftimeworking
offshorewiththeteam.
StickwiththeScrumFramework
Whenyououtsourcework,don’tabandontheScrumpracticesthathavebeensuccessful
foryourcolocatedteam.Whileitmightbemoredifficulttocoordinatetheseactivities,
theyareessentialforlong-termsuccess.
DailyScrum
Continuetohavedailyscrums,preferablyviateleconference.Ifyou’vefollowedmy
adviceandstayedwithinthreetimezones,thisshouldberelativelypainless.Ifyou’reup
againsta12-to13-hourtimedifference,findingatimeduringworkinghourseachdayfor
bothteamstomeetisgoingtobedifficult.Sharethepainbyalternatingweeks:Oneweek,
onepartoftheteamisondutylateandthenextweek,it’stheotherpartoftheteam.In
otherwords,ifyouareinAsiaandyourteamisinCanada,you’llbeworkinglate,sayat9
p.m.,foroneweek.Thenextweek,you’llgettomeetatthemorenormaltimeof9a.m.,
whileyourteaminCanadagetsthelate-shiftdailyscrum.It’sessentialthatyoukeep
havingthedailyscrums,evenwhenit’sdifficultorpainful.
SprintReviews
Keepsprintreviewsliveviavideoconferencing.Don’tdemoviaemail.Scheduleatime
forademo,andthenalternatewhichteamhastohavetheawkwardtime.Useastaggered
approachaswiththedailyscrums.Foronesprint,thereviewisat9p.m.onaFriday,and
forthenextsprint,it’sat9a.m.onaFriday.Yes,peoplewillcomplain,especiallythe
stakeholders.Kindlyremindthemtheirsupportisneeded,thattheteamdealswiththis
daily,andthatthisisthebestwaytodealwiththerealityofoutsourcedprojects.
Retrospectives
Don’tskimponretrospectives.Infact,theymightbethemostimportanttoolyouhaveto
buildacohesiveteam.Youstillneedtoalternatethetimesandhaveatleast30to60
minutesofoverlappingretrospectivetime.Youmightalsochoosetohaveeachteamdoa
localretrospective,usinggrouptimetoreviewwhatwasdiscussedandtodeterminehow
toremovetheidentifiedimpediments/issues.
BuildaOne-TeamCulture
Inthischapter,I’vetalkedabouttheimportanceofawell-runtransition.Butifyourteam
isgoingtoremaininvolvedintheprojectwiththeoffshoreteam,youhavetofindwaysto
worktogetherlongterm.Starttheprojectwithanin-personkick-offmeetingwiththe
entireworldwideteam(don’tforgettoaddthisexpensetoyourgrowinglistofsoftware
costs).Youneedtoplanteam-buildingactivitiesandregularvisits.Youshouldalsobring
offshorepeopletothecentraloffice,andviceversa,onarotationalbasistobuildteam
cohesion.Atthesejointmeetings,worktowardbuildingacommondevelopment
environmentandcodebase.Thishelpswithpackingandunpackingthecode.
UsePairingtoCreateSharedUnderstanding
Itisessentialthattheteammembersknoweachotherandunderstandthecodebasethey
arecollectivelybuilding.Thebestwaytoaccomplishthisistohavededicatedpairing
sessions.Manytechnologiesexisttoenablelong-distancepairing(VNC/Live-
Meeting/WindowsLiveSharedDesktop,tonameafew).Usethem.Letmanagement
knowupfrontthatyouwillneedtoworkinpairsandthatthesepairswillbebasedon
work,notproximity.
Aswitheverythingelse,pairingismorechallengingwhenteamsdonotsharemany(or
any)commonworkhours.Evenifit’spainful,findtwohoursatleastthreetimesperweek
whenpairscanworktogetheronthecode.Aswithmeetings,sharethepainofstayinglate
orarrivingearlybyalternatingthetimeseachweek.
ContinuousIntegration
Pairingisagoodstart,butyoualsoneedawaytoknowhowthecodebaseisdoinginreal
time,whetheryourcodespanstheglobeorisaworkpackagedoneinasingleoffice.To
helpensurethateveryoneknowsthecurrentstateofthecode,maintainacontinuous
integrationserver(andinstituteagoodbranchingstrategy).Continuousintegration
becomesmoreofachallengewhenyoufactorinbandwidthissuesbetweencountries,
availablehardware,andthenumberofpeopleinvolved,sodon’tgointothislightly—
thinkthestrategythroughandfactorinthethingsthatcolocatedteamsmighttakefor
granted,suchasagigabitInternetconnection,readilyavailabletelecommunication
equipment,andelectricity.
KeepinConstantContactwithTechnology
TwothingsIinsistonwithoffshoreteamsareadedicateduplink,suchasan“alwayson”
phoneline,instantmessaging,orvideoportal.Theuplinkallowsaliveconnection
betweenteamsthroughouttheday.IfsomeoneinSeattlehasaquestionfortheteamin
Brazil,sheneedonlypickupthehandsetandaskthequestion.Itmimicsrollingbackin
yourchairandshoutingoutthequestiontothelocalteam.It’squick,it’seasy,andit’s
alwayson.
Thewebcamisanothermust-have.Eachteamshouldbeabletoseetheotherteam’s
members.Ifyouneedtotalktooneanother,it’seasytoseewhichpeopleareattheirdesks
andtotalktotheminstantly.
Anotheroneofmyfavoritetechnologytoolsisthepush-to-talkmobilephone,which
worksgreatforteamsthatareinthesamecountrybut,forwhateverreason,don’thave
webcamsoradedicatedphoneline.Itenablesthemtohavethatinstantaneous,
spontaneousconnectiontotheirteammates.
Ifyourcompanyfightsyouonimplementinganyofthesetechnologies,pushbackhard.
Remindthemthatitwastheirdecisiontooutsourcetheworkandthatthesetoolsare
essentialtotheproject’ssuccess.
BePreparedtoTravel
Travelisimperativewhenoutsourcingwork.Ifyourcompanyhasnotallocatedatravel
budget,don’tdooutsourcing.Itwillneverwork.Frequentin-personmeetingsaretheonly
waytoestablishatrueteamenvironmentandbuildtrustamongteammembers.
Travelisalsoanessentialtooltonipproblemsinthebud.Everycultureisdifferent,
evenwithinyourowncountry.Whenyouaredealingwithanothercountry,culture
differencesmagnify.Words,mannerisms,andevenbodygesturesinonecountrycanmean
somethingentirelydifferentinanother.Nothingdegradesteamtrustfasterthanhavingtwo
teamsthatarenotversedineachother’scultures.Whentrustissuessurface,takeaction
immediately,andtakeitinperson.Youmightevenhavetomovethewholeteam—pick
one—totheotherlocation.Getthemtoworktogetherforaweekortwotorebuildtrust.
Dothisfrequently.Yes,thiswillbeexpensive,butthetimewastedwhentwoteamsdon’t
trusteachotherisfarmorecostly,especiallywhenyourcustomersaretheonestosuffer
theconsequences.
HaveaProject/TeamCoordinator
Ifyoudodecidetohavemultipleteamsworkingwiththesamecode,helpreduce
problemsbyassigningeachteamaprojectcoordinator.Iworkedwithoneteamwhohad
itscodecircletheglobedaily.ThecodewentfromEasternCanadatoChinatoWestern
Europeovera24-hourperiod.Ineachlocation,adifferentteamworkedonit.Each
location’steamhadacoordinatorwhowasresponsibleforunpackingthecodeinthe
morningsotheteamcouldworkonitandthenrepackingitattheendofthedayto
transitionittothenextteam.Thecoordinatoralsorelayedthebacklogtothenextteam
andtrackedhisorherteam’sprogress.
Whilenotoptimal,havingaprojectcoordinatoroneachteamresponsibleformanaging
theflowofcodeenabledtheseteamstospendacombined14productivehoursonthe
codeperday.
NeverOffshoreWhen…
Therearecertaintimeswhenacompanyshouldnotoffshoreaproject,nomatterhow
carefultheattempt.
Don’toutsourcethefirstreleaseofcomplex,high-technology-riskprojects.
Don’toutsourceifyourlocalteamstruggleswithdevelopmentpractices(TDD,
continuousintegration,refactoring)orisundisciplined.
Don’toutsourcewithoutcorporatesupportforthetravelbudgetandtechnologies
necessaryforsuccess.
Don’toutsourcewithanoffshoreagilecompanyifyouhavenoexperiencewith
agileyourself.Youcan’tsucceedwithanoffshoreagileprojectifyouhaveyettodo
anonshoreagileproject.
AsmuchasIdislikethepracticesofoutsourcingandoffshoring,Iamrealisticenough
tounderstandthatitislikelysomethingeverycompanywillface.Doallthatyoucanto
fightit.Demonstratetherealcosts.Lookforpeoplewithinyourownorganizationwho
cansharetheirstruggleswithoffshoring.Presentawell-reasonedcaseforkeepingthe
projectlocal.
Whenallthatdatafailstoswaymanagement,don’tdespair.Withaheftytravelbudget,
awillingnesstousetechnology,afaithfuladherencetotheScrumframeworkandagile
engineeringpractices,andtherightoffshoreteam,youcansucceed.Itjusttakesalittle
moreeffort,alotofextrapatience,andseveralmillionfrequentflyermiles.
References
[COHN]Cohn,Mike.2010.SucceedingwithAgile.UpperSaddleRiver,NJ:Addison-
Wesley.
[GUNNERSON]Gunnerson,Eric.2006.“ScrumBut.”
http://blogs.msdn.com/b/ericgu/archive/2006/10/13/scrumbut.aspx(accessed3April
2015).
[OVERBY]Overby,Stephanie.2003.“OffshoreOutsourcingtheMoney:MovingJobs
OverseasCanBeaMuchMoreExpensivePropositionthanYouMayThink.”CIO
Magazine16(22):1.
[ROTTMAN]Rottman,Joseph,andMaryLacity.2006.“ProvenPracticesforEffectively
OffshoringITWork.”ITSloanManagementReview47(3):56–63.
[YU]Yu,Larry.2006.“BehindtheCost-SavingsAdvantage.”MITSloanManagement
Review47(2):8.
WorkConsulted
Saran,Cliff.“Badly-ManagedOffshoreSoftwareDevelopmentCostsFirmsMillions.”
ComputerWeekly.http://www.computerweekly.com/Articles/2004/06/15/203138/Badly-
managed-offshore-software-development-costs-firms.htm(accessed3April2015).
Chapter29.PrioritizingandEstimatingLargeBacklogs—
TheBigWall
You’vejustfinishedagreatstory-writingworkshopwithyourstakeholders.You’re
excitedaboutthenewproductandareanxioustogetstarted.Until,thatis,yougetbackto
yourofficeandlookatthemountainofstoriesthatyounowsomehowhavetoestimate
andprioritize.Allyourexcitementdisappearsasyoufacethehardtruth:Youhavenoidea
wheretostart.
Thesheersizeofnewproductbacklogscanbeoverwhelming.That’swhyyouneedto
attackthemwithsomethingevenbigger.I’mtalkingaboutaclubthat’sabout14feetwide
and10feethigh.Youneedtofindyourselfabigwall.That’swhatthefolksinthis
chapter’sstorydid—withexcellentresults.
TheStory
Gordonwastheproductownerforanew,two-yearproject.HehadworkedwithScrum
beforeandhadagreatrelationshipwiththeteamanditsScrumMaster,Lynne.The
problemwastheproductbacklog.Alreadyat300storiesandgrowing,andwithmorethan
20competingstakeholders,thebacklogwasgoingtobeabeartoestimateandprioritize.
AsGordonbegantoworkthroughthestories,hequicklybecameoverwhelmed.Hesought
outLynneforsomeadvice.
“Lynne,you’vegottohelpmeoutonthisone,”hesaid.“Ican’tgetahandleonthis
backlog.Ineedtoinvolvethestakeholders,butI’mafraidaprioritizationworkshopwith
alltwentyofthemwilljustdeteriorateintoabigfightthataccomplishesnothing.I’d
tackleitmyself,butit’ssohuge,Idon’tevenknowwheretostart.Anyideas?”
“Idohaveanidea,actually.WehadasimilarproblemontheJetproject,”saidLynne.
“Wehadhundredsofstories,acoupledozenstakeholders,andalotofquestions.”
“Whatdidyoudo?”askedGordon.
“Well,thefirstthingIdidwasprintoutallthestorycardsontosomethingthatwecould
use.You’vedonethatright?”askedLynne.
“Yup,gotthemallrighthereonindexcards,”saidGordon,pattinghisbag.
“Great.Next,weneedtofindaroomwithagreatbigwall,”saidLynne.Shegestured
towardtheconferenceroomdownthehall.“Thatonewilldo.”
Togethertheywalkeddowntotheemptyconferenceroomandlookedatthespace.
“Well,ithasabigemptywall,”saidGordon.“Andit’sfairlyeasytobook.DareIask
whyIneedabigwall?”
“You’llsee,”saidLynne.“Assoonasyoucangetitcoordinated,booktwomeetingsin
thisroom,preferablythesameday.Inthemorning,it’llbejustyou,me,andtheteam.In
theafternoon,youcanbringinthestakeholderstojoinus.We’llmeetbackherethen,and
I’llwalkusallthroughthesession.Bringyourstorycards.Ipromiseyou’llwalkoutof
herewithallthestoriesprioritizedandestimated.”
Aweeklater,Lynne,Gordon,andtheteammetintheconferenceroom.
LynneaskedGordontoreadthefirstfivestoriesaloudthenpassthemouttotheteam
members.Theteammembershadafewquestionsaboutacoupleofthestories,which
Gordonfielded.OnequestioncameupthatGordondidn’tknowhowtoanswer.
“That’sokay,”saidLynne.“Markitwithareddotandnotethequestionontheback.
We’llcomebacktoitthisafternoon.”
“Okay,”Lynnecontinued,addressingherteam.“Iwantyouguystoputthosefivecards
onthewall,bigstoriesgototheright,smallstoriestotheleft.Don’tworryaboutexactly
howmanypoints.Justthrowthemupthere.Ifithasareddot,makeyourbestguessfor
now.We’llrefinethislateranyway.”
Afteralittlehaggling,thecardswereinplace.Gordonreadthenextfivecards,andthe
teamplacedthemonthewall.Theteamsoongotintoarhythmandwasabletoquickly
placethecardsonthewallinspotsthateveryonefeltcomfortablewith.Afterthreehours,
allthecardshadfoundtheirwayontothewall.
“Okay,”saidLynne.“Wehaveanhourleftbeforelunch.Iwantustocorrelatewhatwe
seeonthewalltopoints.Let’sstartwiththesestoriesontheleft.Ifyouweregoingto
separatetheone-pointstoriesfromthetwo-pointstories,wherewouldyoudrawtheline?”
Theteammovedafewstoriesleftandafewtotherightuntiltheyfeltcomfortablethat
thestoriesonthefarleftwereone-pointstories.Lynnethentapedalinefromtopto
bottomtoseparatetheonesfromthetwos.
“Okay,”shesaid.“Howabouttwo-pointversusthree-point?Where’stheline?”
Again,theteamdebatedfortenminutesorso,andthensettledonadividingline.Lynne
addedanothertapedline.Theydidthisagaintodividethethree-pointstoriesfromthe
five-pointstories,thefive-pointstoriesfromtheeight-pointstories,andtheeight-point
storiesfromthethirteen-pointstories.Lynnethenaskedforonefinaldividingpoint.
“Whichstoriesarebiggerthanthirteen?”sheasked.
Theteamhadlittletroublegroupingallthebigstoriestogetheronthefarright.Lynne
addedonefinaldivider.ShereleasedtheteamforlunchandturnedtoGordon.
“So,we’vegotbasicpointsassignedtoallthestoriesinyourbacklog.That’simportant
becausehowmuchastorycostscouldwellaffectitspriority.Someofthehugestories
mightneedtobebrokendown,butthatwilldependonwhatwefindoutinparttwoofour
meeting,whenthestakeholderscomein.We’llhavethemmovethecardsintopriority
orderandaskthemanyquestionsthatyoucouldn’tanswer.”
“Won’titmessupourestimatesoncewestartmovingthesearound?”askedGordon.
“Nope,”saidLynne.“Wedeterminedsmallesttolargestbymovingcardsfromleftto
right.We’llillustrateprioritybymovingcardsupanddown.High-prioritystorieswillbe
highonthewall;low-prioritystorieswillbelowonthewall.We’lljustaskthe
stakeholderstokeepthecardsinsidethetapedlineswheretheyfoundthem.”
“Whatwilltheteamdoduringallofthis?”askedGordon.
“Theyshouldwatchandseewhatthestakeholdersmoveupanddown,andlistenasto
why.Someofthoseanswerswillinfluencethesequenceofthework.Theyshouldtake
notesaswell,andmightasksomeofthequestionsonthereddotcards.YouandI,though,
willhavetolimitthediscussiontoacoupleofminutespercard,tomakesureweget
everythingprioritizedbeforeweleave,”Lynneexplained.
“Andwhatdowedoifthestakeholdersdisagreeandgethunguponastory?Orkeep
movingthesamestoryupanddown?”
“YouandIwillwatchforthosetypesofdiscussions.Ifwecan’tresolvethedispute
fairlyquickly,we’llmarkanystoriesthathaveseriousconflictswithayellowdot,notethe
twostrongestdissentingstakeholdersontheback,andmoveon.Youcantakethe
conversationaboutthesemorecontroversialstoriesofflinewiththetwostakeholderswho
feltthemoststronglyaboutanyparticularstory.Thereshouldn’tbetoomanyofthose.”
Thestakeholderscameinafterlunchandwerebriefedontheprocess.Aftersomeinitial
hesitancyandafewtensemoments,theysoonweremovingcardsupanddowninsidethe
tapedlines.Whenstoriesweresimilar(butnotidentical),Lynneencouragedthemto
groupthestoriesneareachotherandmovethemtogether.Whenanyduplicateswere
found,Lynnetoldthegrouptofeelfreetodisposeofone,orhideonebehindtheother.
Afterafewhours,theprioritizationwascomplete.LynneandGordonthankedeveryone
fortheirparticipationandpromisedtofollowupontheyellowdotcards.
“Justonemorethingbeforewego,”saidLynne.“Doyouseethesehigh-prioritystories
overhereonthefarrightofthewall?”
Everyonenodded.
“Thesearestoriesthatyouwanttohavedoneveryquickly,yettheyaresobigwecan’t
evenputestimatesonthemyet.Iproposewespendalittletimewiththesestories,
breakingthemintomoremanageablepieces.Wecanthenre-estimateandreprioritizethe
smallerstories.Thereareonlyabouttwentyofthem,soitshouldn’ttaketoolong.
Twohourslater,GordonandLynnesatbackintheirchairsandstaredatthewall.The
lastofthestakeholdershadjustleftandtheywerefinallyalone.
“Well,Ipromisedyouanestimated,prioritizedbacklog,”saidLynne,smiling.“What
doyouthink?”
“Ican’tbelievehowwellitworked!”saidGordon.“Everyonefeelslikethey’vehada
say,Ionlyhaveafewoutstandingissuestodiscuss,andwe’rereadytogetstartedwith
ourfirstsprint.Ifeelliketheweightoftheworldisoffmyshoulders.HowcanIthank
you?”
“Don’tthankme,”saidLynne.“Thankthewall.Thereallybigwall.”
TheModel
Workingonbigbacklogscanbechallenging.There’sjustsomuchtokeeptrackof!And
whenthebacklogisraw(notestimatedandprioritized),itcanbehardtoknowwhereto
begin.WhilePlanningPokerisafantastictoolforestimatinguserstories,it’sdifficultto
imaginetacklingapileofhundredsofstories,oneatatime.That’sexactlywhatGordon
wasfacinginthestory.Hewasoverwhelmedbythesheersizeoftheeffort.
Lynne’ssuggestion,andmyproposal,istouseatechniqueIcallTheBigWall.It’s
similartoLowellLindstrom’sAffinityEstimation[MAR],whichIwasintroducedtoin
2008,withonedistinctdifference:TheBigWalltechniqueallowsyoutoconsiderboth
sizeandpriority.
TheBigWallisaquickandeffectiveestimationandprioritizationtechniquethat
enablesteamsto,atleastinitially,riseabovediscussionsoftwoversusthreeandfive
versuseightandjustgroupitemsinapurelyrelativemanneralongacontinuum.Itenables
stakeholderstoassignageneralprioritizationtoalargegroupofstorieswithoutgetting
hunguponwhetheronestoryisslightlymoreimportantthananother.Theonlytoolsyou
needareastackofuserstoriesfromtheproductowner,sometapeandmarkers,andabig
emptywall,about14feetlongby8to10feethigh.Thenyouneedtogatheryour
stakeholdersandteamandplantospendadayorsogettingphysicallyinvolvedwiththe
stories.
Widthisreservedforsize.Storiesontheleftaresmallerandstoriesontherightare
bigger(orifyou’rein,say,Japan,youcanreversethisandmovefromrighttoleftifit
seemsmorelogical).Teammembersshouldaskthemselveswhere,relativetotheother
stories,doeseachonefit?Onceallofthestoriesareonthewall,they’llworktogetherto
addabitmorespecificity,dividingthestoriesintovariouspointgroupsusingverticallines
oftape.
Heightisreservedforpriority.Storiesatthetoparehigherpriority;storiesatthebottom
arelowerpriority.Afterthestoriesareestimated,thestakeholdersdeterminetherelative
priorityofthestoriesbyplacingthemhigherorloweronthewall.Astory’sprioritycan
bebasedonreturnoninvestment,businessvalue,orsomethingasvagueas“it’sjust
importantandIdon’tknowwhy.”
Ifyoualreadyhaveanestimatedbacklog,justdotheprioritizationportionofthis
exercise.Iftheproductownersandstakeholdershavealreadygivenyouaprioritized
backlog,justdotheestimationportion.Yourproductownerwilllikelywanttorevisitthe
prioritizationaftertheestimatesaredone.Afterall,costhasabigimpactonpriority.If
youareliketheteaminthischapter’sstory,youcandobothpartsoftheexercise.The
nextsectionsexaminehowthisexerciseplaysout,beginningwiththeteam’srole.
Team
Givenarawproductbacklog,youshouldstartwithestimation.Onewaytoperform
estimationistoemulatetheteaminthischapter’sstoryandstartwithablankslate.
Instructtheteamthatthefarleftofthewallshouldholdthesmalleststories,andthefar
rightshouldcontainthebiggeststories,withoutregardtonumbers.Theteamputsstories
somewhereonthewallbasedonthosetwopoles.Theadvantagetodoingitthiswayis
thatthereisnopreconceivednotionofwhatatwo-orthree-pointstoryis;it’struly
relativebasedonhowbigthewallis,whichiswhyit’snicetohaveareallybigwall.
Theteammembersmightfeelmorecomfortableiftheygivemorestructuretothewall.
Theycandosobyidentifyingreferencestories.Asktheteamtoidentifysomereference
stories:arepresentativeone-point,two-point,three-point,five-point,eight-point,and
thirteen-pointstory.Don’tworryaboutcreatingabiggerreferencestory;anythingbigger
willusuallybebrokendownasitrisesinpriority.Findingreferencestoriesshouldtake
lessthananhour.
Oncetheteamhasidentifiedthefivereferencestories,placethosestoriesonthewallin
thelocationsthatreflecttheirsizes—smallertolarger,movingfromlefttoright.Leave
someroomontherightsideofthewallforstoriesbiggerthaneight.Askteammembersto
taketheremainingstoriesandcomparethemtothesizeofthereferencestories,andthen
placethemintheappropriateareaonthewall.Forinstance,ifastoryseemstobeabit
smallerthanafivebutmuchbiggerthanathree,putitjusttotheleftofthefive-point
referencestory.Ifitseemsbiggerthanafivebutmuchsmallerthananeight,putitjustto
therightofthefive-pointreferencestoryandleftoftheeight-pointreferencestory.The
closerinsizeitistothereferencestory,thecloseritshouldbeplacedtothereference
story.Thereisnorealsciencetothis,it’sjusttheteamlookingandsaying,“Thisismore
thanatwo,butit’snotathree,soitbelongsinthemiddle.”Thatisgoodenough.
Whicheverwayyouchoosetogetthere,onceyou’veplacedthestoriesonthewall,
discusswiththeteamwherethelogicalbreaksarebetweenstorysizes.AsLynneand
Gordondointhestory,putalineoftapewheretheteamdeterminesthestoriesseparate
intopointgroups.
Atthispoint,you’llhaveawallthatlookssomethinglikeFigure29-1.Note,however,
thatyoumighthavemoreverticalsections,dependingonthenumberofstory-point
categoriesyou’veidentified.Nowthatyou’veestimatedyourstoriesintermsofsize,the
stakeholders,withyourassistance,willneedtoplacethestoriesinpriorityorder.
FIGURE29-1Storiesarrangedbysize
Stakeholders
Yourcustomersandstakeholderswilllookatthestoriesdifferentlythantheteamdid.
They’renotasinterestedinhowmanypointsastoryhas.Theyaremostinterestedin
findingthestoriesthatrelatetothemandmakingsurethosestoriesgetdone.Thismayput
thestakeholdersinconflictwithoneanother.Thisisokay—infact,it’sidealbecauseit
reflectsrealityandhelpstheproductownermaketoughdecisionsaboutstoryordering.
ThefirstthingIdoisexplaintothestakeholderswhywearehereandwhatwewantto
accomplish.Thislittlespeechgoessomethinglikethis:“Ihavemetwitheachofyouand
havecreatedasetofstoriesthatreflectyourwantsandneeds.Theteamhasspentthe
morninggroupingtheseintorelativesizes,whichgivesyousomeideaoftherelativecost
ofeachstory.Thestoriestotheleftaresmallest(andcheapest).Thestoriestotherightare
thelargest(andmostexpensive).WhatI’dlikeyoutohelpmedoisdeterminetherelative
priorityofallthesestories.I’mgoingtoaskyoutomovethesestoriesupordowninside
thetapedlines.Thehigherupastoryisonthewall,thehigheritsprioritytothebusiness.
Ifyouplaceastoryatthetop,Iwillaskyouforjustificationastowhyit’supthere.You
mayalsoaskeachotherwhyonestoryismoreimportantthantheother.Intheend,we’ll
knowhowallthestoriesrelateandhaveanideaofwhatfunctionalitywe’llhaveearlyin
theprojectandwhatfunctionalitywillhappenlater.Theteamwillobserveandmayask
questionstohelpthembetterunderstandastory.”
Remindthestakeholdersthatiftheymoveastoryloweronthewallthansomeoneelse
did,theyneedtomarkitwithayellowdot.Thisalertseveryonethatthegroupmightneed
tohaveaconversationaboutthestory’struepriority.Ialsoencourage/expectpeopleto
ask,“Whomovedthisonedownorup?”Ortosayaloud,“Ithinkthisoneneedstomove.
Whowantstodisagree?”Thisenablesaconversationtohappenbetweentheinterested
partieswithoutfacilitation.Ifadiscussiongoesontoolongwithoutresolution,the
facilitator(usuallytheproductowner),shouldcollectthecard,notethetwostakeholders
whocannotagree,andmakeanotetomeetwiththemprivatelylater.
Althoughtheteamisintheroomforthisexercise,theyarenotactiveparticipants.They
areobservers,takingnotesonthebehavior,theinteractions,andthereasonsthatcertain
storiesarerisingorfallinginpriority.Theycanalsoansweranystakeholderquestions,if
needed.Iftherearestoriesthattheteamcouldn’tsizewithconfidencebecausethose
storiesrequiredanswersfromaparticularstakeholder,theteamcanalsoaskquestions
aboutthosestories,astimeallows.
Thegoalofprioritizingasagroupistohelpallstakeholdersunderstandtherelative
prioritiesofvariousstoriesandhowtheothersviewthemaswell.Theexerciseshould
takebetweentwoandsixhours,dependingonthenumberofstoriesandthenumberof
stakeholders.TheendresultshouldlooksimilartothepictureshowninFigure29-2.
FIGURE29-2Prioritizedandestimatedbacklogonthewall
Whenallofthesizingandprioritizationisdone,usetapeorstringtodividethewall
visuallyintofourquadrants,asshowninFigure29-3.
FIGURE29-3Thefourquadrants
Thestoriesinthetop-leftquadrantarehighpriorityandsmall.Thesestorieswillendup
inthetopoftheproductbacklog.Thestoriesinthetop-rightarehighpriorityandlarge.
Youshouldbreakmostofthosedownintosmallerstoriesbecausethey’llbecomingupin
thefirstseveralsprints.Asthestoriesarebrokendown,youmayfindthatsomearehigher
prioritythanothersandthatafewmightevenmovetoadifferentquadrant.Thisshiftis
expectedandnormal.
Thebottomquadrantsarelessurgent.Thelower-leftquadrantismadeupofsmall
storiesthatarelowerinpriority.Thelower-rightquadrantisfilledwithlargestoriesthat
arelowerinpriority.Thesestoriesaretypicallyyourepicsorthemes.They’lleventually
needtobebrokendownintosmaller,moremanageablestories,butnotuntiltheyrisein
priority.
Leavesometimetoreexaminethewallasawhole.Ifstoriesareinthewrongquadrant,
movethem.Ifafewstoriesneedtobebrokendown,trytodoitwitheveryoneinthe
room.Rememberthatthisexerciseisjustafirststepindevelopingthepriorityorderingof
thebacklog.Itcanandwillchange.What’simportantistoestablishtheinitialorderand
thenallowtheknowledgeyougainthroughsprintsandfeedbacktoinfluenceandalterthe
orderasneeded.
Bythetimeyou’refinished,thestakeholderswillbeabletoseethestartofarelease
plan.Ifyouknowtheteam’shistoricalvelocity,youcanevengivethemaroughrangeof
whichstoriesintheupper-leftquadrantwillbefinishedandbywhen(seeChapter4,
“PredictingTeamVelocity,”andChapter11,“ReleasePlanning”).
Don’tbeoverwhelmedbyarawproductbacklog.Youcanestimateandprioritizeeven
themostout-of-controlproductbacklogfairlyquicklyifyouhavetherightpeople,alotof
inkandpaper,sometape,alittletime,andareallybigwall.
KeystoSuccess
Usingabigwallseemslikeafairlyeasytechnique,anditis,butitdoeshavesome
drawbacks.Topullthisexerciseoffsuccessfully,youneedtoconsiderandbepreparedfor
preplanning,settingtimelimits,parkingunresolvedissues,creatinganddestroyinguser
storiesonthefly,andremindingeveryonethatnothingissetinstone.
PreplanningIsEssential
Noonelikestobesurprisedbyameeting’sagenda.Ifyourstakeholderswalkintoaroom
unpreparedforawallfullofindexcards,theymightjustturnandwalkrightbackout
again.Whenyou’rewritingthemeetinginvitation,explainthatitisaworkshopofsorts.
Takethetimetocommunicatethepurposeandinteractivenatureofthemeeting,the
desiredoutcome,anynecessarypre-work,thescheduledbreaks,andthegeneralrules.A
littlepreparationgoesalongwaytowardminimizingtheamountofhandholdingneeded
duringthemeetingandensuresthatallparticipantscometotheworkshoppreparedfor
whatthey’llencounterthere.
FocusDiscussionsandSetTimeLimits
Oncetheygetstarted,peoplelovetotalk.Whenestimating,developerscangooffintothe
weeds,discussingthemeritsofthisortheotherapproach.Whenprioritizing,stakeholders
canspend30minutesarguingoverwhyaparticularstoryisofmorevaluethananother,
especiallywhentheyarepoliticallymotivated.Yourjobistonoticethesetangentsand
redirecttheconversationtothetopicathand.
Whenteammembersgetstuckonimplementationorarchitecturalissues,bringthe
focusbacktotherelativesizeofthestory.Remindthemthatyou’relookingforarelative
size.Ifastoryistoobigortooconfusingtoestimate,theyshouldgiveitthelargestvalue
availabletothem,whichisappropriateforstoriesthatneedtobebrokendownor
discussedpriortobeingworkedon.
Whenstakeholdersstartdebatingmarketingstrategiesorcustomersatisfactiongoals,
remindthemtoconsidertheproductasawhole.Itmighthelptostructurethediscussionin
termsoftheminimalmarketablefeaturesets—theminimumamountoffunctionalitythat
anenduserneeds—forspecific(requested)deliverywindows(asintroducedinChapter
26,“Up-FrontProjectCosting”).ConsideraswelltheMMR,orminimalmarketable
release[ANDERSON].Theminimalmarketablerelease,asidentifiedbyAnderson,is“a
setoffeaturesthatarecoherentasasettothecustomerandusefulenoughtojustifythe
costsofdelivery.”
Don’tlethealthydebateturnintoatime-eatingtangent.Keeppeopletalking,butmake
surethey’restillfocusedonthetaskathandandthattheirconversationsaremovingthe
processforward,notstallingitunnecessarily.Ifallelsefails,useaneggtimer(notaphone
becauseitwillcausedistractionsforcheckingemail/texts/orplayingSimCityinsteadof
watchingtheparticipants).
UseaParkingLotforUnresolvableDisagreements
Aparkinglotisaplacetoputstorieswhenthediscussionsseemtobeendlessand
unsolvable.Afterall,it’snotthatthediscussionsorargumentsarebad;mostofthemare
valid.Theproblemisthatpeoplehaveahardtimeleavingtheargumenttofocusonthe
largerbacklogorbiggerpicture.Whenthishappens,Iliketoputcontentious
discussions/storiesintheparkinglottorevisitlater.Aparkinglotistypicallyrepresented
byaflipchartorsmallsectionofawhiteboardthatisdesignated“ParkingLot.”Itisa
temporaryplacetostoreindexcardsorwritetopicsthatneedtobeparkedfornowand
pickeduplater.Useitanytimeaprocessbogsdownoveranargumentoroff-topic
discussion.
Iftheteamissimplyunabletosay“it’salittlebigger”or“it’salittlesmaller,”andits
membersreallyneedtimetogointotheweeds,parkthestorybyphysicallyrelocatingthe
indexcard.Ifthestakeholdersneedtositdownwithyoutoreallydigintotherelative
priorityoftwostories,parkthosestoriesaswell.Ifatopiccomesupthatisinterestingbut
doesn’tmoveprioritizationforward,parkitandmoveon.
Thestoriesandideasintheparkinglotcanbehandledattheendofthemeetingoreven
afterthemeetinghasbeencompleted.Afewunresolvedstoriesshouldnotdistractfrom
thehugepileofunsortedstories.
BringExtraCards/PaperforStoriesCreatedintheRoom
Bringingsufficientsuppliesmightseemlikeano-brainer,butwhenyou’refocusedonthe
bigpicture,youtendtoforgetthelittlethings—extracards,pens,stickynotes,andpaper.
Understandthatyou’regoingtoberippingupstoriesandwritingnewonesduringthis
exercise,somakesureyouhavetheextrasuppliesneededtodojustthat.
Aboveall,makesurepeopleknowthatit’sokaytojustdisposeofastoryifitneedsto
berewrittenorbrokendown,duplicatesanother,orthegroupdecidesitjustdoesn’tneed
tohappen.Storiesaren’tgold.They’reideasonpaper.Thegroupshouldfeelfreeto
destroysomeandaddothers.
TheBigWallwithRemote/DistributedTeams
TheBigWalltechniqueisnotlostondistributedteams.Ithasbeenturnedintoanonline
InnovationGame®andcanbeaccessedathttp://www.innovationgames.com/mitch-lacey-
team-prioritization/.
RemindEveryoneThatThingsWillChange
Remember,astory’ssizeorpriorityisnotalife-or-deathdecisionandnothingiscarvedin
stone.Storiesmightberesizedandprioritiesmightshift.Theproductbacklogisaliving
documentthatmustbegroomedeachsprint.Initialestimatesandprioritiesareimportant
tocapture,buttheyareonlystartingpoints.Iftheteamandstakeholdersgethungup,
remindthemofthiscrucialfact:Thisisapreliminaryestimate(orpriority).Wecanrevisit
itlateraswelearnmoreandastheproductdevelops.
Theworkloominginsidealarge,rawbacklogdoesn’tneedtoweighyoudown.Witha
littlecooperationfromtheteammembersandstakeholders,awholelotofpatience,anda
wallbigenoughtoholdallofthestories,youcanbringthatbacklogdowntosizeinjust
oneday.
References
[ANDERSON]Anderson,DavidJ.2010.Kanban.Sequim,WA:BlueHolePress,p.152.
[MAR]Mar,Kane.2008.“ScrumTrainersGathering(4/4):AffinityEstimating.”
Personalwebsite.http://kanemar.com/2008/04/21/scrum-trainers-gathering-44-affinity-
estimating/(accessed4April2015).
Chapter30.WritingContracts
Everyoneknowsthestandardcontractingmodel—customerswanttoseeinwritingwhat
they’llget,atwhatcost,andbywhatdate.ButhowdocontractsworkwithaScrum
deliverymodel?Afterall,Scrumteamsdeliberatelyavoidfixedscope,cost,anddate
contracts,preferringtofixonlyoneofthoseelementsandleavetheothersvariable.So
howcanScrumteamsworkwithclientswhoexpecttohaveallthreeelementsfixedina
contract?Inthefollowingstory,twocolleaguesfaceacustomerwhohasbeenburnedby
fixed-everythingcontractsinthepast,andtheyproposeapay-as-you-gosolutiontoearn
thatcustomer’sbusiness.
TheStory
JulioworkedforalargeconsultingcompanybasedinLosAngeles.Julio,astheaccount
manager,helpedprocurebusinessandwritecontractsbutwasnotthatexperiencedin
Scrum.Onenightatadinnerparty,Juliometandchattedwithapotentialnewclient
namedRichard.HediscoveredthatRichard,adirectorofalargetalentagency,wasdeeply
dissatisfiedwithhiscurrentbookingsoftwarebutwasleeryofpayingforyetanother
systemthatdidn’tmeethisneeds.
“Julio,”Richardsaid,“I’msureyou’vegotagreatshop.Butyoucan’tguaranteeme
thatIwon’tbewastingmymoney.EveryonesaystheyknowwhatIneed.Butintheend,I
spendasmallfortuneforsoftwarethatisn’tright.We’rejustgoingtolivewithwhat
we’vegot.”
“Iknowwhatyou’retalkingabout,andIknowhowfrustratingitistopayfor
somethingthatdoesn’tworkthewayyouwantitto.Wedothingsdifferently.Whatwe
candoisdeliverasmallportionofyoursystematatime,andofferyoutheopportunityto
payonlyforthesoftwareyouaccept.Becauseyou’repayingasyougo,yourriskis
minimal.CanwemeetatyourofficenextweeksomycolleagueandIcanexplainwhat
weofferthatothersdon’t?”askedJulio.
Richardagreedtothemeeting.Thenextday,Juliospoketohiscolleague,Rob.Robhad
manyyearsofexperiencerunningScrumprojectsandhelpeddelivertheworkJulio
broughtin.
“IthinkIknowhowwecanapproachthis,”saidRob.“I’vejustfinishedworkingwitha
cruisecompanyinLongBeachonabookingwebsite.They,likeRichard,hadbeenburned
beforeandwereprettyskepticalthatwecoulddeliverwhatwepromised.Wewereableto
delivernewfunctionalityeverytwoweeks.Aftereverydelivery,theclientsreviewedthe
workinprogressandhadtheopportunitytoadjustwhatwedevelopednextbasedonthe
newestfeaturesontheircompetitor’swebsite.Theywereextremelyhappy.”
“That’swhatI’vetoldRichard,”saidJulio.“Wecangivehimimmediateresults.I’d
likeyoutogowithmetomeethimandhelpexplainhowScrumworks.We’lltellhim
abouthowwithScrumwecandelivertwiceasfastforhalfthecostasanyoneelse.This
willreallyhelphimsolvehisproblems,”explainedJulio.
“Whoa!Holdup!”exclaimedRob.“Wecan’ttellRichardthatScrumisgoingtosolve
allhisproblemsbecauseitisn’ttrue.Scrumisaframeworkthathelpsusdeliverworking
softwaretoourclients,sure,butitisn’tsomemagicpixiedustthatcanbesprinkledon
yourproblems.Ifanything,ithighlightsproblemsfasterandforcespeopletofixthem—
that’sthebeauty.”
“Idon’tthinkIcansellRichardonhowwe’regoingtocomeinandexposehis
problems!He’sstressedoutenoughasitis,”repliedJulio.
“That’snotwhatImeanbyhighlightsproblems.Forexample,Iwasabletoshowour
managementhowhavingpeoplesplitacrossmultipleprojectswaswastingresourcesand
loweringquality.Asaresult,Igotadedicatedteam—andourqualityandproductivityare
improving.WeneedtobringthissamesortofawarenesstoRichard.However,tosay
Scrummakesthingslikethishappenisavastoversimplification.Atthesalescall,letme
clarifyhowScrumworksandyoujustclosethedeal,”saidRob.
“Okay.Iseeyourpoint.I’llletyouexplainhowwewillrunthisprojectusingScrum.If
Icangethimtocommit,Imightneedyoutohelpmeputtogetheracontractthatwill
assureRichardhe’llactuallybegettingsomethingforhismoneywhilegivingussome
reassurances,too.”
Thedayofthemeetingarrived.Aftertheinitialpleasantries,Richardgotrighttothe
point.“Let’scuttothechase.Whatcanyoudothatthislistofothervendorshasfailedto
do?”askedRichard,pointingtoawhiteboardwherehehadwrittenthenamesofthepast
consultingcompanieshehadworkedwith.
Robjumpedrightin.“Wecangiveyouthefreedomtochangeyourmindwithout
chargingyouafortune.”
“How’sthat?”askedRichard.
“Iworkedforoneoftheconsultingcompaniesonyourwallforacoupleofyears.Ileft
becauseInoticedthatwealwaysfailedtomentiononekeycomponentintheproject:It’s
software—thingschange!Andcontractsshouldallowforthatchange.Instead,most
contractsdotheopposite.Mostcompaniesbidthelowestpossiblepriceandthenchargea
fortuneforeverychange.Thesearesoftwarecompanies.Theyknowthatchangeis
inevitable.Infact,theycountontheircustomerschangingtheirminds(andtheresulting
scopechangesandchangeorders)tomakeadditionalmoneybeyondtheoriginalcontract
price.Butyouarenotasoftwarecompany;you’reatalentagency.Youexpecttopay
somethingclosetothecontractpriceforsoftwarethatworksthewayyouwantitto.
Instead,youenduppayingalotmorethanyouthoughtyouweregoingto,andyou’retold
it’syourfaultbecauseyou’retheonewhoaskedforallthechanges.”
“You’vehitthenailonthehead.So,howareyoudifferent?”askedRichard.
“You’vegotabunchofsoftwarethatdoesn’tworkthewayyouenvisioned,right?”
askedRob.
“Right.”
“Inthepast,atthebeginningofeachproject,youdescribedhowyourcurrentsystem
wasnotworking,talkedaboutafewthingsyouwantedinstead,andansweredawhole
bunchofquestions.Thenthecompaniesonthiswallwentaway,didsomesoftwaremagic,
anddeliveredyouabrandnewsystemseveralmonthslater.Isthatprettyaccurate?”
“Yep,”Richardanswered.
“Andonceyoustartedusingthesystem,itdidn’tdowhatyouneededinthissection,
didn’tworklikeyouhadpicturedinthisplace,andjustdidn’tmeasureupoverall.You
paidforsomecostlychangestotrytofixit,butintheendwhatyougotwasaclunky,
buggysystemthatresembledwhatyouaskedforbutisnothinglikewhatyouwanted,or
meant.”
“Exactly.Everytime,oncewesawtheendresult,weknewitwasn’tquiterightand
couldthendescribewhatweneededinstead.Butwewereoutofbudgetandfranklyoutof
patience,”Richardexplained.
“You’renotalone.Peopleknowwhattheywantwhentheyseeit—butit’sdifficultto
describeandevenmoredifficulttothinkofalltheangles.”
Richardnoddedinagreement.
Robcontinued,“OneofourcustomersisabigcruisecompanyinLongBeach.
Everyonethereknewthecurrentbookingsystemwasnotworking,butnoonecouldagree
onwhatexactlyneededtobebuiltoreventheproblemsthesolutionwassupposedto
solve.Itwasabigmess.Wecouldhavetakenamoretraditionalapproachtobuildingthe
system,whichIthinkyou’refamiliarwith,Richard.”
“Oh,youmeanmepayingandthevendornotdelivering?I’mveryfamiliarwiththat
model,”saidRichard.
Juliolaughedandinterjected,“Whatwedidinsteadwaswriteatwo-stagecontract.The
firststageissimilartoatraditionaldiscoveryphaseinaproject.Thesecondisapay-as-
you-godevelopmentplan,withdeliverieseverytwoweeks.”
“Whatdoyoudointhediscoveryphase,andhowlongdoesitlast?”askedRichard.
“It’safixed-costphasethatlastsabouttwoweeks,”answeredJulio.
Robexplained,“Duringdiscovery,Iwillcometoyoursitefortwoweeks.I’llbring
withmetwopeoplefromtheteamwhowilldotheworkforthesecondphase—ifweget
thework,thatis.Duringthattime,thethreeofuswillintervieweveryonewithanysayin
howthesoftwareshouldwork:users,stakeholders,accounting,younameit.”
“Accounting?Whyintheworldwouldyouneedtointerviewthemforanengagement
bookingtool?”askedRichard.
“Theyholdthemoneyandwanttoforecastrevenueonfutureengagements,”explained
Julio.“Thatmakesthemastakeholder.Wealsoneedtounderstandtheirexpectationswith
regardtocapitalexpenditureandtheirimpressionofITshops.”
“Interesting,”ponderedRichard,scratchinghischin.
“Oncewe’vemetwithalltheinvestedparties,we’lldevelopasetofuserpersonasand
usethattobuildaproductbacklogwithuserstories.Thelastthingwedobeforetheendof
thefirstphaseisestimatetheproductbacklog,”saidRob.
“Backup,”saidRichard.“Userpersonas?Userstories?Productbacklogs?Idon’tknow
whatthesethingsare.”
RobandJuliospentsometimeexplainingtheseconcepts,thebasicScrumartifacts,and
theconceptofagileestimation.Afterawhile,Richardcouldseetheconnectionbetween
endcustomervalueandstories,andhowtheychangebasedontheemergingfunctionality
ofthesystem.
“So,”concludedRob,“attheendofthediscoveryphase,we’llgiveyouanestimated
productbacklogandapotentialreleaseplan.Theplanwillbebasedonhowmuchwork
theteamwilllikelydelivereachsprint,atacertaindegreeofconfidence,and,ofcourse,
theinformationyouhavegivenustodate.We’llofferyoutheabilitytochangeyourmind
withoutpenalty,aslongasyouswapitemsofequalsize.You’llhavetheestimatedcostof
thefunctionalityandadetailedplanforwhatwebelievewecandeliver.”
“Whathappensattheendofthatdiscoveryphase?IstherearequirementthatIuseyour
companyforphasetwoifIdon’tlikewhatIsee?”askedRichard.
“Absolutelynot,”answeredJulio.“Ourjobinthefirstphaseistobuildabacklogwith
userpersonasandstories.Thatisthedeliverable,alongwithourreleaseplan.Youcan
takethatbacklogtoanumberofothervendorstogettheirbidsifyoulike.Atthatpoint,
wearesimplyanothercompanycompetingforyourbusiness.Youmayfindourcoststo
bealittlehigherupfront,butwedon’tgougeyouforchangesintheend.”
“Whathappensifyou’regreatatmakingaplanbutnotsogoodatfollowingthrough?
WhatifIchooseyoutobuildtheproductandyoudon’tdeliver?”askedRichard.
“Ithinkthisisthebestpart,”explainedJulio.“Thecontractwillsaythatifyouarenot
happywiththequalityofwhatwebuild,yougiveusonesprint’snoticeandwearedone.
Itwillalsosaythatifatanytimeyoudecideyouhaveenoughfunctionality,yougiveus
onesprint’snoticeforustoclosetheprojectdown.It’strulyapay-as-you-goplan.Oh!
Onemorething.Ifyoudonotacceptthework,meaningyoudon’tagreethatwhatwe
builtinthesprintwaswhatyouaskedfor,youdon’thavetopayforthatsprint.”
“So,whatstopsmefromsayingIdon’taccepttheworkandgettingitalldoneforfree?”
askedRichard.
“Trust,”saidJulio.“It’sassimpleandascomplicatedasthat.You’llgointophasetwo
knowingthatweareworkinginyourbestinterests—we’veworkedtounderstandyour
businessandaretheretohelpyousucceed.Wewantlong-termpartners,notone-off
customers.Wemaynothavethelargestcustomerbase,butwehavethemostloyal.Weare
strategicaboutwhowehireandthecustomerswetakeon.Ifpotentialcustomersdonot
aligntoourcompanyvalues,wereferthemtoalargerconsultingshop.It’sthatimportant
tous.”
Intheend,RobandJuliowereabletoworkwithRichardtostructureacontractthathe
wasconfidentinandtheycouldalltrust.
TheModel
Customerswantmaximumfunctionalityandqualityatthelowestpossiblecostandinthe
shortestpossibletime.What’sworseisthattheyexpectITprofessionalstoguaranteeall
thesefactors,with100percentconfidenceatthebeginningoftheproject.Whocanblame
them?LikeRichardinthischapter’sstory,customershavebeenburnedtoomanytimesby
failedprojects,costoverruns,missingfunctionality,andbug-riddencode.
Sowhycan’tteamsdeliverwhattheypromise?Tworeasons:changeandtiming.
Beforegettingintowritingcontractstosupportagileprojects,itwillhelptounderstand,
andcomecleanabout,howalotoftraditionalcontractsarewritten.I’vebeenguiltyinthe
pastofdoingwhatI’vewritteninthefollowingsection,“TraditionalContractsand
ChangeOrders,”andI’veseenthisrepeatedhundredsoftimes.
TraditionalContractsandChangeOrders
CustomersarenodifferentthanyouandI.Peoplewanttoknowwhattheyaregettingfor
theirmoneyandwhenitwillbedelivered.Becauseofthis,Iseemosttraditionalcontracts
startinglikethis:
1.Companies/customerspublishorsendarequestforaproposal.ThisRFPlistsallthe
features/workthatthecustomerdesires.Inmostcases,theworkwillnotbein
priorityorder—itallneedstobedone.
2.Thereisashortquestion-and-answerwindowwhereyou,thecontractor,canask
detailedquestions,fleshoutassumptions,andattempttodiscoverthebudget.Asyou
workonyourproposal,youwillnaturallytrytofityouroverallprojectcostintothe
customer’sbudgetrange—ifyoudon’tknowtherange,you’llmakeyourbestguess.
3.Yourfinalproposalwillcomeinascloseaspossibletothelowerendofthebudget
(or,ifyoudon’tknowthebudget,lowerthanwhatyouthinkyourcompetitors
wouldsubmit)andwillincludeeverythingthecustomersthinktheywant.Youdo
thissothatyoucanwinthebusiness.Figure30-1depictsanactualcustomer
contract—imaginetryingtoreadit,letaloneunderstandit.
4.Yourproposalmightincludeyourchange-orderprocess.Itshould,asit’sakey
componentofhowyou’llhandlechangeswhentheysurface.Youknowgoinginthat
changeordersmightbetheonlywaytobreakevenormakemoneyoffthelowbid
youofferedtosecurethebusiness.Why?Becauseeveryoneknowsthatthere’sno
waytouncoveralltheassumptionsandfigureoutwhatthecustomerreallymeantto
askforinthesmall,pre-executionRFPwindow.Thingsaregoingtochange.
Now,changeorderprocessesareinterestingbeasts.Theyareabsolutelynecessaryona
traditionalcontract,yetthemereactofhavingtoaskforchangesandgoingthrougha
complicatedprocesswillfrustratecustomersand,overtime,degradetrust.
FIGURE30-1Thistraditionalcontractweighedmorethan100pounds/50kilos.
Whyusechangeordersiftheydegradethetrustofyourcustomers?Becausewithout
them,mostsoftwarecompanieswouldgooutofbusiness.OnoneprojectIran,for
example,thestatementofworkwas“loose”becauseofthesheersizeofthesystem.We
hadspentsixmonthstryingtotightenupthestatementofwork,butthesystemwasso
immense,itwasimpossibletocaptureeverythingitwoulddo.Eventually,theaccount
managergaveuptryingtonaildownallthedetailsandtoldustojustcompletethe
statementofworkasis.Bythetimetheprojectranoutofbudget,thecustomersaidthey
neededsignificantchangesforittobeaccepted,eventhoughitmetthelooserequirements
laidoutinthestatementofwork.Asaresult,ourcompanydidacouplehundredthousand
dollars’worthofworkforfree.BelievemewhenIsaythatournextcontractincludeda
detailedchangeorderprocess.
Ifvendorsagreetomakeallchangesforfree,thesheervolumeofchangesislikedeath
byathousandcuts.Bytheendoftheproject,allthosesmallchangeswilladduptoa
staggeringcostthatthevendorhastoeat.Toprotectagainstthat,vendorswhowantto
stayinbusinessdevelopagoodchangeorderprocessandsticktoit.
Agoodchangeorderprocessisgoingtobefairlylengthyandverydetailed.For
example,theWashingtonStateDepartmentofTransportationConstructionChangeOrder
ProcessGuideis80pages[WSDOT].Itisaverywell-thought-outdocumentthatclearly
illustrateshowtheprocessworksandhowtodoit.Whyisthestatesometiculousabout
itschangeorderprocess?Toprotectitsinterests.AuthorDaveNielsenwroteanarticle,
“HowtoControlChangeRequests”[NIELSEN],inwhichhedescribesseveraldetailed
waystohandlechangerequests.ThepointI’mtryingtomakeisthatagoodchangeorder
processwilllikelybelargeanddetailed.Tryingtohandlechangesmoreinformallyona
traditionalprojectisarecipefordisaster.
Considerthissimpleexample:makingcookies.Mywife,Bernice,asksthekidsandme
whatwewantfordessert.We’reonourwayoutthedoor,soweyellback,“Cookies!”
Bernicecallsout,“Whatkind?”
Oneofthekidsrespondswith,“Thekindwithsugar.”(Sheisatotalsugarfreakand
doesn’twantanyhealthy-typefood.)
Nowmywifeisconfused.We’vejustleftthehouseandmymobileisoff.Sheknows
ourfavoritecookieischocolatechip,butweseemedtohavejustaskedherforsugar
cookies.So,aimingtoplease,andassumingwemustbeboredwiththeoldstandby,my
wifebakesthesugarcookies,completewithsprinkles.Wereturntofindthemcoolingon
thecounter.
“Yuck,”complainthekids.“Whatarethese?”
“Sugarcookies,likeyouaskedfor,”answersBernice,perplexedandfeelingabit
unappreciated.
“Wedidn’taskforsugarcookies,”whinethekids.“Wejustmeantwewantedthe
chocolatechipthatyoumakewithsugar—notthehealthykindyoumakewithapplesauce.
Youshouldhaveknownthat’swhatwewanted.”
“Well,sugarcookiesiswhatIheardyousay,sothat’swhatImade,”statesmy
frustratedwife.“IfImakemore,it’llcostyou.”Andoffwego.
Thefailureherewaspoorcommunicationbetweenthecustomers(thekidsandme)and
theteam(mywife).Thekidsthoughtthatwhentheysaid“thekindwithsugar”for
cookies,Bernicewouldunderstandthatwemeantchocolatechipmadewithsugar,as
opposedtothekindshemakesusingapplesauceasasweetener.Butwhatsheheardusask
forwassugarcookies.Withnofurtherwaytoclarifyourneeds,Bernicedidthebestshe
couldandmadesugarcookies.Thekidsweredisappointed.Shewasfrustrated.Noone
gottheresulttheywanted.
Intheworldofsoftware,peopledon’thaverelationshipslikefamiliesdo—trustis
fragileandeasilybroken.Buildingthewrongthingforcustomerserodestheirtrustin
softwarecompanies.WashingtonStateDOTandNielsendon’tlovehugeprocesses,but
theyimplementthesecomplicatedchangeordersinanattempttoimprovecommunication
andtogetitright.Plus,iftheydogetitwrong,theycanprovethattheyfollowedthe
agreed-uponprocessandthatwhattheybuiltaccuratelyreflectstheapprovedchange
order.
IneveryinstancethatIcanthinkof,changeordersarenecessaryontraditionalprojects.
Andlarge,detailedchangeordersarethebestwaytoensuresomesortofaccuracyand
accountability.Yet,nomatterhowgoodyourchangeordersystemis,youwillstilllose
trustwithyourcustomersassoonastheygothroughtheprocess.Intheirminds,you
shouldhaveunderstoodtheirrequesttobeginwith.(Likemykidsexpectedtheirmotherto
understandtheymeantchocolatechipcookies,yourcustomersfeelthatyoushould
understandtheirrequestsbecause,tothem,theyareclearandeasytofollow.)Instead,
yourcustomershavetospendtimere-explainingwhattheywantthroughalengthychange
order,it’scostingthemmoremoney,andthereleasedateislikelytoslip.Worseyet,the
finalproductstillmaynotbeexactlywhattheyenvisioned,evenaftergoingthroughthe
process,buttheyhavetopayforitnonetheless.
Anotherreasonchangeorderprocessesdegradetrustisthatmostcompanieshave
figuredoutthattheycanbidonthelowerendofthecostscale,bettingonthefactthatthe
customerswillchangetheirminds.Achangeorderprocessisnecessaryontraditional
contractsbecausevendorsaretakingalltherisk.Thisbusinessstrategy,onethattakes
advantageofthefactthatallcustomerswillchangetheirrequirementsastheydiscover
whattheyreallywant,canleaveareallysourtasteinthecustomer’smouth,though.Take
thepictureshowninFigure30-2asanexample.
FIGURE30-2Twoboats:OriginalContractandChangeOrder
Noticethenamesoftheboatsinthepicture.ThebigoneiscalledChangeOrder;the
smalleronebehinditiscalledOriginalContract[BOAT].Fromthecustomer’s
perspective,thevendorpromisedacertainproductatacertaincost.Whatthecustomergot
wasaproductthat’skindofclosetowhattheywantedbutcostthemmuchmorethanthe
originalbidandprobablycameinbehindschedule,too.Meanwhile,thevendorissailing
offintothesunsetwithabigwadofcash.Andpeoplewonderwhytrustisaproblem!
Change,though,isn’ttheonlyreasonteamsstruggletomeetcustomerexpectationson
traditionalcontracts.Theyarealsohandicappedbytiming.
Timing
Customersaskfordates,cost,andcommitmentrightfromthestart.Thetimingofthese
requests,atthebeginning,putsboththevendorandacustomerinabadpositionfromthe
onsetofthecontract,becausethereisnowaytobeprecisethatearlyintheprocess.
Vendorsandteamsaskcustomerstospelloutpreciselywhattheywantbeforethey’re
exactlysure,whilecustomersrequirevendorstoguaranteeasetoffunctionality,ata
certaincost,andbyacertaintimebasedonasetofrequirementsbuiltonasoft
foundation.
Thefactis,vendorsjustdon’tknowenoughattheproject’sstarttomakethosekindsof
promises.Tounderstandwhythetimingissuchaproblem,considertheConeof
Uncertainty,whichBarryBoehmintroducedin1981[BOEHM]andSteveMcConnell
reintroducedin1997inhisbookSoftwareProjectSurvivalGuide[MCCONNELL].Itis
picturedinFigure30-3.
FIGURE30-3TheConeofUncertainty
Theconedemonstratesthatatthebeginningofanyproject,teamshavethemost
uncertainty,withavarianceof0.25xto4xinrange.Thismeansthatwhatateamestimates
tobeasix-monthprojectcouldactuallyenduptakinganywherefrom1.5to24months!
Yet,whenteamsareinthisstateofheighteneduncertainty,theyareforcedtowritea
contractsayingexactlywhatwillbedelivered,bywhen,andatwhatcost,withno
variance.It’snowonderpeopleendupwithhugeboats!However,veryfewprojectsstart
atthefarleftofthecone.Inacontractingsituation,thecustomerwillhavesomenotionof
theirrequirements,whichputsthemsomewherebetweentheApprovedProductDefinition
andRequirementsCompletemilestones.
Scrumprojectstrytomovefromuncertaintytocertaintyinasshortacycleaspossible.
AsexplainedinChapter1,“Scrum:Simple,NotEasy,”teamslearnasmuchaboutthe
systemandhowitshouldbedesignedasearlyaspossiblebyprovidingworkingsoftware,
sprintaftersprint,basedonemergingrequirements.Designandrequirementassumptions
areflushedoutearly,allowingteamstomovetocertaintyquickerandwithmore
confidence.
EvenScrumprojects,however,wouldbeunabletopredictondayoneexactlywhatthe
finalcost,functionality,anddeliverydatewillbe.That’swhyadifferentcontracting
modelisneeded,onebuiltforchangeanddesignedtolimitpromisesmadeinthetimeof
greatestprojectuncertaintywhilemaximizingearlylearning.
Ihavenamedthatcontractingmodelrangesandchangesanddescribeitindetailinthe
nextsection.Whilethemodelmightnotbeappropriateforallclientsandinallsituations,
itdoesworkextremelywellwithcustomerswhoareengaged,understandtheproblems
withtraditionalprojects,andareinterestedinrefiningtheproductasitisbeingdeveloped.
Ifyouhavecustomerswhoarenotengagedorarelooking“forjustthedate”or“justthe
cost,”thismodelwillnotworkforyou.
RangesandChanges
TherangesandchangesmodelwasbornfromaprojectmyteamandIbidin2007.The
resultingcontractwasjustliketheoneJulioandRobdescribedtoRichardinthestory.
TheprojectwasanoverwhelmingsuccessandprovedtomethatthecontractIhad
developedcouldworkforotherclients.Andithas.Althoughwe’vetweakeditabitover
timeandtosuitcertainsituations,mycolleaguesandIhaveusedtherangesandchanges
modelatvariouscompaniesacrossNorthAmericaandEurope.Themodelsharescertain
featureswith“MoneyforNothingandChangeforFree,”presentedbyJeffSutherlandat
theAgile2008conferenceandupdatedattheAgile2013conference[SUTHERLAND].In
fact,afterhearinghispresentation,Iadjustedmyownmodelbasedonsomeofhisideas.
Inthissection,Idescribetherangesandchangesmodelanddiscusssomekeytake-
awaysfromSutherland’spresentationaswell.Beforestructuringyourowncontract,I
recommendyoureadtheSutherlandpapertounderstandthedifferencesbetweenwhathe
proposesandthemodelIpresenthere.Afterall,themodelyouultimatelyusewilllikely
beahybrid,asyouincludeelementsfromyourcompany’sownpolicies.
Traditionalsoftwareprojectcontractscontainthingslikemilestones,thedescriptionof
work,projectgoalsandobjectives,deploymentschedules,andwarranties.Theseitems
mayliveinarangesandchangescontract,buttheygetthereinaverydifferentway.The
projectiscoveredbytwodifferentcontracts:adiscoverycontract,whichgivestheteam
theinformationitneedstowriteameaningfulcontract,andtheprojectcontract,which
includesclausestoprotectboththecustomerandalsothecontractororoutside
developmentshop.
Discoverycontract
–Ascertaintheranges
–Determinecostandtimeline
Projectcontract
Thefirstcontractcoversonlythediscoveryphase,whichhelpstheteamdeterminethe
rangesnecessarytowriteameaningfulcontract.Thesecondcontractincludesthe
parametersforexecutionandtheall-importantchangesclause.
DiscoveryContract:AscertaintheRanges
Thediscoveryphaseiscoveredbyafixed-fee,fixed-lengthcontractwithonegoal:Allow
theteamtogatherenoughinformationtodiscoverandcommunicatewhatitcandeliver(a
productbacklog),bywhen(apreliminaryreleaseplan),andforhowmuch(costper
sprint).Thediscoverycontracttypicallycoverstwoorthreeteammembersforabouttwo
weeks.Ifthecustomerchoosestogowithanothervendorattheendofthefixed-length
discoverycontract,thecustomerisallowedtoreusethesedeliverables.
Thefirstdeliverableistheproductbacklog.Buildingtheproductbacklogfora
customerisathree-stepprocess:identifyusertypesorpersonas,writeuserstories,and
estimatethestories.
IdentifyUserTypesorPersonas
Thediscoveryteamshoulddeterminewhotheusersofthesystemare,whattheirinterests
are,howtheywillusethesystem,andtheirexpectations.Thishelpsthepeoplewritingthe
storiesbetterunderstandtheendusersandcreatesamoreuser-centricviewofstories.
WhenIidentifyuserpersonas,Iinterviewasmanyusersofthesystemaspossibletolearn
abouttheircurrentinteractions,whattheylikeanddislikeaboutthecurrentsystem,and
whattheirnumberonethingwouldbetofix.
WriteUserStories
Thediscoveryteamisresponsibleforwritinguserstoriesfollowingthe“Asa<user>,I
can<action>sothat<result>”template.Iinvitethecustomertotheuserstoryworkshop
alongwiththeteam.Theteammembersandcustomerrepresentative(s)canbrainstorm
ideasandwritestories.Evenifthecustomerchoosesnottowriteanyactualstories,
havingsomeonefromthecustomersideisbeneficialbecauseitgivestheteaman
opportunitytoaskcustomer-specificquestionsregardinguserstoriesthathelpclarifyand
makethestory-pointestimatesmoreaccurate.Theuserstoriesmakeuptheproduct
backlog.
EstimatetheStories
Thediscoveryteamestimatestheresultinguserstoriesinstorypoints.Storypointshelp
thestakeholdersandcustomersunderstandthestorycost,aconsiderationwhen
prioritizingthestoriesinthebacklog.Makesurethecustomerisavailableforquestions
duringestimation.(Italkmoreaboutensuringcustomeravailabilityinthe“Keysto
Success”sectionofthischapter.)
DiscoveryContract:DetermineCostandTimeline
Oncetheteamhasworkedwiththecustomertogatherinformation,theteamworksonits
owntodeterminethecostandtimeline.Thisisafour-stepprocess:determineteam
velocity,calculatecostpersprint,buildareleaseplan,andestablishpaymentoptions.
DetermineTeamVelocity
Ifyouhaveanestablishedteamandarebiddingonaprojectthatissimilartoworkthe
teamhasdonebefore,youshouldhaveagoodideaoftheteam’sexpectedvelocity.Ifyou
don’t,youneedtoforecastorestimatetheteam’svelocity.Eitherway,youcommunicate
velocitytoyourcustomerasapotentialrange.Understandthatyourcustomerwillexpect
youtoachievesomewherenearthetopofthatrangeonmostsprints.RefertoChapter4,
“PredictingTeamVelocity,”formoreinformation.
CalculateCostPerSprint
InChapter8,“TheCaseforaFull-TimeScrumMaster,”Idiscussedtheloadedcostofan
employee.Usethatapproachhereifyoudon’tnormallybillforteammembers’time.If
youworkinaconsultancyorhaveacapitalexpenditurebudgetthatyouareworkingfrom,
youknowwhatthebillablerateisperperson.Eitherway,usetheloadedemployeecosts
tocalculatethecostpersprint.Sumuptheloadedcostperpersonperhour,multiplyitby
theestimatedhourspersprinttheteamwillburn,andyouhaveyourcostpersprint.
BuildaReleasePlan
Thereleaseplanisyourbreadandbutter—itlaysoutalowrangeandahighrangeofwhat
youandyourteamcandeliver.Inthereleaseplan,youshouldhaveaguaranteednumber
ofpointstheteamwilldelivereachsprintandbytheendoftheproject,sothatanything
youachievebeyondthosenumbersisperceivedasadditionalvaluetothecustomer.Fix
thevariable(budget,time,scope)thatmattersmosttoyourclients.Iftheyhaveaset
budget,youcanshowthemhowmanysprintsthatmoneywillbuythemandtherangeof
functionalitythatwillbedeliveredbythetimethosesprintsarecomplete.Iftheyhavea
setdate,youcanshowthemhowmanysprintsyoucanrunbythatdate,howmuchitwill
cost,andtherangeoffunctionalitythatcanbedeliveredinthesetnumberofsprints.If
theyaremostconcernedwithfunctionality,youcanshowthemtherangeofhowmany
sprintsitwilltaketocompletethefunctionalityandtherangeofcosttheywillincur
dependingonwhetheryoursprintcountisintheloworhighendoftherange.Read
Chapter11,“ReleasePlanning,”formoreinformationonbuildingareleaseplan.
EstablishPaymentOptions
Thefinalstepistodeterminethepaymenttermsthatworkbestforyouandyourcustomer.
Youcanoffertheoptiontopaybypoint(potentiallymoreexpensive)ortopaybysprint,
withaguaranteedminimumnumberofpointsdeliveredeachsprint.
ProjectContract:DeliveringtheGoods
Attheendofthediscoveryphase,youhaveseveraldeliverablesforyourpotentialclient:
asetofuserpersonas,anestimatedproductbacklog,apreliminaryreleaseplan,anda
projectcontract.Theresultingcontractreferencestheestimatedproductbacklogand
preliminaryreleaseplan.Itguaranteesthatyouwilldeliverarangeofpointseachsprint,
basedonyourpredictedvelocity,foracertaincost,oratacertaincostperpoint.It
includestheteam’sdefinitionofdoneandanexplanationofhowtheworkwillbe
deliveredtothecustomer.Italsoincludeslanguagethatindicatesunderwhatconditions
thecustomercanrejectasprint’sworthofwork.Youalsoneedaclauseinthecontractto
discusschange,thechangessectionofthecontractmodel.
Changes
EvenaScrumcontracthastoincludeaclauseaboutchanges.Mycontractsallowthe
customertoreshuffletheworkontheproductbacklog,oraddnewstories,aslongasthe
totalnumberofpointsontheproductbacklogremainsthesameandthetotalforeach
sprintstillfitsinsideapredeterminedrangeofwhattheteamcandeliver.Attwodifferent
Agileconferences,JeffSutherlandpresented,“MoneyforNothing,ChangeforFree.”In
thosepresentations,hedescribedhisapproachtochangewiththecleverlynamed“change
forfree”clause.(Ilookmorecloselyatthe“moneyfornothing”clauseinthe“Keysto
Success”sectionlaterinthischapter.)
Sutherland’schangeforfreeclausestipulatesthatthecustomermustbeworkingwith
theteamandthattheproductownerisresponsibleforprioritization.Underthose
conditions,thecustomercanaddnewstoriestotheproductbacklogatnochargeaslong
asastoryofequalorsimilarvalueisremoved.AnexampleIusetohelppeople
understandthisconceptisinrelationtoaone-literbottle.Thisbottle,whichwould
representtheproductbackloginScrum,isdesignedtoholdoneliterofanyliquid:water,
oil,vinegar,softdrinks,cream,younameit.Atthebeginningoftheproject,thecustomer
decidestoaddoliveoilandwhitevinegar.Changeforfreemeansthecustomercanchoose
toaddsomeamountofwatertothebottleaslongasheremovesanequalamountofolive
oilorwhitevinegar.Otherwise,thebottlewilloverflow.
Atthispoint,yourcontractisnearlycomplete.Youjustneedtoaddfourcrucial
elements:customeravailability,acceptancewindow,prioritization,andtermination
clauses.Idiscussthesefourelementsinmoredetailinthenextsection.
KeystoSuccess
Acontractbasedongoodinformationandcustomerinteractiongoesalongwaytoward
buildingtrustwithyourcustomer.Butbesidescostrangesandallowancesforchanges,a
goodScrumcontractincludesstipulationsfortheelementsthatmakeorbreakaScrum
project.Theseincludecustomeravailabilityforfeedback,acceptance,andproductbacklog
maintenance,aswellasaclearunderstandingofhowtomaximizetheScrumadvantageof
keepingtheprojectinapotentiallyshippablestate.Thefollowingsectionsdescribehowto
includethesefactorsinaScrumcontract.
CustomerAvailability
Includeasetnumberofhoursperweektowhichthecustomercancommittobeing
available.Youdon’twanttofallintothetrapofhavinganactivecustomerupfrontonlyto
havethemdisappearastheprojectprogresses.Shortsprintsrequirealmostdailycustomer
availability.Longersprintshavetheadvantageofofferingmoresporadiccustomer
availabilitybutalsoruntheriskofhavingallthecustomertimefocusedtowardthe
beginningandendofthesprint.Eventhoughthedemandsonthecustomerarehigherwith
shortersprints,Iprefershortersprintdurationsbecauseitkeepsthecustomermore
engagedthroughouttheproject.
AcceptanceWindow
Theacceptancewindowistheamountoftimethecustomerhastoacceptfunctionality
deliveredinagivensprint.Youcanchoosetohavethewindowbeasshortas“duringthe
reviewmeeting”or“xhoursordaysafterthereviewmeeting.”Theclauseshouldalso
illustratewhatthedefaultbehaviorisifthewindowpassesandthecustomerhasneither
acceptednorrejectedthework.Inmostcases,thedefaultshouldbeautomaticacceptance.
Ipreferashortacceptancewindow,ideallyadayorless.Longeracceptancewindows
starttointrudeonthenextsprint,assomeworkcannotmoveforwardwithoutacceptance
ormodificationoftheworkthathasoccurredtodate.Ifafeatureisreviewedoutsidethe
acceptancewindowandfoundtobelackingsomething,thisnewworkgoesontothe
productbacklogasanewstorytobeprioritizedandwillcostthecustomermoney,which
iswhycustomeravailabilityisessential.Featuresreviewedinsidetheacceptancewindow
thatarelackingaregenerallyrejectedandcostthevendormoneytofix.
Ialsoincludethefollowingincontracts:Ifthecustomerrejectsanyworkdeliveredina
sprint,thecustomerdoesn’thavetopayforthatwork.Willpeopletrytotakeadvantageof
this?Yes.Ifyouchoosetoincludethisprovision,chooseyourcustomerswisely.Learnto
saynotocustomersyoucan’ttrust.
Prioritization
UnlikeatraditionalRFP,aproductbacklogmustbegroomedregularly—keptinpriority
orderandestimatedinpointsonaregularbasis.Makesurethatthecontractincludestime
spentwiththecustomerestimatingnewstories,breakingdownlargestories,andhelping
determineanyshiftsinpriority.Helpthecustomerunderstandthatadjustingthepriorityof
thestoriesintheproductbacklogisallowedbutthatdoingsomayhaveanimpactonhow
muchtheteamcanaccomplishbyacertaindate.
Theteammaywanttosequencetheworkacertainway,toachieveoptimalflowfor
development.Thismayormaynotalignwiththeorderinwhichthecustomerwouldlike
toseefeaturesdelivered.MikeCohnwritesinUserStoriesApplied[COHN]thatthe
customerwinseverytime.Iagree.Itistheteam’sjob,though,tohelpcustomers
understandthattherequestedsequenceoftheworkmayincreaseestimates,thereby
causingcertainfeaturestonotgetdone(e.g.,lessfunctionalityforthesameamountof
money).Atthesametime,though,thereisnocostforaddingitemstotheproduct
backlog,aslongassomethingcomesoutinitsplace.
TerminationClauses
Mycontractsstatethatthecustomercanterminatethecontractatanytimeandforany
reason.Theteamfinishesoutthecurrentsprintandhasoneadditionalsprinttoclean
thingsupasneeded,suchastransfercodebases,paperwork,andthelike.Thisbuildstrust
andforcestheteamtodrivetowardpotentiallyshippableeachsprint.
Similarly,Sutherland’smoneyforfreeclauseacknowledgesthatthesoftwaremayreach
ashippablestatebeforeallfeatureshavebeencompleted[SUTHERLAND].Assuch,the
customercandeterminewhethertostopdevelopmentafteranysprintandshipthe
softwareasis.Monetaryprotectionisbuiltinforboththecustomerandthevendor.So,
howdoesthiswork?Thecustomerhasaprioritizedlistofwork.Atsomepointduringthe
executionofthecontract,thecostofdoingtheremainingworkwillbeprohibitiveand
returnlittleornovalue.SutherlandcallsthistheROIcutoff.Oncethecustomer
determinesthattheprojecthasarrivedattheROIcutoff,theremainingworkisscrapped.
Becausetheprojectis,inessence,shippingearly,moneywillbeleftoverinthecontract.
Withthemoneyforfreeclause,thecustomerkeepsthemajorityoftheremainingfunds,
butthevendoralsoreceivesapercentage(inSutherland’scase,20percent)tocoverthe
costsofendingthecontractearly.
Trust
Onceyougetusedtoworkingwiththem,contractsthattakeintoaccounttherealitiesofa
Scrumdeliverymodelmightjustbethebestcontractsforvendorsandcustomers.
Structuringyourcontractstoallowforchangeisthebestwaytodobusiness.Giving
customersthefreedomtopayforeachsetoffunctionalityasit’sdelivered,toaddor
changestoriesaslongasastoryofequalvalueisremoved,andtocutthecontractshortor
terminateitaltogetheratwillpaysoffintermsofrepeatcustomersandreferrals.Afterall,
intheend,trustisthemostimportantthingasoftwaredevelopmentcompanywillever
build.
References
[BOAT]ConstructionMarketingIdeaswebsite.
http://constructionmarketingideas.blogspot.ca/2009/03/change-order-boat-mystery-
partially.html(accessed24July2015).
[BOEHM]Boehm,Barry.1982.SoftwareEngineeringEconomics.EnglewoodCliffs,NJ:
PrenticeHall.
[COHN]Cohn,Mike.2004.UserStoriesApplied.UpperSaddleRiver,NJ:Addison-
Wesley.
[MCCONNELL]McConnell,Steve.1997.SoftwareProjectSurvivalGuide.Redmond,
WA:MicrosoftPress.
[NIELSEN]Nielsen,Dave.“HowtoControlChangeRequests.”PMHutwebsite.
http://www.pmhut.com/how-to-control-change-requests(accessed24July2015).
[SUTHERLAND]Sutherland,Jeff.“Update2013:AgileContracts:MoneyforNothing
andChangeforFree.”JeffSutherlandwebsite.
http://jeffsutherland.com/Agile2008MoneyforNothing.pdf(accessed24July2015).
[WSDOT]WashingtonStateDepartmentofTransportationwebsite.
http://www.wsdot.wa.gov/NR/rdonlyres/7C35B04E-F736-47BA-891E-
0B9F7021FDF3/0/ChangeOrderProcessGuide.pdf(accessed8April2015).
PartV.WildernessEssentials
Chapter31.DrivingtoDonethroughCollaboration
ForScrumtowork,teamsneedtobeconfidentintheirpredictionsandabletodeliveron
theirpromises.Toooften,however,teamsthatarenewtoScrumstruggletofinishthe
storiesinthesprint,leadingtostakeholdermistrustandadeclineinteammorale.A
contributingfactorthattypicallyhidesbehindthepilesofhalf-finishedworkisalackof
collaboration,fromestimationthroughexecution.
ThatwasthecasewiththePNIteam.Despitetheteam’sbestefforts,itfailedtodeliver
onpromisedfunctionalitysprintaftersprint,leavingeveryonefrustratedandsearchingfor
answers.
TheStory
Overthepastsevenmonths,thePNIteamhadbeenslowlyintroducingScrum.Asaresult,
theteamandthecompanyhadnoticedbettercustomerengagementandmorevisible
projecttracking.Yet,thebiggestproblem—andoneofthemainreasonstheteamhad
adoptedScruminthefirstplace—hadyettobesolved:theteam’sinabilitytodeliver
completedfunctionality.Aftersevenfrustratingsprints,theteamstillwasnotableto
deliver.
Thesituationcametoaheadduringonesprintreviewmeeting,whentheteam’sproduct
owner,Rafael,confrontedtheScrumMaster,Sam,aboutthelackofcompletedwork.
“Whatdoyoumeanthisfunctionalityisstillincomplete?Youtoldusweeksago,or
sprintsago,orwhateveryoucallit,thatit’dbedone!”exclaimedRafael.
“Iknow,Iknow,we’resosorry,”answeredSam.“TheteaminParisreleasedsomething
anditbrokealotofourtests.Wetriedtogetitfixed—”
Rafaelinterrupted.“Enoughwiththeseexcuses.Weekafterweek,sprintaftersprint,
there’ssomereasonwhyyoucan’tgiveuswhatyoupromised.Ican’ttellyouhowmuch
thishurtsallofus!Wehavetogobacktothevariouscountrymanagersandtellthemthat
thefunctionalityyoustatedwouldbedeliveredtwomonthsago,thenonemonthago,then
twoweeksagoisstillnotdone!Wecan’trunabusinesslikethis.Ithoughtyousaidyou
werepracticingScrum?Shouldn’tthatmeanthattheseissuesarebeingresolved?What’s
therealproblemhere?”
Thatwastherightquestiontoask:Whatwastherealproblem?Samhadhersuspicions,
butwithonlysevensprintsundertheteam’sbelt,andwithonlyafewofthoseeven
remotelysuccessful,theteamwasstillworkingthroughsomanyissuesthatitwas
difficulttopinpointthecauseofthisparticularproblem.“We’reunhappyaboutittoo,and
we’recontinuingtomakechangestoimprove.We’regoingtofigureitoutasquicklyas
possible,”Samreplied.
Samknewthatinherglobalcompany,manyteamsweredoingScrumanddoingitvery
well.Shealsoknewthatshehadaccesstoagileexpertsinsidehercompanywhowere
onlyaplanerideaway.SoSamdecidedtoreachouttomanagementtoaskforhelpinthe
formofatravelbudgetandsomeconsultingtime.Twoweekslater,oneofthecompany’s
internalagilecoaches,Olivia,wassittingintheofficewithSam,discussingthesituation.
“So,Sam,youtoldmeonthephoneyourstakeholdersarereallyangrybecausethey
feelthattheteamisjustnotdelivering.Canyoutellmemore?”askedOlivia.
Samnodded.“Yes,we’veadoptedScrumandhavejustfinishedourseventhsprint.
Overall,theteammembersfeelbetteraboutwherewearenowthanwherewewere
before.Atonofissueshavesurfacedthatwehavebeenabletoaddress.However,atthe
endofeverysprint,wejustcan’tseemtofinishandIhavenoideawhy.Itisreally
embarrassinggoingtothereviewandsayingweonlycompletedaboutfortypercentofthe
storieswesaidwewould.It’snowonderourstakeholdersdon’ttrustus.We’reamess!”
“What’sthenumber-onecomplaintthestakeholdershave?”askedOlivia.“Isitquality,
isitthatthefinishedworkdoesn’tfunctionastheyimagined,orwhat?”
“Simple,”statedSam.“Theysayweareconsistentlyfailingtodeliverthefunctionality
wepromisedtogivethematthebeginningofthesprint.Mostofthestoriesjustaren’t
donebythesprintreview.”
“Okay.Let’svalidateorinvalidatethatclaimbylookingatthedatawehave,”said
Olivia.
Shewentthrougheachsprint,puttingthetasksintothreecategories:completed,stillin
process,andnotstarted.
Theresultswereshocking.Oliviaputthechartonthedisplayintheconferenceroom.
“Well,Sam,thestakeholdershaveavalidpoint.Inyourfirstandsixthsprints,your
teamcompletedonlytwenty-fivepercentofwhatitcommittedtofinish.Eveninthebest
sprint,whichwassprinttwo,youcompletedonlyseventy-fivepercent.Youraverage
percentagecompleteisaroundforty-five,lessthanhalfoftheworkyousaidwouldbe
done,whichisprettybad.AnotherthingI’mnoticinghereisthatyouhaveatonofwork
inprocess.That’ssomethingIwanttolookatcloser,too”saidOlivia.
“Yep.Wow.Thatisoneuglychart.It’snowonderthestakeholdersaresoangry!”
exclaimedSam.“Ihavenoideawhattodoaboutit,though.Iknowtheteamisworking
andtrying—it’snotaquestionofeffort.”
Oliviathoughtforamoment,thensaid,“Sam,tellmehowtheteamderivesitstask
estimates.Whentheteammembersestimatetheirwork,dotheydoitcollaboratively?As
anexample,alotofourteamsareusingTaskPoker—somethingverysimilartoPlanning
Pokerbutfocusedonestimatingtasksinsteadofstories.”
“TaskPoker?No.Whenwewanttoestimateaparticulartask,wejusthavetheperson
whoisgoingtodotheworkfigureouthowlongthattaskwilltake.Thatworks,butifthe
personwhoestimatedthetaskcan’tdoit,thingsgetmessedup.Usually,nooneelsecan
dothework—oratleastnotasquicklyastheoriginalestimate,”saidSam.
“Okay.Ithinkwe’vefoundafewoftherootcausesofyourproblem.Letmeclarifya
fewthingstobesure.First,itsoundslikeyouarerelyingsolelyonexpertanalysisfor
yourestimates.Anditalsosoundslikeyouaren’tpracticingpairprogramming.Areboth
ofthosethingstrue?”
“Yes,that’sright.Themanagersherethinkpairprogrammingisawasteoftime.They
believethatsinceeachofusisanexpertinoneortwothings,eachofusshoulddowhat
heorsheisgoodat.And,cometothinkofit,thatattitudebleedsoverintohowwe
estimatetoo.Thepersonwhoisanexpertatthattypeofworkestimatesitandthendoes
it,”saidSam.
“So,youhaveabsolutelyzerocollaborationwhenitcomestoestimatingtasks?NoTask
PokerorWidebandDelphioranything?It’sjustexpertanalysis?”askedOlivia.
“Exactly.Thepersonwhoisgoingtodotheworkestimatesit—noteamdiscussionor
collaboration,”saidSam.
“Whathappensifsomeonegetsblockedonatask?Orifsomeoneispulledoffataskto
workonsomethingelse?”Oliviainquired.
“Well,ifsomeoneisblocked,thatpersonmovesontothenexttaskinthelist,”answered
Sam.“See,weallsignupforthetaskswe’regoingtoworkonduringsprintplanningso
wecanmakesurethatwehaveenoughcapacitytodothework.So,wehaveplentyof
taskstochoosefromifwegetblocked.Andifsomeoneispulledoffaparticulartask—
theygetsickorthereisanemergencyonanotherproject—well,thattaskjustsitsthere
untilthatpersoncanreturntoit,Iguess.Noonehastheavailablecapacityorexpertiseto
pickuptheslack.”
Oliviashookherhead.“So,you’reallmaxedoutonassignedtasksfromthebeginning
ofthesprint.And,ifsomeonegetsblockedonmorethanonetask,thatpersonjustkeeps
startingnewonesuntilhefindsonehecancomplete?Thatexplainsalloftheworkin
processattheendofthesprint.
“Whataboutyoursprinttaskboard?Whenyoulookattheboardduringthedaily
scrums,areyoueveralarmedbythenumberoftaskslistedasinprocess?”
“Umm,confessiontime.Wedon’treallyusethetaskboard.Itseemedlikewaytoo
muchworktokeepituptodate.That’sprobablywhyit’sbeensohardtofigureoutwhois
workingonwhat,”admittedSam.“Youmusthaveagreatimpressionofourteam.”
OliviaassuredSamthatherteamwasnodifferentfrommostnewteamsshehadrun
across.Theteamwasnotfullyformedyet.Instead,itwasagroupofexpertsworkingon
subjectmattercomponents,lackingtrueteamcohesion.
“Sam,I’vegotanideathatIthinkwillhelpfixyourteam’sissues.Wearegoingtorun
atestoverseveralsprints.We’regoingtodoTaskPoker,limittheworkinprocessand
activetaskstonomorethantwoperteammember,useavisualtaskboard,andpair
programwheneverpossible,”saidOlivia.“Oh,andIsuggestwemovetotwo-weeksprints
fornow.Theteamneedstoworkwithsmallertasksandneedstogetmorefrequent
stakeholderfeedback,potentiallyallowingthestakeholderstomakechangesbasedonthe
progressoftheproject.Theteamalsoneedstopracticeplanningandestimationmore
oftenthanonceamonth.”
Samagreed.Andsodidherteamonceshepresentedthemwiththechartdetailingthe
problemsalongwithOlivia’ssuggestionsforimprovement.Afterfoursprints,thingshad
beguntoimprovesubstantially.SamandOliviasatdowntoreviewthedata.
“Olivia,you’renotgoingtobelieveit.Thingsaregoingsowell!”exclaimedSam.“Just
lookatthisdata.We’redelivering!”
“Sam,thislooksfantastic!Whatwasthedrivingforce?WasittheshifttoTaskPoker
thathelpedthemost?Pairing?Thetaskboard?Shortersprints?”inquiredOlivia.
“Allofit!ButwethinkthatTaskPokerhelpedthemostbecauseithashadthebiggest
impactonteamcollaboration.Thesmallertasksizeshelp,whilepairingmeanswehave
fewerblockedtasks.Plus,now,ifsomeonehasanemergency,theteamismorelikelyto
beabletopickuptheslack.However,noneofthiswouldhaveworkedwithoutTask
Poker.Thevaluethattheteamgetsfromthesprintplanningmeeting—frombeingonthe
samepageandknowing,collectively,whathastobedone—hasbeeninvaluable,”stated
Samexcitedly.“Wecan’tthankyouenough.”
TheModel
Inthestory,Oliviaidentifiedseveralissuesthatplaguedtheteam.Fortunately,though,she
foundsomesolutions,asillustratedinTable31-1.Thetabledetailstheproblemsandthe
fiveproposedsolutions:TaskPoker,pairprogramming,limitedworkinprocess,shorter
sprints,andavisualtaskboard.Thesectionsthatfollowdiscusseachsolutionindetail.
TABLE31-1CommonScrumTeamProblemsandSolutions
TaskPoker
Scrumteamslivebythemantrathatthepeoplewhoestimatetheworkshoulddothework.
Butthatdoesn’tmeanthateachteammemberestimatesonlytheworkheorsheplansto
do.Instead,themantraisintendedtoconveythattheteamthatdoestheworkestimates
thework.Theestimatesshouldnotbecalculatedbysomegrouporsubgroupactingonthe
team’sbehalf.Inthischapter’sstory,theteamreliedonindividualexpertstodetermine
howlongeachtaskmighttake—leavingmostteammembersinthedarkaboutthework
involvedinthesprintoutsideoftheirindividualcontributions.Tohelptheteamlearnhow
toestimateitsworkcollaboratively,OliviarecommendedTaskPoker.
TaskPokerisavariationofPlanningPoker,atechniquethatwascreatedbyJames
Grenning[GRENNING]in2002andpopularizedbyMikeCohninAgileEstimationand
Planning[COHN].AsdetailedinTable31-2,TaskPokerandPlanningPokerbothusea
limitednumbersettorepresentestimates,andbothemploywholeteamdiscussionanda
collaborativewayofarrivingataconsensusestimate,butthat’swherethesimilaritiesend.
InTaskPoker,theteamisestimatingsprintbacklogtasksintermsofhours,asopposedto
PlanningPoker,whereteamsareestimatingproductbacklogstoriesintermsofstory
points.DistinguishingTaskPokerasadifferentestimationtoolhelpstopreservethemore
abstractnatureofPlanningPokerasameasureofeffort,wherethestorypointsdonot
correlatetohours(seeChapter32,“HowStoryPointsRelatetoHours”).
TABLE31-2KeyDifferencesbetweenTaskPokerandPlanningPoker
WhileteamscanusePlanningPokercardsandtheirmodifiedFibonacciseriesforTask
Poker,theymightprefertouseadifferentsetofnumberstodistinguishbetweenrelative
sizingandtasktimeestimation.Oneeasysettorememberconsistsofbinarynumbers:1,
2,4,8,and16.Ifyouusebinarynumbers,theestimationcanbedonewithoutcards.Just
voteusingonehand,rock–paper–scissorsstyle.Thenumberoffingersapersonholdsup
istheestimate,whereonefingeris1hour,twofingersis2hours,threefingersis4hours,
fourfingersis8hours,andfivefingersis16hours[SLIGER].Itmayfeelawkwardatfirst
toholdupthreefingersandhaveitmean4hours,buttheteamwillsoonlearntomentally
convertittobinaryandadjustquickly.Witheithersetofnumbers,thebenefitofusinga
limitednumberofpossibleestimatesisthatitencouragesteamstobeaccuratewithout
beingoverlyprecise,tobeabletoreachconsensusandmoveontothenexttaskwithlittle
ornoargumentorwastedeffort.
LikePlanningPoker,TaskPokerdrivescollectiveteamownershipoftheestimation
processsothattheteamhasahigherdegreeofconfidenceinitsestimates.Italsofosters
discussion,whichhelpstomitigaterisksandremoveassumptions.Whole-team
discussionsencouragememberstoaskforhelpwithataskortovolunteertolearnanew
typeoftask,bothofwhichcanbeaccomplishedthroughpairprogramming.
PairProgramming
Pairprogrammingiswhentwoteammembersworktogethertoaccomplishasingletask.
Amongpairprogramming’smanybenefitsarecollectivecodeownershipandanincrease
inknowledgesharingamongteammembers.Duringapairprogrammingsession,each
paircontinuallydiscussesanyproblemanditssolution,essentiallycreatingareal-time
codereview.Aspeoplemovefromtasktotask,ideallyswitchingpairsandtypesofwork,
alloftheteammembersbecomefamiliarwiththevastmajorityofthecodebasewhilealso
broadeningtheirownskillsets.
That’swhyoneofOlivia’sproposedsolutionsforthePNIteamwastostartusingpair
programming.Theteammembersweredisconnectedfromoneanothernotonlyduring
estimationbutalsoduringtheactualsprints.Allofthetaskswerepre-selectedby
individualswhoseskillsbestmatchedaparticulartask.Theproblemis,whenteamswork
thisway,individualsmovethroughthesprintinavacuum,workingandthinkingabout
onlytheirindividualtasksandnotmakingconnectionstothetotalityofworkforthesprint
—andworseyet,theprojectasawhole.Acommonsideeffectofthiswayofworkingis
thattheteamlosestrackofitsprogress—tasksareblocked,peoplegoonvacationorget
sick,orqualityissuesgounnoticeduntiltheendofthesprint.Soon,theteamisleftwith
manyopentasksandalackofvisibilityintowhatiskeepingthosetasksfrombeing
complete.
Pairprogramminghelpssolvetheseissuesbycreatingcollectiveownershipforthe
team.Theresultisthateveryteammemberhasvisibilityinto,andanactiverolein
completing,alloftheworkofthesprint.(Chapter9,“WhyEngineeringPracticesAre
ImportantinScrum,”offersanin-depthlookatpairprograminganditsbenefits.)
LimitOpenWorkItems
AnotherchallengethePNIteamfacedwasthatteammembershadtoomanyopenwork
items.Notonlydidtheyself-selectalloftheavailabletasksduringsprintplanning,they
alsotendedtofireandforgetwhentheygotblocked.Inotherwords,alloftheteam
membershadafulldocketofplannedtasks.Whentheygotblockedonatask,theymoved
ontothenexttaskintheirlists,rarelyreturningtothetaskstheywereoriginallyworking
on.Thislefteachteammemberwithmultipletasksopenbutunfinished,resultingina
sprintfilledwithhalf-donework.Tohelpaddresstheseissues,Oliviarecommendedthat
theteamsetanactivetasklimit(ATL)byrestrictingthenumberofself-selectedtasksto
twoperperson.Shealsosuggestedthattheteamcreateaworkinprocess(WIP)limitof
twotasksperperson.WithaWIPlimitoftwo,ifsomeoneisblockedontwotasksand
cannotmoveforward,thatpersonisnotallowedtoopenanewtask.Instead,theblocked
personisexpectedtoeitheraskforhelportohelpotherteammemberswiththeirtasks.
Thereasontheselimitsworktodrivetaskstowardcompletionisthattheyreduce
multitasking,ahabitthatoftenleadstoreducedfocus,lowerproductivity,andlessoverall
output.Thenegativeimpactsofmultitaskinghavebeenproven.In1992,KimClarkand
StevenWheelwrightfoundthatonceapersonhasthreeormoreactivetasks,timespenton
eachtaskdramaticallydecreases.Twotasksyieldedthebestresults[CLARK].
Similarly,in2009whileatStanfordUniversity,EyalOphira,CliffordNass,and
AnthonyD.Wagnerstudiedtheimpactofmultitasking.Theresearcherscreatedtwo
groups.Thefirstgroupwasmadeupofself-describedheavymediamultitaskers(HMM),
whiletheotherwascomposedofself-describedlightmediamultitaskers(LMM).Those
whoclassifiedthemselvesasHMMwerepeoplewhoconstantlyjuggledtasks.They
preferredtodomultipletaskssimultaneously,suchaswritingemailwhilealsohaving
instantmessengerconversationsorreviewingwebsiteswhilewatchingTV.TheLMM
group,however,preferredtoremainfocusedonthetaskathandandwouldpurposefully
reducethenoisesurroundingthem.Amongotherthings,theresearcherswantedto
discoverwhethertheHMMgroupweremoreadeptatswitchingtasksthantheLMM
group
Toevaluatetheparticipants’skillsatswitchingtasks,theresearcherscreatedaseriesof
images.Eachimagecontainedbothanumberandaletter,suchasA4orV17.Priorto
showingtheparticipantstheimages,theresearcherswouldinstructtheparticipantsto
focusonlyontheletteroronlyonthenumber.Iftheparticipantswereaskedtofocuson
theletter,they’dhavetodeterminewhethertheletterwasaconsonantoravowel.Ifthey
wereaskedtofocusonthenumber,they’dhavetodeterminewhetherthenumberwasodd
oreven.Surprisingly,theHMMgroupdidnobetterthantheLMMgroupatswitching
tasks.Infact,theydidworse.Whendiscussingtheresults,theresearchershypothesized
thathabitualmultitaskers(likethoseintheHMMgroup)haveatendencytofocus
simultaneouslyonalloftheinformationinfrontofthem.Consequently,theystruggle
whenaskedtoseparatethenoisefromthetaskathand.Thebottomlineisthateven—and
maybeespecially—thosewhoclaimtothriveinamultitaskingenvironmentactuallydo
betterwhenfocusedononetaskatatime[OPHIRA].
Whetherit’sapersonworkingonadedicatedteamhavingmultiplestreamsofworkor
tasksinprocess,orsomeoneworkinginaspecialtyareaacrossmultipleteams,it’s
impossibleforanyonetokeeptoomanyballsintheair.Focusingononestreamofwork
anddrivingittocompletionisfarbetterthantryingtodoalittlebitofworkonthree
differenttasks,evenifthosetasksareassimpleaswritinganemailoransweringaphone
callwhiletryingtofinishalineofcode.Whateverisleftincompletewillloomoverthe
personlikeadarkcloudscreaming,“Finishme!”It’smuchmoreefficientinthelongrun
tofinishonethingbeforestartinganother.
AfunexperimentIliketoruntodrivehometheimportanceofasingle-mindedfocusis
tohavepeopleworkonaseriesoftaskstoaccomplishthesamegoal,butindifferent
ways.Thegoalisacompletelistofthenumbers1through26,alphabetAthroughZ,and
RomannumeralsIthroughXXVI.Isplitthegroupintwoandcreateimbalance,typically
75percentforGroupAand25percentforGroupB.
GroupAisrequiredtocompletetheworkbyrows.Itsmemberswriteonpaperfromleft
toright,startingwithnumber1,andcontinueacrosstherow,writingtheletterA,andthen
RomannumeralI.
Theycontinueworkinginrows,goingrowbyrow,untilrow26,Z,XXVIisreached.
Thepatternshouldlooklikethis:
GroupB,however,isrequiredtocompletetheworkbycolumns.Itsmemberswriteon
paper,startingwithnumber1andcontinuedownthecolumnuntilnumber26isreached.
Oncethefirstcolumniscomplete,theybeginanewcolumn,whichisthealphabet,
fromAtoZ.
Oncethealphabetiscomplete,theymovetothelastcolumn,Romannumerals,Ito
XXVI.
BothfinaloutputsfromGroupAandGroupBwilllooklikethisintheend,butthetwo
groupscreatethesetablesinvastlydifferentways.
Irecordhowlongittakesthefirstpersontofinish.Over90percentofthetime,thefirst
finishercomesfromGroupB—thegroupthatfocusedononecategory(column)atatime.
Imakeanotationofthetimeittookthefirstpersontofinish,aswellasthetimesofall
completingparticipantsuntileveryoneinonegroupisfinishedwiththetask.What
typicallyhappensisthatbythetime100percentofGroupBisfinished,onlyabout33
percentofGroupAhascompletedthetask.Whenaskedhoweachparticipantfeelsabout
theexercise,GroupAcomplainstheyhaveaheadachefromthetaskswitching.GroupB
complainstheyhaveasorehandfromtherepetition.
Thisexerciseprovesapoint:Peopletendtofinishfaster,andwithlessofaheadache,
whenfocusingononlyoneortwoitemsatatime.That’swhy,inthischapter’sstory,
OliviarecommendedtheteamsetanATLandaWIPlimit.RecallthatATListheactive
tasklimit,whereactivemeansself-selectedbyateammember.WIPistheworkin
process,workthathasbeenstartedbuthasnotyetbeencompleted.
WithoutanATL,peopletendtosignupforallofthetaskstheyknowhowtodountil
theyhavefilledalloftheirplannedtimeforthatsprint.Theunintendedconsequenceis
thatwhensomeonehasanissue,nooneisavailabletohelp.Andifsomeonefinishes
early,therearenoavailabletaskstosignupforbecausetheywerealldistributedinthe
beginningofthesprint,duringsprintplanning.Similarly,whenateamdoesnothavea
WIPlimit,itsmembersarefreetohaveasmanyin-processtasksastheywant.Whattends
tohappen,then,isthatassoonassomeoneisblocked,thatpersonstartsworkingon
somethingnew.Thisresultsinanexcessofin-processwork,allindifferentstates,andall
assignedtotheparticularpersonwhobeganworkonthetask.
EstablishingbothanATLandaWIPlimiteliminatestheseissues.HavinganATL
meansthatthemajorityofthetaskswillremaininactiveatthebeginningofthesprint.
Thiscreateslearningopportunitiesforteammembersbyallowingthemtoselectany
inactivetask,whethertheyhaveexpertiseinthattaskornot.Meanwhile,ifsomeonegets
stuckonanytask,teammembersarelikelyavailabletopairontheworkanddriveitto
done.Thisbehaviorcreatesalearningculturethathelpsreinforcetotalteamaccountability
andcollectiveownership.Additionally,theselimitshelpteammembersbreakthehabitof
workingonlyonthetaskstheypreferbasedontheirskillsetorhoweasythetasksare.
Lastbutbynomeansleast,strictWIPlimitsforcetheScrumMaster,orevenstakeholders,
togettasksunblockedasquicklyaspossible.
Twohelpfulbooksforthosewhowanttoknowmoreaboutthemanyadvantagesof
WIPlimitsareKennyRubin’sEssentialScrumandDavidAnderson’sKanban.
Two-WeekSprints
AnotherchallengethatSam’steamfacedwasthattheteamwasworkinginafour-week
sprint,thelongestrecommendedsprintlength,yetstillcouldnotcompletethework.
Sometimeswhenthishappens,teamsactuallytrytoextendtheirsprints,saying,“Justgive
usonemoreweek!”Instead,ascoveredinChapter6,“DeterminingSprintLength,”what
mostteamsneedtodowhentheystruggletofinishasprintistoshortentheirsprintsrather
thanlengthenthem.
Thoughcuttingthesprintlengthmightseemcounterintuitive,shortersprintsprovide
moreopportunitiesforlearninghowtoworkatasustainablepaceandforimproving
decomposition(seeChapter23,“SustainablePace,”andChapter12,“Decomposing
StoriesandTasks”).ThereasonOliviasuggestedtwo-weeksprintswastoencouragethe
teamtoworkwithsmallertasksoverall,tobeginwiththeendinsight,toincreaseits
opportunitiestointeractwithstakeholders,andtopracticeestimation.
Shiftingtotwo-weeksprintsforcesteamstoreducethesizeofeachtask.Teamsmust
decouplesmallerserialtasksthattheymightnormallylumpintoasinglelargertask,
whichprovidesmoregranularity.Itallowsteamstoseetheworkremainingwithgreater
clarity,likegoingfromastandarddefinitionscreentoa1080-pixelhigh-definitionscreen.
Implementingtwo-weeksprintsalsoallowsteamstobeabletoseethefinishlinefrom
thestartinggate.IfateamstartsonaMonday,thefollowingFridayfeelslikeitisright
aroundthecorner.Theendisinsight—andtheentiresprintcaneasilybevisualizedviaa
taskboard,awhiteboard,orsoftware.Teammembersfeelaconsistentlevelofpressureto
finisheachtask,ratherthanhavingthefaultyimpressionthattheyhavemanyweeks
beforetheyneedtocompletetheirwork.Shortersprintsincreasefocusanddecreasestress
becauseeachtaskis,bydesign,smaller.
Lastly,atwo-weeksprintgivesteamsmoreopportunities—bothtointeractwith
stakeholdersandtopracticeestimation.Inaone-yearprojectwithone-monthsprints,a
teamwouldhaveonly11opportunitiestointeractwiththestakeholders,andmore
important,thestakeholderswouldhaveonly11chancestoinfluencechange:11!Ateam
wouldalsohaveonly11chancestoimproveitsestimationskills.Ontheotherhand,using
two-weeksprintsonayear-longprojectgivesateamatleast25chancestogetfeedback
andmakeadjustments,givingtheteamanditsstakeholdersmoreconfidenceinthesprint-
over-sprintplan.Fornewteamsespecially,theseopportunitiesaretoovaluabletopassup.
CreatingVisibilitywithaTaskBoard
AnotherchallengethatSam’steamhadwasvisibilityintothework.Althoughtheteam
membershadfaithfullyattendeddailyscrums,theyhadfailedtocreate,utilize,and
maintainataskboardintheteamspace.Thislackofvisibilityintotheworkofthesprint
contributedtotheteam’slackofurgencyandfailuretounderstandtheworkremainingin
thesprint.
Agoodtaskboardhelpsfocusinteractionduringthedailyscrumandcreate
opportunitiesfordiscussionthroughouttheday.Additionally,itcreatesvisibilityintothe
workofthesprintanddrivesteamcommitmentandaccountability.Whenateamisusing
taskboardseffectively,youwillseeteammates,stakeholders,andevenmembersofother
teamsstopbytheboardfordiscussionthroughouttheday.Thisbehaviorincreasesgreatly
iftheboardisprominentlydisplayedneartheteam.
AgoodboardtypicallylooksliketheoneinFigure31-1.Noticethatallofthestories
theteamhaschosenforthesprint,andtheircorrespondingpointestimates,areshownin
theleftmostcolumn.Then,tothesideofeachstory,theteamhaspostedthatstory’s
plannedtasksandtheestimatesforthosetasks,inhours.Thetasksareplacedinthe
correctcolumnaccordingtotheirstatus.ThoseintheToDocolumnhaven’tbeenstarted.
ThoseintheInProcesscolumnarecurrentlybeingworkedonbyoneormoreteam
members.ThosetasksthatarereadyfortestingorfeedbackareintheToVerifycolumn.
AndthosetasksthatarecompleteareintheDonecolumn.Whenallofastory’stasksare
Done,thestoryisconsideredcomplete.
FIGURE31-1Atypicaltaskboard
Healthytaskboardshaverelativelyfewtasksinprocessorwaitingforverificationat
onetime.WhenOliviaarrived,however,thePNIteam’staskboardwouldhavelooked
morelikeFigure31-2,withapileoftasksshowinginprocess.ThoughhavingaWIPlimit
helpspreventtasksstackingupinonecolumn,havingatasksitinprocessformorethana
dayortwoshouldstillbeawarningsigntotheteam.Theteamcanhelpkeeptasks
movingfromlefttorightbyaskingquestionsofoneanotherduringthedailyscrum—
questionsintendedtohelpuncoverhiddenissuesandtofindareaswhereteammembers
mightneedhelp.Tasksthataretoolargewillalsositfortoolonginonecolumn.When
thishappens,trybreakingthetaskintosmallertasks.
FIGURE31-2Toomanytasksinprocess
EspeciallyforteamsnewtoScrum,Irecommendusingataskboard—evenifyouuse
softwaretotracktheworkofthesprint.Teamsneedavisiblereminderofhowthesprintis
progressingandatactiledisplayaroundwhichtohavefocused,collaborativediscussions.
KeystoSuccess
Ofthefiveitemsexploredinthemodel(TaskPoker,pairprogramming,ATLandWIP
limit,two-weeksprints,andtaskboard),theonewiththemostimmediateimpactona
team’sabilitytodeliveronitscommitmentistheswitchfromexpertanalysisestimationto
collaborativeestimationusingTaskPoker.TaskPokerisacollaborativemethodthatI
havebeenusingfortaskestimationwithteamsforyears.
Let’slookmorecloselyatthisvitalpieceofthepuzzleandhowithelpsteamsdrive
storiestocompletion.
Theteam-levelbenefitscommonlyseeninTaskPokerareasfollows:
Eachvoiceontheteamisheard.
Theteamhasasharedunderstandingoftheworkofthesprint.
Everyteammemberisinvestedintheoutcomeofthesprint.
CommonmistakeswhendoingTaskPokerincludethefollowing:
Theteamchoosestoaveragetheestimatesratherthantakingthetimetoreach
consensus.
Theteambecomesoverlygranularwithitsestimates.
EachVoiceIsHeard
Someteamsestimatetasksbyhavingeachpersonestimatetheworkthatheorsheismost
familiarwith.I’vealsoseencaseswherepeopleestimateworkintendedforothers,which
isworse.ShiftingteamstoTaskPokerfortaskestimationencouragesteammembersto
discussthetasksassociatedwithastoryandtheplanforcompletingthem.It’sokayif
somedon’tunderstandtheworkorhowtocompleteit.Adiversesetofinitialestimates
makesforgreatconversations—andsomeoneunfamiliarwithataskmighthaveavaluable
pointtomakeormightaskaquestionthatpromptsotherstorememberacomponentofthe
tasktheyhadforgottentoincludeintheirestimates.Atesterandauserexperience(UX)
person,forinstance,mightnotbefamiliarwithhowtowritethecodethatmakesadialog
box,buttheyaregoingtobeabletoprovidesomepertinentinsightintothetasksinvolved
incompletingitnonetheless.Everyvoiceshouldbeheardbecausethosevoicescan
exposehiddenassumptions,promptexplanationsthatremindpeopleofworktheymight
otherwiseoverlook,andhelpfurtherclarifytheoverallstory,allofwhichminimize
surprisesandplan-sizegrowth.
SharedUnderstandingoftheWork
Forateamtoreachconsensusonataskestimate,itsmembersmustfirstdiscusshowthey
intendtoapproachtheworkandwhatexactlyneedstohappenbeforethestorycanbe
considereddone.Thesediscussionsalsohelpidentifyneworpreviouslyhiddenissuesor
problems.Whentheteamcollectivelyunderstandsandacceptstheworkitneedsto
accomplish,itsmembersaremorelikelytoseeopportunitiesforchoosingtasksinwhich
theycanexpandtheirskillsbypairingwithsomeonewithmoreexpertise.Theoutputof
theplanningmeetingshouldbeastrategyforwhatwillbepairedversusnotpairedanda
listofconcernsandideastomitigatethem.
EveryTeamMemberIsInvestedintheOutcome
TaskPokerallowseveryvoicetobeheardandeverypersontounderstandtheworkthat
needstobedone.Oncethishasbeenaccomplished,theteamreachesconsensusonan
estimateforeachtask.Theseelementscombinetogiveeachteammembertheconfidence
tocommittotheworkofthesprintaswellastohaveastakeintheoutcomeofthesprint.
Don’tAverageTaskEstimates
Sometimesateamwillcometoanimpasseinestimation.Halftheteamestimatesfive
hoursforanitemandtheotherhalfsayseighthours.Often,Iseeteamsdecidetoendthe
stalematebyaveragingthecompetingestimatesandassigningthataveragetothetask(in
thiscase,a6.5).Don’tdoit.Theproblemwithusinganaverageestimateisthatit
circumventstheconsensus-reachingdiscussionsthatleadtomostofthebenefitsdetailed
above.Teamsthatfailtohavetheseconversationsalsofailtosurfacetherisksand
concernsorfailtotalkabouthowtheymightapproachthework.Inessence,theyare
missingthepoint.Thepointofcollaborativeestimationistheconversation,notthe
number.
AvoidExcessivelyGranularTaskEstimates
Anothercommonproblemtoavoidisbeingover-granularwithestimates.Someteams
haveproudlyboastedtomethattheyare95percentaccuratewhencomparingtheirtask
estimatestotheiractuals.They,too,aremissingthepoint.Don’tmistaketheneedfor
accuracyinestimationtobeaquestforprecision.Thegoalofestimationisnotto
preciselypredicthowlongtheteamwilltakeonanyonetaskbuttobeabletocommit
withconfidencetodeliverasetofstoriesandtheircorrespondingtasksduringasprint.
Theteamisn’tbeingheldtoitsestimates,it’sbeingheldtoitssprintforecastto
completingacertainincrementoffunctionality.Thisdistinctionissubtlebutimportant.
Onceagain,thepointofcollaborativeestimationisthattheteammembersactuallytalk
abouttheworkthatneedstobedoneinthesprint,whichwilluncoverassumptions,hidden
tasks,andareasofambiguity.
ScrumIsBuiltonTeamwork
AllScrumteamsfunctionattheirbestwhentheyareworkingtogether—fromestimation
toexecutiontodelivery.IfyourScrumteamisfailingtodeliver,considertryinga
collaborativetaskestimationtechnique,suchasTaskPoker.Encouragetheteamtopair—I
can’temphasizeenoughhowvitalitisforanyagileeffort.Considershorteningyoursprint
lengthandcreatingtimeboxestodevelopasteady,sustainablepacewithmultiple
opportunitiesbothforteampracticeandforcustomerandstakeholdercoursecorrection.
Limitworkinprocess.Itnotonlyeliminatesmanyoftheproblemsthatcomewith
multitasking,italsogivespeoplethemotivationandthecapacitytobandtogetherto
completetheworkofthesprint.Trackthatworkusingavisibletaskboard,prominently
displayedintheteamspace.
Inallthings,though,makeeveryefforttomovepeoplefromworkinginavacuumto
participatingasamemberofacooperativeteam.Whenyoudo,thedrivetodonewon’t
seemnearlyasdaunting.
References
[CLARK]Clark,KimB.,andStevenC.Wheelwright.1993.ManagingNewProductand
ProcessDevelopment:TextandCases.NewYork:FreePress.
[COHN]Cohn,Mike.2005.AgileEstimationandPlanning.UpperSaddleRiver,NJ:
PearsonEducation.
[GRENNING]Grenning,James.2002.“PlanningPoker,orHowtoAvoidAnalysis
ParalysiswhileReleasePlanning.”
https://renaissancesoftware.net/files/articles/PlanningPoker-v1.1.pdf(accessed25August
2015).
[OPHIRA]Ophir,Eyal,CliffordNass,andAnthonyD.Wagner.“CognitiveControlin
MediaMultitaskers.”ProceedingsoftheNationalAcademyofSciencesoftheUnited
StatesofAmerica.106(37):15583–15587.
http://www.pnas.org/content/106/37/15583.full?sid=da6eb41a-a4dc-4f40-ace7-
425c75c22789(accessed16August2015).
[SLIGER]Sliger,Michele.Personalcommunication,3September2015.
Chapter32.HowStoryPointsRelatetoHours
“Howmanyhoursdoesastorypointequal?”Igetsomeversionofthatquestionona
regularbasis.Nomatterthecompany,industry,orgeographiclocation,thedeeperconcern
isalwaysthesame:Whatexactlyistherelationshipbetweenstorypointsandhours?
Tohelpanswerthatquestion,IintroduceyoutoRachel,theproductowner,and
Jackson,theteam’sScrumMaster.WefindRachelandJacksoninameetingpriortoa
productbackloggroomingsession.Rachelissharingherconcernsaboutstorypointsin
generaland,morespecifically,abouthowtheteam’sstory-pointestimatesseemwildly
inconsistent.
TheStory
“I’mjustnotentirelysoldonstorypoints,”saidRachel.“Theyseemtoosoft.Ilikedthe
certaintythatestimatinginhoursgaveus.”
Jacksonwasabitperplexed.Overthepastfiveyears,hehadbeenonseveralteamsat
thiscompanythathadestimatedworkinhours.Everyoneofthoseprojectshadended
late,goneoverbudget,andultimatelyfailedtofullysatisfythecustomers.
“Rachel,”Jacksonsaidpolitely.“Itmightseemlikehoursgaveuscertainty,butIcan
assureyouthattheydidn’t.Imean,canyoutellmeoneprojectthatfinishedanywhere
nearitsestimate?”
“Well,no,”answeredRachel.“Butatleastwhenyougavemeanestimateinhours,I
knewwhatitmeant.Ithoughtstorypointsweresupposedtobemoreaccurate.Instead,it
feelslikefuzzymath.”
“Igetit.Iusedtofinditeasiertothinkinhours,too.Thewholeconceptofstorypoints
wasastruggleformeatfirst,butthenoneday,whenIwasmountainbikingwithafriend,
itallclicked.Yousee,mybuddyisareallygoodcyclist—I’monlyokay.Onthis
particularday,hepickedmeupandtoldmehewastakingmetohisfavoritetrailandthat
itwouldbeachallengingbutquickride,about30minutes.Whenwearrived,Irealized
thatIhadriddenthissametrailacoupleoftimespreviously.Iturnedtohimandsaid,‘30
minutes?Thisisatleastanhour-longride.’”
“Right.Youweretalkingintermsoftime,likenormalpeopledo,”saidRachel.“How
didthishelpyoufigureoutstorypoints?”
“Bearwithme—I’mabouttomaketheconnection,”explainedJackson.“Sowestood
thereatthetrailheadarguingabouthowlongtheridewasgoingtotake.Heexplainedthat
itwasahard,six-mileride,butthatitalwaystookhimabout30minutes.Iexplainedto
himthatthisparticularsix-mileridewasalmoststraightuphill,withatonofswitchbacks,
whichwasgoingtorequireeverybitofphysicalfitnessandskillthatIpossess.Iadded
thatthelasttimeIhadriddenthetrail,ithadtakenmeeverybitofanhour,ifnotmore.
Somewhereinthemiddleofourargument,itdawnedonmethatthiswaswhyteamsneed
storypoints—pointscapturetheamountofeffortastoryrequires,asopposedtothespeed
atwhichateamcanaccomplishthestory.Wecouldbothagreethatitwasarelatively
toughsix-mileride—whatwecouldn’tagreeonwassomethingmoreabsolute—exactly
howlongthesixmileswouldtake.”
“Sowhynotjustaverageitout?Whynotcompromiseandcallita45-minutetrail?”
askedRachel.
“Becausetimeisvariable.Howlongittakesanyriderwillvaryfromdaytoday,
dependingontheweather,therider’sfitnesslevel,howcrowdedthetrailis,andmore.
However,theeffortforthemostpart,willremainthesame.Andonceweagreeonan
effortestimateforthetrail,let’ssaywecallitatwo,wecanquicklydeterminehowthe
othertrailsintheareacompare.Asimilarsix-mileloopwouldbeatwo,butsomighttrails
thatarefifteenmileslongbutflatter,right?Oncewehaveacommonmeasuringstick,it’s
mucheasiertostartcomparingthevarioustrailsinthearea.”
“Thatmakessense—Icankindofseehowmeasuringeffortislesscontentious,and
ultimatelymoreconsistent,thandetermininghours.Plus,Irealizethatstory-point
estimatesarelessdependentonwhichteammemberisdoingtheactualworkandother
variables.Butifallthatistrue,whydoestheteamfinishforty-fivepointsonesprintand
thenstruggletocompletetwentypointsthenext?”Rachelasked.
“Ithinkthatisourbiggestissuerightnow—andissomethingweallagreeneedsto
improve.Becausetheteamisnewtostorypoints,we’restillprettyinconsistent.Someof
ourone-pointstoriesaretakingaslongasourthree-pointstories.Andatthesametime,
we’recompletingsomeofoureight-pointstoriesinthesametimeittakesustodoathree-
pointstory.
“Ithoughtweweren’tsupposedtoworryabouthowlongastorytakes,”Rachel
interjected.
“We’reonlysupposedtoworryaboutitinsofarasithelpsusmakemoreaccurate
estimates.LetmeshowyousomethingI’vebeenworkingon,”Jacksonadded,pullingup
adiagramonthescreen.
“Youaskedmeseveralsprintsagowhattherelationshipbetweenstorypointsandhours
was,”Jacksoncontinued.“Ithoughtitwasagoodquestion,sosincethenI’vebeen
chartingtherelationshipbetweenthenumberofhoursitactuallytakestheteamto
completeastoryandthatstory’sestimate.Ithoughtbydoingthis,I’dbeabletogiveyou
adefiniteanswer.Whatdoyousee,though?”
“Well,”saidRachel.“Itlookslikeaone-pointstoryhastakentheteamanywherefrom
onehourtofiftyhours.Butwhat’sweirdisthattwo-pointstoriesseemtotakebetween
twentyandfortyhours.Sothereisalotofoverlap.Atthesametime,though,thebigger
stories,asawhole,areconsistentlytakingmoretimetocomplete.”
“Exactly,”saidJackson.“Iseetwothings:first,astorypointimpliesarange—inthis
casearangeofhours—whichiscompletelyconsistentwitheverythingI’veread.Also,I
seethatrightnow,thoserangesoverlapalot,whichgivesussomeinsightintowhysome
sprintsweseemtogetatondoneandsomesprintswestruggletocompleteanything.”
“So,whatI’mhearingisthattheteamisbadatestimatingandthatstorypointsaren’t
helping.Sothatbringsusbacktomyoriginalquestion:Whycan’twejustusehours?”
“Ihearyou,”saidJackson.“ButIwouldsaythatweareallnoworseatestimatingstory
pointsthanwewereatestimatinghours.Infact,Isuspectwemightbealittlebetteratit.
Andkeepingthingsabstracteliminatesalotofthefearthatbogsotherteamsdown—fear
ofbeingheldtoacertaintimeestimate,oroftakingonastorythatmighttakeusalittle
longerthanitwouldanexpert.Usingstorypointsalsomakesestimationsessions,likethe
onewe’reabouttohave,gomuchmorequicklybecausewearen’tgettingcaughtupin
pointlessargumentsabouthowlongbutinmorerelativediscussionsabouthowmuch
effort.Thoseconversationsalmostalwaysleadtoouraskingquestionsthatuncover
assumptionsanddetails—stuffthatusedtostayhiddenwhenwejustaskedhowlong.”
“You’vegotapointthere,”agreedRachel.
Jacksonnoddedandcontinued.“Basically,storypointskeepusmovingandgetustoan
estimatethatisaccuratewithoutbeingoverlyprecise.However,trackinghowmanyhours
eachstorytakes,asI’vebeendoing,alsogivesustheopportunitytobemoreaccuratein
thefuture—whichwillbebetterforallofus.Withthisdata,wecanaskthreecritical
questions:Whichofthestoriesthatwehavecompletedsofarappeartobeoutsidethe
range—tohavehadaninaccuratestory-pointestimate?Areanyofthestoriesremainingin
theproductbacklogsimilartothemisestimatedstories?Ifso,shouldwechangethe
estimatesonthosestories?”
“IthinkIgetit,”saidRachelexcitedly.“Toreturntoyourbikeanalogy,let’ssayyou
gaveatrailafivebecauseitwasreallylongandyoufeltlikeithadalotofuphillportions.
Thenyouactuallyrideitanddiscoverthattheuphillportionsweremoregradualthenyou
thoughtandthatmostofthetrailispaved.Aftertheride,youdecidethatyoushouldhave
estimatedthattrailasathree.Youthentakealookattheothertrailestimatesyouhad
madeandrevisesomeofthem,keepinginmindthattheinclineandthesurfacearegoing
toimpacttheamountofeffortthetrailrequires.Youalsokeepthosefactorsinmindwhen
evaluatinganynewtrails.”
“Right.Becausetheyimplyarange,storypointsgiveusaccuracy.Wethentakewhat
welearnastheprojectprogressesandcombinethatknowledgewithourhistoricaldatato
improveonthataccuracyovertime,andtherangesgetsmaller.Aftereverysprint,we
needtoanswerthosethreequestionsImentionedearlier,andthenadjusttheplan
accordingly.Oncewegetinarhythm,Ithinkyou’llseethatwe’llbefarmorepredictable
thanteamsthatestimateeverythingupfrontusingdaysorhours.”
Andtheywere.Sprintaftersprint,theteamwasabletotightenitsaccuracyonstory-
pointestimates,enablingtheteammemberstobefarmoreconfidentintheirsprint
commitmentsandtoworkatamoresustainablepaceduringeachsprint.
TheModel
LikeRachel,manyproductowners,ScrumMasters,andteamsstrugglewiththe
correlationbetweenstorypointsandhours.Theyhavetroubleunderstandinghowtasks
relatetostorypoints,orwhyit’sadvisabletoevenusepointsinthefirstplace.Theywant
toknowwhatthepointsstandfor:time,complexity,orsomethingelse.
Icompletelyunderstand.WhenIfirstbeganusingScrum,ittookmeaboutsixmonths
towrapmyheadaroundusinganabstractmeasureasopposedtosomethingmorefamiliar,
suchashoursordays.WhatIlearned,though,wasthatstorypointshavedistinct
advantagesthatmakelearninghowtoworkwiththemcompletelyworthwhile.Hereare
thetopthree:
1.Thebuilt-inrangeshelpalleviatethefearofanestimateturningintoacommitment.
2.Therelativelywiderangethatstorypointsofferismoreaccuratethananarrowor
preciseestimate.
3.Talkingaboutstorypointsfocusestheconversationontheworkitselfinsteadofthe
timeinvolved.
FearFactor
Toomanytimes,asoftwareteam’sestimatesareturnedintocommitments—some
managerupthechainaddsupallofthehourestimatesandsays,“Okay,then,you’llbe
doneinxhours.”Then,whentheteamtakeslongerthanthatprecisenumberofhours,
managementdemandsanswers.Imagine,forexample,thatonMonday,youaskmehow
longit’lltakemetowritethischapter.Ithinkforamomentandthensay,aboutfivedays.
YoushowuponFridayanddemandafinishedproduct,whichIdon’thave.That’sbecause
whenIsaidaboutfivedays,Imeantsomewherebetweenfourandsevendays,depending
ontheotherprojectscompetingformytimeandwhatobstaclesIrunintowhen
researching,writing,andediting.Youtranslatedmy“about”into“exactly”andmadeita
commitment.IfI’dknownyouweregoingtoshowupinfivedaysandexpectafinished
product,Iwouldhavepaddedmyestimate—probablydoublingittosomethingliketen
days.Why?BecauseIknowI’mgoingtobeheldaccountabletoapreciseestimate.
Teamsdothesamething.Whentheirestimatesareroutinelyturnedintocommitments,
whichiseasytodowhentheestimatesareconcretemeasuressuchastime,teammembers
tendtohaggleovertheexactnumberofhours,outofafearofbeingwrong.They,likeme,
alsotendtoprotectthemselvesbypaddingtheirestimates.
Storypointshelpdiscouragethisbehavior.Whenteamsadoptstorypoints,their
estimatesaremoreabstract,partlybecausetheyarebasedonoverallteameffort.Inother
words,astory-pointestimateisnotaguessathowlongit’sgoingtotakeMaryorBobto
completeatask,it’sanestimateofhowmucheffortisinvolvedincompletingthetask,
regardlessofwhodoesthework.Determiningastory-pointestimaterequirestheteamto
talkaboutwhattasksareinvolvedindeliveringthecompletedstory,andwhennecessary,
togetclarificationfromtheproductowneraboutthestoryitself.Then,wheneveryone
understandsthestory,theteamcomestoconsensusonthestory’sestimate.Everyone—the
team,theScrumMaster,andtheproductowner—understandsthatthenumberofpoints
representsanaccuraterangeofeffortratherthanaprecisecommitmentastohowlongthe
storywilltaketofinish,resultinginteamsoftenarrivingatanestimatewithmuchless
argumentoraugmentation.
WideRanges
AsJackson,fromthischapter’sstory,showedRachelwithhischart,storypointshave
built-inranges.Rangeshelpteamsbemoreaccuratewithoutbeingoverlyprecise.After
all,wearen’tnearlyasgoodatguessingaswethinkweare,especiallywhenwehave
limitedknowledgeorunderstandingaboutwhatwe’reestimating.InthebookSoftware
Estimation:DemystifyingtheBlackArt,authorSteveMcConnelldiscussesashort10-
questionquizthatheusestotestaperson’sestimationaccuracy.Thequestionsrequire
peopletoprovideahighandlowestimaterangeforquestions—suchasthenumberof
milestothesunorthetotallengthofthecoastlineofthePacificOcean—withoutlooking
upthecorrectanswers.Heaskspeopletoprovidearangewideenoughthattheyare90
percentconfidenttherightanswerwillfallsomewhereintheestimatedrange.
I,liketheotherrespondents,didn’tdowellonthequiz.Myanswerforthetotallength
ofcoastlineforthePacificOceanwas5,000miles/8046kilometersto50,000miles/80,467
kilometers—arangeIthoughtwasalmostcomicallywide.Itturnsoutitwasn’twide
enough.Thecorrectansweris84,300miles/135,663kilometers.Ifailedtofactorinallthe
islands,theAntarcticcontinent,andmore.That’sjustoneofmanyquestionswhereI
guessedwrong.McConnellreportsthatmostpeoplewhentakingthisquizcorrectly
answeranaverageof2.8questionsoutof10.Fromtheseresults,McConnellconcludes
thatwhenapersonbelievestheyare90percentconfidentinanestimate,weshouldexpect
thattheestimatewillonlyberightabout30percentofthetime.Otherstudiesconfirmhis
findings[JØRGENSEN][ZULTNER].
RememberhowIthoughtmyrangeofanswerswasridiculouslywide—yetitturnedout
tobenotwideenough?McConnellassertsthatnoone’srangesarewideenough,because
(asofthiswriting)noonehasscoreda10/10.Fromthis,McConnellconcludesthatpeople
areconditionedtobelievethatnarrow-rangeestimatesaremoreprecisethanwide-range
estimates.Widerangesseeminaccuratebecausetheyaren’tprecise,butifyourknowledge
andunderstandingonlysupportawide-rangeestimate,thenawiderangeisactuallymore
accuratethananarrowrange.Narrowrangesoftenrestonanunsupportedprecision,
whichmiscommunicatesthedegreeofaccuracyintheestimate[MCCONNELL01,02].
Storypointsgiveteamsthefreedomtocommunicateawiderrangethantheymightbe
comfortablewithwhenusingameasureaspreciseastime.Inthischapter’sstory,Jackson
knewthisinstinctivelybutwashavingtroublecommunicatingittoRachel.Tobetter
understandtherelationshipbetweenstorypointsandhours,Jacksonbegancollecting
sprintdatathatcomparedhoursperstorytothestory-pointestimates.Tounderstandhow
thisdatahelpsteamsimprovetheirestimationaccuracy,andhowstorypointshavebuilt-in
ranges,lookfirstatasinglesprint’sworthofdatafromJackson’steam,showninFigure
32-1.
FIGURE32-1Asinglesprintviewintostory-pointandhourdata
Figure32-1showsthetotalactualnumberofhoursthatallofthetasksassociatedwitha
givenstorytooktocomplete.Forexample,aone-pointstorytooknearly50hourswhile
anotherone-pointstorytookabout10hours.Thismeansthat,forthissprint,theteam
completedtheirone-pointstoriesinarangeof10to50hours.Theteam’scompletiontime
fortwo-pointstoriesrangedfrom35to70hours.Thethree-pointstories,however,both
werecompletedatrightaroundthe75-hourmark,at73and75hours,whichisavery
narrowrange.Theoneandonlyfive-pointstorywascompletedin123hours,andthelast
story,aneight-pointstory,tooktheteamaround110hourstocomplete.
Thisinitialviewprovidesvaluableinformation.It’smuchmorepowerful,though,when
combinedwithdatafromseveralsprints.Atthatpoint,biggerpatternsstarttoemerge,
creatingamuchclearerpictureoftheteam’sestimationtrends.Figure32-2shows
multiplesprintsworthofdata.
FIGURE32-2Patternsemergewithdatafrommultiplesprints
InFigure32-2,youcanseethattheteam’shistoricalone-pointstoryrangeis~5to~50
hours.Similarly,thethree-pointrangeis~40to~85hours.Theadvantagetocompiling
thedatafrommultiplesprintsisthatitallowsateamtoseehowitisdevelopingand
improvingintermsofitsestimates.Awiderdistributionindicatesmorevolatilityand
inconsistencywithestimationaccuracy.
Inthekeystosuccess,Iexplainhowtocollectandusethisdata,butinessence,thegoal
isthatovertime,asateambetterunderstandsitsownestimationtendenciesandthe
projectitself,therangeswillnarrowandtheteam’sestimateswillbecomemore
predictable,likethepatternsinFigure32-3.
FIGURE32-3Astheteamlearnsmoreabouttheproject,therangesnarrow.
It’sHow,NotHowLong
Besideshelpingtoeliminatefearandhavingbuilt-inranges,story-pointestimatesalso
improveaccuracybecausetheconversationstheyfosterhelpteamsbetterunderstandthe
workofthesprintandthestoriesthemselves.Thinkingintermsofstorypointsallows
teamstostopfixatingonatimeestimate—decidinghowlongitmighttakesomeoneto
completethework.Instead,theteamsareabletofocusondeterminingwhattasksare
involvedincompletingastory.Todeterminethis,theteammemberstalkwitheachother
andtheproductownerabouthowtheymighttackleaparticularstory,whattechnologyis
involved,whathiddenissuesmightpopup,andwhatassumptionsmightneedtobe
fleshedout.Theseconversationsincreasetheteam’sknowledgeabouteachstory,which
willhelptomaketheestimatesmoreaccurate.
Forexample,ifI’dbeenworkingwithafewfriendstoestimatethelengthofthePacific
coastwhenItookMcConnell’squiz,someonemighthaveaskedaquestionIhadn’t
thoughtofonmyown,suchas“WhataboutAntarctica?”or“Whatabouttheislands?”
Theinformationwewouldhavegainedfromcollaborativelythinkingthroughtheproblem
wouldhaveimprovedourestimates—wemighthavesaid,“Fivethousandmilesis
ridiculouslylow.It’sgottobesomewherebetween25,000and100,000miles.”Andyou
knowwhat?Ifthathadbeenouranswer,togetherwewouldhavebeenright!
Thesamethinghappenswithteamswhentheycollaborativelyarriveatastory-point
estimate.Theconversationstheyhavemaketheirestimatesbetter.And,asIdiscussinthe
nextsection,knowingmoreabouttheirestimationtendenciesandhavingconversations
aroundwhycertainstoriesweremisestimatedcanhelpmakefutureestimatesmore
accurateaswell.
KeystoSuccess
Tosucceedwithstory-pointestimation,youneedtobeabletodotwothings:collectthe
rightdataandusethatdataintherightway.
CollectingtheRightData
Collectingthisinformationiseasy—itrequiresonlytwopiecesofdata:thestory-point
estimateatthetimethestorymovedfromtheproductbacklogtothesprintbacklogfor
completionandthesumofthehoursforallofthetasksperformedtoaccomplishthat
story.
First,createaspreadsheetsimilartotheoneinTable32-1.(Youcandownloadmineat
www.mitchlacey.com.)Then,pickastory-pointgroup.Foreachofthestoriesinthat
group,reviewandsumupthetotalhoursforeachtaskthatwasneededtoaccomplishthe
story.Recordthedatainthecorrespondingrowand,optionally,capturethesprintduring
whichthestorywasaccomplished.Thenmovetothenextstoryinthestory-pointgroup.
TheresultwilllooksimilartoTable32-1.Note,youdonotneedtousetheFibonacci
sequencetoestimatestoriesforthistowork;anystory-pointvaluesworkforthisexercise,
aslongastheyareconsistentsprintaftersprint.
TABLE32-1SampleDataCollectionTable
Iwanttoaddacautionarynoteaboutthisdata.Youarecollectingthisdataforone
reason:sothatyoucanshowtheteampatterns—timesthatastoryfelloutsidetherange
andopportunitiestoincreaseaccuracybycomparingfuturestoriestoonesthathavebeen
completedinthepast.Youshouldneverusethedatatoreprimandtheteamabouthow
longaparticularstorytookortochastisetheteamabouthowwrongtheestimateshave
been.
UsingDatatoMakeImprovements
Onceyouhaverecordedtheteam’shistoricaldata,youcancreateachartsimilartothe
oneshowninFigure32-4.Thechartisessentialinhelpingteammembersseetheoverall
patterns.Theycanthenidentifystoriesthattheymighthavemisestimatedandhavevital
conversationsaboutwhytheestimateswereoffandhowthatmightchangethewaythey
estimatefuturestories.
FIGURE32-4Overlayofcurrentsprintstoriestothehistoricaldatatodate
Thetimetohavetheseconversationsisintheproductbackloggroomingmeeting,with
theproductownerpresent.Startbylookingatdatafromyourlastsprint.Howdothis
sprint’sstoriesrelatetothehistoricalrangesforthesamesizestories?WhatIprefertodo
iscreateachartthatoverlaysthelastsprint’sworthofdataontoallofthehistoricaldata,
asillustratedinFigure32-4.
InFigure32-4,youcanseethatoneofthissprint’stwo-pointstoriesisoutsidethe
team’shistoricaltwo-pointrange;itseemsinsteadtobelonginthethree-pointstoryrange.
Similaroutliersexistinthefive-pointandeight-pointgroupingsaswell.Whenyousee
storiesthatfalloutsidethetypicalrangelikethese,asktheteammemberstotalkabout
thosestories.Askthemtodiscusswhythesestoriesrequiredmore(orless)effortthanthe
teamhadanticipated.Askthemwhethertheywouldhaveestimatedthemdifferentlybased
onwhattheyknownow.Thenask,Dowehaveanystoriesthatarestillintheproduct
backlogthataresimilartotheseandthatweshouldrevisitandre-estimate?
Theteammaydecidethat,whiletherearesimilarstories,thestory-pointestimates
shouldremainthesame;ortheymightdecidetoadjustcertainstories’estimates.You
shouldexpectre-estimationtobecommonatthebeginningoftheproject,becausethe
teamhasnotyetacquiredmuchknowledgeabouttheprojectitself.Asprojectsmature,
however,thepatternwillbegintostabilizeandlookmorelikethenarrow-rangeidealseen
inFigure32-3.
Remember,thevalueinestimatingorre-estimatingstoriesisnotfoundinthenumber
theteammembersassigntoanygivenstory,it’sintheconversationstheyhave,amongst
themselvesandwiththeproductowner.Theseconversationsfocusonuncoveringrisks
andremovingassumptions,notonfindingtheperfectestimate.
Onelastwordofadviceaboutusinghistoricaldata:Neverchangetheestimatesofwork
thathasalreadybegun.Onceastoryispartofasprint,regardlessofwhetherithasbeen
completedornot,itsestimateislocked.Onlyadjusttheestimatesoffuturestories,not
onescompletedorcurrentlyinproduction.
REFLECTonStoryPoints
Ihopethischapterhashelpedyourealizethatthereisnotadirectone-to-onerelationship
betweenstorypointsandhoursandthattherenevershouldbe.Whenworkingwithstory
points,IadvisepeopletoalwaysREFLECT:range,estimate,focus,learn,effort,
communicate,team.
Range:Storypointsimplyarange.Rangesprovideaccuracyandhelpkeepfearat
bay.
Estimate:Estimateandre-estimate.Reviewingtheproductbacklogandestimating
anynewstoriesis,atleast,aonce-per-sprintactivity.Remember,too,thatstory-point
estimatesarenotcommitments.Ifnecessary,teamscanchangetheestimateofany
storythatisnotcompleteorinproduction.
Focus:Onimprovement.Trackingtherelationshipbetweenstorypointsandhours
highlightsareaswhereteamscanfocustheirenergytohavemoreconsistent,
predictableranges.
Learn:Teamswillmakemistakes,andlearningfromthosemistakesiscritical;
applyingthelearningtofocusonimprovementisevenbetter.
Effort:Storypointsarebasedoneffort—notcomplexity,nothours,notdays.They
areanestimateoftheeffortneededfortheteamtodeliverthestory.
Communication:Storypointsfosterconversations,whichhelptoidentifyrisksand
removeassumptions.Communicateoften.Talkingthroughthestoriestogetherkeeps
everyoneonthesamepage,allowingtheretobeaone-teammindset.
Team:Continuouslyworktobuildaone-teammindset.Storypointshelpdrivecross-
functionalityandcreatecollectiveownershipacrosstheteam—elementsthatare
essentialforsuccessfulScrumteams.
Storypointsprovideenormousvalueand,whenusedcorrectly,offerarhythmical
cadencethatallowsteamstodeliversmoothlyandconfidently,timeaftertime.
References
[COHN]Cohn,Mike.2005.AgileEstimationandPlanning.UpperSaddleRiver,NJ:
PearsonEducation.
[JØRGENSEN]Jørgensen,M.,andD.I.K.Sjøberg,2004.“TheImpactofCustomer
ExpectationonSoftwareDevelopmentEffortEstimations.”InternationalJournalof
ProjectManagement22(4):317–325.
[MCCONNELL01]McConnell,Steve.2006.SoftwareEstimation:Demystifyingthe
BlackArt.Redmond,WA:MicrosoftPress.
[MCCONNELL02]McConnell,Steve.2015.Personalcommunication,8September
2015.
[ZULTNER]Zultner,RichardE.,1999.“ProjectEstimationwithCriticalChain:Third-
GenerationRiskManagement,”AmericanProgrammer,12(7):4–12.
Chapter33.ImmersiveInterviewingandHiring
Yournewhire,theoneyouspentweeksrecruitingandscreening,hasturnedouttobea
badfit.You’renowinatightspotandhavetodecidewhethertocutyourlossesorinvest
infixingtheproblem.Meanwhile,theworkyouhiredthepersontodoispilingupand
yourprojectissuffering.
Thegoodnewsisthatyoucanavoidthissituationifyouscreenforthecorrectthings
whenhiring.Thestorythatfollowsillustratesanimmersiveinterviewingstylethatcan
helpensureyouhiretherightpeopleforthejob.
TheStory
ScottandJaneen’sbusinesswasgrowing.Their100-personcompanyhadasolid
reputation.Thetroublewasthattheywerehavingahardtimekeepingupwithallthenew
businesstheyweregenerating.Itwastimetohiresomenewpeople.
PriortopartneringwithJaneen,Scotthadworkedatalargesoftwarecompany,where
hefeltthehiringpoliciesgotinthewayoffindingthebestpeople.Hewantedtoestablish
betterproceduresattheircompanywhileitwasstillsmallenoughtodoso.Hebroughtup
hisideasduringameetingwithJaneen.Shewasnotimmediatelyconvinced.
“Scott,I’mnotfeelingthesameurgencyyouareaboutrevampingourhiringprocess.
We’vebuiltagreatcompanybyhiringpeoplethisway.Whyfixwhatisn’tbroken?”
Janeenresponded.
“Iagreethatwe’vehadsuccesssofar,”repliedScott.“Aswegrow,though,youandI
won’tbeabletopersonallyscreeneverynewhire.Weneedtohaveascalablemodelthat
buildsonwhatwevalueasacompany.Thinkaboutit.Evenwithyouandmepersonally
screeningpeople,we’veendedupwithafewbadhires.RememberVictor?Thatguywas
awfulwhenitcametoworkingwithpeople.Sure,heknewhisstuff,buthemade
everyonearoundhimmiserable.”
“Ugh.Iremember.Hejustnevermadeaconnectionwiththeteam.Butwhenwegave
himsomethingtodothatdidn’trequirecollaboration,hewasfocusedandwegotalotout
ofhim.Wehiredhimforhisskills,nothispersonality,”JaneenremindedScott.
“Iagree,althoughevenwhenhewasfocused,hisattitudetowardpeoplewasawful.I’d
ratherhaveateamplayerwhocanworkwithothersandhavehalftheskillofVictorthan
gothroughthatagain,”explainedScott.
Janeennodded.“True.Andwhat’sworseisthatbadhirestendtosnowballintoother
losses.Whichremindsme,didIevertellyouthatVictorwastherealreasonwelost
Mark?”
“Nooooo!”exclaimedScottinsuddenrealization.
“Yep,heleftbecauseofVictor.Hedidn’ttellmostpeopleVictorwasthereason,buthe
didtellme.Hesaidlifewastooshorttodealwithpeoplelikethat,”explainedJaneen.
“Thatwasahardloss.We’restillfeelingtheimpactfromthat,”Scottsaidwithasigh.
“Iknow.Itwas.Butthethingis,Scott,wegetitrightnineoutoftentimes.I’mnotsure
wecandobetterthanthat.We’regoingtomakemistakes,”Janeenreplied.
“True,butremember,evenifweacceptthatwe’regoingtomisssometimes,we’restill
goingtoneedtoscalewhatwearecurrentlydoing.Right?Imean,we’regoingtohaveto
makechangeseventuallyanyway.I’dliketotrysomethingnewwhileyouandIcanstill
beinvolvedintheprocess,sowecanpersonallyseewhetheritworksornot.Now,I’ve
beengivingthisalotofthought,andIthinkIhaveawaytohirethatwillscreenforthe
pertinentitemsandisscalable,”Scottsaidenthusiastically.“Wanttohearaboutit?
“I’mintrigued,”saidJaneen.“Goon.”
“Weneedtostartwithwhatwevalueasacompany,”Scottexplainedashewrotethe
companyvaluesoutonthewhiteboard.
Scottcontinued,“Rightnow,asyousaid,we’refocusedoneverycandidate’stechnical
capabilities.Andweassumethatbecausewe’rehiringmostlysenior-levelpeople,they
haveasimilarsetofvalues.Butwedon’thaveanywaytoscreenforthem—nothingwe
dohelpsusdetermineifacandidatesharesourcompanyvalues.”
“True,true,”agreedJaneen.
Scottcontinued,“I’mconvincedweneedtolookatcompetenciesandvaluesasmuch
aswelookattechnicalskills.Technicalskillscanbelearnedinmonths,buttheabilityto
workwellaspartofateamissomethingthattakesaverylongtime.”
Janeennoddedinagreement.“Okay,sowhatdoyoupropose?”
“Well,Ithinkweshouldtakesomelessonsfromhowtheteamshavebeenpairingand
buildonthat.”
“Teaminterviews,then,”Janeensaidthoughtfully.“So,you’resuggestingthatthe
candidatespairwithexistingteammembers—doimmersiveinterviewing.Iliketheideain
concept,buthowwouldwestandardizethat—keepitobjectiveandmakesurewe’rebeing
consistentfrompersontoperson?”
“First,Ithinkwewouldneedtospendsometimetrainingtheteammembersaboutthe
processitselfandhowtheinterviewisakindofforecast.Weareforecastingwhetherthe
personwillbeagoodfitandhowlongit’lltakethatpersontobecomeacontributingteam
member,”saidScott.
“Yes,andwe’dneedtoshowthemthethingsweneedtoconsiderwhenmakingthat
forecast:thecompetencies,skills,andtheleveloftherolewe’rehiringfor—”added
Janeen.
Scottinterrupted,“Thelevel?”
“Yes.Doweneedsomeonejunior-level,senior-level—oriseitheroneacceptable
dependingonthecandidate?Thelevelofmaturityandexpertisewe’llexpectwillbe
differentdependingonthepositionwe’rehiringfor.”
Scottnoddedandadded,“Goodpoint.Andwe’dneedtounderstandandcommunicate
whywe’rehiring.Arethereorganizationalissuesthatareblockingprogress?Istheskillset
thecompanyislackingonethatcouldbefilledbyateamconsultant,ordowetrulyneeda
newcoreteammember?Doestheteamneedsomeoneinalearningroleoraleadership
role?Theanswerstothesequestionsdirectlyaffectwhowe’llhire.”
“Lastbutbynomeansleast,weneedawaytomakethesedeterminationsina
repeatable,consistentwayacrossthecompany,”addedJaneen.
“Yes.Absolutely.Weareinconsistentwithourapproach,andwetreatitmorelikean
individualburdenforanhourortwoonanygivendaythantheteameventitshouldbe,”
agreedScott.
“You’vesoldme,althoughIhaveanideaforhowtomoveforward.We’vegotthatone
teamwho’sbeenclamoringforanewmember.Maybewesitdownwiththeexistingteam
members,explainourgoals,andworkwiththemtocreateapreliminarymodel?Thenwe
runatrialwiththatteam—theycanbethefirsttohiresomeoneusingthenewprocess,”
suggestedJaneen.
“Ilikeit,”saidScottenthusiastically.“Let’sgetstarted!”
TheModel
Hiringpracticescomeinmanydifferentshapesandforms.Somecompaniesconduct
whiteboardteaminterviews,othershaveformalone-on-oneinterviews,whileothersstart
withcoffeeandasocialchat.
Howevertheinterviewisstructured,mostorganizationsfailtoaskthemostimportant
questions,notofthecandidatesbutofthemselves:
1.Whyarewehiring?Whatproblemsarewereallytryingtosolve?
2.Shouldweevenbehiring?Istherepotentiallyanimpedimentinsidethecompany
thatisgoingunresolved,andanewhireisonlythemask?
3.Whatarethemostimportantskillsandcompetenciestoconsider?
4.Howdowedecidewhotohire?
However,beforedelvingintothesequestions,Iwanttobeginwiththedefinitionofan
interviewthatScottputsforthinthischapter’sstory:aforecast.
Forecast
Toforecastistomakeapredictioninadvance.Whenhiringpeople,companiesmake
predictionsbasedonwrittenandverbalcommunicationastowhetheragivenpersonwill
beagoodfit,bothculturallyandskillfully,inthecompanyoveraperiodoftime.
Althoughsomeorganizationsdothisbyhavingatrialperiod,mostcompaniesinthetech
industryhiresolelyonthebasisoftheinterview.Thatmeanstheforecastmadeinthe
interviewhastobefairlyaccurate.Yetthisforecastisonlyasgoodasthecommon
understandingofwhyandhowtheorganizationishiring.
HirefortheRightReasons
Sowhyareyouhiring?Tomeetcurrentneeds?Becauseyouanticipateanewcontract?Or
areyoupartofahierarchicalorganizationandfeeltheneedtobuilduponeparticular
departmentorhavemoredirectreports?Somecompaniessimplygoonhiringbinges,
wheretheystartouthiringfortherightreasonsbutthencan’tseemtostop.Ithinkofthis
likeanicecreamorchocolatebinge.Youoverdoitbecauseittastesandfeelssogoodat
thetimethatyoucompletelyforgethowmuchpainyou’regoingtobeinlater.
Brooks’lawstatesthat“addingmanpowertoalatesoftwareprojectmakesitlater”
[BROOKS].Oneofthereasonsthishappensisthatsomecompanieshirepeopletomask
orcoveruplargerissues,whenwhattheyreallyneedtodoissolvetheunderlying
problem.Forexample,complaintsofnotenoughtestersisoftenasignofpoortest
automation.Reportsofnotenoughdeveloperscansometimespointtoalackof
collaborativeteams.I’veevenseenpeoplehireadditionalprojectmanagerstobringa
projectinontimewhentherealproblemislackofteamcommitment,goals,andbusiness
alignment.
Beforecreatingajobdescriptionormakinganexistingonepublic,makesurethata
newhireaddressestherealproblemyouaretryingtofix.Itdoesn’tmatterwhoyouhire,
goodorbad,ifyoudon’tunderstandthereasonyou’rehiringinthefirstplace.
CostofaBadHire
Everyonehasbeenpartofabadhire—eitherasthepersondoingthehiring,theperson
workingwithoronboardingthenewhire,orthepersonwho’sjustbeenhired.Everyone
knowsitfeelsbad,butwhatdoesitcost?Careerbuilder.com,alargeonlinecareersite,
runsfrequentsurveystofindoutjustwhatabadhirewouldcost.Theresultsare
staggering,asshowninTable33-1[CAREERBUILDER01,02].
TABLE33-1Percentofrespondentsthatidentifiedfactorsofabadhire
RememberVictorfromthischapter’sstory?Victorwasclassifiedasabadhirebecause
hecouldnotworkwellwithotheremployees.Tomakemattersworse,hisconductcaused
oneofthegoodhirestoleavethecompany.It’snowondercompanyculturesufferswhen
thewrongpeoplearehired!
Let’slookatthefactorstoconsiderwhenhiringthatmighthelpyouavoidthesecostly
disasters.
Skills,Competencies,orBoth
Let’ssayyourreasontohireisthatyouneedmoreC#programmers.Mostcompanies
wouldscreenprospectivecandidatesbasedonthatparticularskill:DotheyknowC#or
not?Whilethatmakessenseonthesurface,itmightnotbethebestwaytomakeahiring
decision.Skills,afterall,areeasytolearnandcanbepickedupinamatterofmonths.A
developerwhoknowsJavabuthasnevertriedC#willbeabletopickupC#afterafew
months,especiallywhenpairedwithanexperiencedC#programmer.Thisassumes,of
coursethatthedeveloperhasanabilityandwillingnesstolearn,toaskquestions,toshare
strengthsandweaknesses,toputegoaside,andtohavethecouragetolearnnewskillsin
ordertobesthelptheteam.
Let’sreversethat,then,andimaginewearelookingforaveryexperiencedC#
programmerbutallofthecandidatesareuncomfortableworkinginpairs.Thismeansthey
maynotwanttoimproveorbranchoutfromC#,resultinginlostopportunitiesfor
learningnewlanguages.Further,theymaynotenjoymentoringothersorpairing,meaning
nooneelsebenefitsfromtheirextensiveskillset.Nomatterhowseniororexperiencedthe
candidatesare,theywouldnotbeagoodfitonanyagileteam,becauseofthe
misalignmentofvalues.
Basedonthosetwoscenarios,screeningcandidatesshouldalwaysinclude
competencies—howtheythink,howtheyinteractwithothers,andwhattheyvalue.These
willimpacthowquicklytheycanassimilatewithateamandhowrapidlytheycanlearn
newskills.Afterall,youmightneedthesesamepeopletolearnyetanothernewlanguage
afewprojectsdowntheroad.Ingeneral,youshouldhireforlong-termfit,notforshort-
termexpertise.
HowtoHire
Inmytimeworkingforandconsultingatcompaniesbothlargeandsmall,I’veseenjust
abouteveryhiringstyleandjustabouteveryinterviewquestion.Somequestionswere
quiteobscure:Tellmeyourfavoritesportsteam.Otherquestionsweremorebasic:Doyou
haveafive-yearplan?
ScottandJaneenwantedtofindaninterviewstyleandquestionsetthatwasrepeatable,
consistent,andhelpedscreenforthecompanyvalues.Whattheydecidedtodowasto
applyagiletechniquestohiring—morespecifically,pairing.
Immersiveinterviewingisahiringandforecastingtechniquethatreliesonscreening
ratherthanaseriesofquestions.Itsharessomecharacteristicswithatechniquefrom
MenloInnovationscalledExtremeInterviewing[MENLO]butisnotnearlyasscripted.In
immersiveinterviewing,teamshavealistofitemstovalidatewithcandidates.Arethe
candidatesagoodculturalfit?Aretheyabletogiveandacceptcriticism?Arethey
comfortablewithconflict?Thesequestionsarebestansweredthroughimmersion.
Recallthataninterviewisaforecastandhowimportantitistomakeanaccurateone
whenhiring.Remember,too,thatintheAgileManifesto,thepreferenceisforindividuals
andinteractions,workingsoftware,andrespondingtochange.Why?Theyallleadto
success.Agilehiringshouldbenodifferent.Youneedtoseehowacandidateworks,
thinks,andbehavesintherealworld—themetaphoricalequivalentofworkingsoftware.
Youwanttoknowhowacandidatewillinteractwiththeothermembersoftheteam.And
youwanttounderstandwhetherthecandidateiscomfortableinanenvironmentof
feedback,continuousimprovement,andchange.
Whenitcomesdowntoit,traditionalapproachestohiringonlydemonstratehowwell
thecandidatecananswerthequestionsoftheinterview.Whilethoseanswersmightbean
honestreflectionofacandidate’sabilityandbeliefs,theyareanalogoustoanartificial
shell,showingtheintendedfunctionalityofasoftwarefeature,withoutanythingbacking
it.Idon’tknowaboutyou,butIalwaysfeelmuchbetteraboutmyhiringforecastifI
interactwiththepersoninreal-worldscenarios,withallteammembers.Research
confirmsthatIhaveagoodreasontofeelthisway.Ina2002whitepaper,Menlocitesthat
outof20peoplehiredthroughtheirExtremeInterviewingmethod,theylostonlyone
throughattrition[MENLO].Myexperiencehasbeensimilar.CompaniesthatIam
workingwithtodayreportmuchlowerattritionlevelsforteammembersthatarehired
withanimmersiveinterviewapproachasopposedtoastandardinterviewapproach.
ThepotentialforamoreaccurateforecastiswhyteamsI’veworkedwithpreferto
immersecandidatesinoneormoredaysinthelifeofaprojectteam.Thehiringmanager
oranHRpersonworkswiththeteamtoidentifywhatcompetenciesandskillsthe
candidateshoulddisplay.Theteamaskseachcandidatetopairwithteammembersinthe
teamspace.Theteammembersthenlookforevidenceofthenecessaryattributeswhile
workingwiththecandidate.Atthesametime,thecandidateisencouragedtowritecode,
test,anddocument—toactasateammemberfortheday.Candidatesshouldbeinvitedto
thedailystanduporthedemoorretrospectiveifthetimingworksout.
Thepointoftheimmersiveapproachistoputcandidatesintheenvironmentinwhich
theywillbeexpectedtoperform.Thisenablesteammemberstoevaluatethecandidates
beforereachingconsensusonwhichcandidatewouldbethebestfit,anditenables
candidatestoevaluatewhetherthecompanyisatruefitforthemaswell.
CandidateScreening
Inthestory,JaneenandScottagreedthattheircurrenthiringprocessdidnotscreenfor
competencies.Victorwasanexampleofsomeonewhohadslippedthroughthecracks.He
hadtherightskillsbutlackedcompetenciessuchasbeingopen-minded,beingableto
learnnewthingswhileteachingothersnewskills,andvaluingcollectiveownership.Many
organizationstrytosolvethisproblembydevelopingastandardquestionsettouse
companywide.IprefertoscreenbasedontheactionsandbehaviorsIobserveratherthan
onhowacandidateanswersasetofquestions.
Duringanimmersiveinterview,it’seasytogaugeacandidate’sskillsandexperience.
Codingnotuptosnuff?It’seasytosee.Troublewithtest-drivendevelopment(TDD)?
That’sobvious,too.There’snohidingwhenyourhandsareonthekeyboardandsomeone
iswatchinghowyouwork.Competenciesmightseemalittlehardertojudge,butthey
reallyaren’t.It’sjustamatteroflearningwhattolookforandcommentonthe
competenciesapersonexhibitswhileworkingwithyou.
Forexample,let’ssayScottandJaneen’scompanyishiringanewcandidateforafive-
personteam.Thecandidatewillbescheduledtoworkinapairwitheachmemberofthe
teamthroughouttheday.Duringthattime,theteammembersarenotgoingtobeasking
typicalinterviewquestionssuchas,“Tellmeaboutatimeyoudemonstratedawillingness
tolearn”or“Whenmakingmistakes,whatdoyoudototakeaccountabilityforthem?”
Thatwouldbeawasteoftime.Instead,theteammemberswillbeabletowitnessfirsthand
whetherornotthecandidateseemswillingtolearnandwillobservewhathappenswhen
thecandidatemakesamistake.
PreparationandSetup
Ifthisisthefirsttimeyouhavedonethistypeofimmersiveinterviewing,ensureyou
reviewyourcompanyvalueswiththeteammemberswhowillbepartoftheinterviewas
wellaswithanyfunctionalhiringmanagerorHRmanager.Makesureeveryoneisonthe
samepageastowhyyou’rehiring,whateachofthecompetenciesyouarehiringfor
mean,andwhichspecificbehaviorstheteamshouldlookforduringtheinterview.Having
acompanyleaderworkwiththeteamtoclarifythehiringrequirementswillhelpreduce
riskandallowtheteamtoaskquestionsandgetclarificationonwhattheyarelookingfor,
ensuringthescreenisthesameforallcandidates.Thissetofcompetenciesandbehaviors
mightevenbesomethingyoustandardizeandwritedown,sothattheteammemberscan
refreshbeforeeachcandidate.Then,priortotheinterview,eachteammemberwillpick
oneortwoskillstopayspecialattentionto.OnepersonmightchooseC#skills,while
anothermightchooseTDD.Eachteammember,though,shouldbelookingfor
competenciesandhowthecandidatefitsthecompanyvalues.
Alsokeepinmindthedifferencebetweenhiringsenior-levelpeopleandjunior-level
people.Wheninterviewingseniorpeople,youwouldexpectacertainlevelofmaturity,
expertise,professionalism,andinsight.Theprimaryfocusofthescreen,then,istoexpose
momentsofunprofessionalism,discomfortwhenworkingaspartofateamorwithothers,
andsimilarsignsofimmaturity.You’llalsohaveachancetoseetheirtechnicalexpertise,
includingthewaytheyapproachproblemsandtheiropennesstofeedback,duringthe
pairingsessions.Ifindthatmosthigh-performingcompanieswouldratherteach
knowledgeableandexperiencedpeoplenewtechnicalskillsthantrytochangetheir
mindsets,nomatterhowtalentedtheymightbe.
Ontheotherhand,ifyouareinterviewingjuniorpeople,perhapsfreshoutofschool,
youshouldbemoreforgivingoflackofexpertise.Whatyouwouldwanttoseetechnically
isabasiclevelofcompetencecoupledwithawillingnesstolearn,abilitytocommunicate,
andexcellentproblem-solvingskills.Whileyouwouldgenerallyexpectmoreimmature
individuals,youwillstillneedtomakesuretheyareabletoacceptfeedbackandworkas
partofateam.
Thatbeingsaid,rememberthatthereisactuallysomeadvantagetothelackof
experiencefoundwithjuniorpeople.Experiencecansometimesblindpeopleandforce
peopleintoruts.Ofcourse,senior-levelpeoplecanalsobeopen-mindedandattack
problemswithoutlettingexperiencegettingintheway.That’swhyitissoimportantto
hireindividualswhopossessthewillingnesstolearn,theabilitytoteach,theopennessto
shareknowledge,andthedesiretohelpcreatealearningorganization—nomattertheir
experiencelevel.
ScoringCandidates
Throughouttheimmersiveinterview,thecandidatewillworkwithmultiplepeople,each
ofwhomislookingspecificallyatafewchosenskillsandatalloftherequired
competencies.Attheendoftheday,theteamwillmeettodiscussthecandidate(s),butit’s
criticaltocaptureeachinterviewer’simpressionsinrealtimeaswell.
Tocollectallofthedatafromthevariousinterviewers,useanonlinetable,suchasthe
oneshowninTable33-2,andascaleof1through10,where1istheleastoftenobserved
skillorcompetencyand10isthemostoftenobserved.Thesearesubjectivenumbers.It’s
agoodideatodiscusswhateachvaluemeanssothattheteamhasarelativelyconsistent
understandingofwhatconstitutesa9ascomparedtoa2.
TABLE33-2ExampleofScoringCandidates
Asthecandidateleavesoneteammemberandmovestothenext,theinterviewershould
takeamomenttojotdownscoresthatcorrespondtohowthecandidateperformed.The
chartwillnotbecompletelyfilledinattheendoftheinterview,butyouwillhaveenough
datatohaverelevantdiscussionstodetermineifthecandidateshouldbehiredornot.
ThinkofthislikePlanningPokerbutnotinrealtime.Eachteammembershareshisor
herownestimateofthecandidate’sfitineachofthekeyareas.Then,oncetheinterview
ends,theteamgetstogethertohavetheall-importantconversation.Ifthereareoutliers,
suchasJaneen’sratingof2forC++inTable33-2,theteamshouldtalkaboutthereasons
fortheextremedifferenceofopinionandtrytoreachaconsensus.Ifalltheratingsare
similar,suchastheonesforArchitectureanddesignandDoesn’thaveasenseof
entitlement,thediscussionwillbemoreaboutgeneralobservationsthanreaching
consensus.
Regardlessofwhetherthenumbersmatchorarewildlydifferent,thepointofthetable
istoserveasareal-timedatacollectorforfutureconversations.Donot,underany
circumstances,usethetabletomakeahire-or-no-hiredecisionwithoutalsohavinganin-
depthteamdiscussion.Otherwise,youmightmisssomethingvital.
HiringManagersandNontechnicalPeople
Itmightseemasthoughthisapproachworksonlyfortechnicalhires,butitalsoworks
whenselectingnontechnicalpeople.
Whenusingimmersiveinterviewingtohirenontechnicalpeople,ensureyouhavea
well-definedsetofcompetenciesthatareunderstoodbyall.Animmersiveexperiencefor
anontechnicalhirewouldincludeattendingmeetings,participatinginbrainstormor
creativesessions,ormaybeevendoingasmallportionofapresentation.Yes,thereare
riskshere,butremember,wearelookingforanimmersiveenvironmentthatwillhelp
everyonearriveatanaccurateforecastofeachcandidate’scompetenciesandskills.
KeystoSuccess
WhenValveSoftwarepublisheditsemployeehandbookinMarch2012,itsettheInternet
abuzzwithhowValveoperatedasacompany.Thecompanyisflat,everyoneis
accountableandresponsible,andpeopleowntheirownfates.Infact,Valveputssomuch
emphasisonhiringthatthehandbookevenstates,“Hiringwellisthemostimportantthing
intheuniverse.Nothingelsecomesclose.It’smoreimportantthanbreathing”[VALVE].
That’spowerfulstuff!
Hiringpeopleforanyrole—manager,ScrumMaster,productowner,teammember,or
architect—ischallenging.Hiringmistakesnegativelyimpactthevaluesand/orcultureof
thecompany.Tohelpmitigaterisks,aimtobuildarepeatableprocessthatfocuseson
findingstrongpeoplewithcertainkeycompetencies,developingskillswhennecessary,
andmakingsmartinvestments.
BuildaRepeatableHiringProcess
Havingaconsistenthiringprocessiscrucial.Theprocessshouldalwaysstartby
answeringthequestion,“Whyarewehiring?”Beginningwithwhycanhelpeliminate
costlymistakes,suchasaddingpersonnelinanattempttosolveadeeperproblemthat
mightexistintheorganization.Forinstance,iftheteamisfailingtodeliver,itmightnot
bebecausetheteamneedsmorepeople;itmightbethattheteamneedstoworkon
collaboration.Whenyoubeginwithwhy,youensureyouarehiringfortherightreasons.
Arepeatableprocessisalsorootedinthecompanyvaluesandprinciples.Thelargera
companygets,however,theharderitmaybecometoensurethatnewhiresalignwiththe
companyvaluesandprinciples.Consequently,it’sagoodideatoholdregular“Howto
hireatourcompany”trainingsessionstohelpkeepallteamsfreshanduptodate.This
helpspreventbadhiresandalsorefreshesandrefocusescurrentemployeesonthe
companycultureand,moreimportant,thecompanyvalues.
Finally,arepeatableprocessisoneinwhicheveryoneunderstandswhattherating
systemmeans,andthat,aswithPlanningPoker,theinitialratingsaremeanttobethe
basisfordiscussion,notastandalonemeasureofacandidate’sworth.Thevalueofthis
kindofimmersiveinterviewcomesfromtheconversations—thosethathappenamongthe
teammembersandthosethathappenwiththecandidate.Immersiveinterviewshavethe
addedbenefitofensuringthatpeople,oncehired,arefamiliarwiththecompany’shiring
process,astheyhavegonethroughit,whichaddstoitsrepeatability.
FocusonCompetencies,NotonQuestions
Interviewquestionsaregreat,andhavingagoodsetofthemisdefinitelyhelpful.
However,runninganinterviewbyjusthavingthecandidatesanswerquestionsandsolve
problemswillonlytellyouhowwelltheycaninterview.Whatyoureallywantisan
accurateforecastastoanindividual’sfitasateammember.Screeningcandidatesinan
immersiveenvironmentandfocusingoncompetencieswillhelpincreaseyourconfidence
inthatforecast.Makesureallteammembersknowandunderstandthecompetenciesthey
shouldbelookingfor,bothatateamlevelandatacompanylevel.Youmightevenwant
todomockinterviewworkshopswhereanexistingteaminterviewsanotherteam(and
viceversa)toteachpeoplehowtofocusoncompetencies.
SkillsAreEasytoLearn,CompetenciesAreNot
WhenIwasachild,Iwasdeathlyafraidofpublicspeakingoranyformofpresenting.I
wasgood,however,atresearchandanalysis.ThepapersIwroteforschoolalways
receivedgoodmarks,allthewaythroughmycollegecareer.ItwasnotuntilIwasinmy
late20s,however,thatIbecamecomfortablewithpublicspeakingandpresenting.To
becomeabetterpresenter,Ireadnumerousbooksonhowtoovercomefearsandspent
yearspracticing.Publicspeakingisacompetency—ittakesagreatdealofpracticeanda
certainmindsettobeabletodoitwell.
Skills,ontheotherhand,canbetaughtratherquickly,especiallygiventhatmost,ifnot
all,ofyourhireswillhavesomesortofbackgroundinthehiringarea.Forexample,
perhapsthecandidateknowsOraclesystemsandyouarehiringforaMicrosoftstack—the
candidatewon’thavetoovercomeachildhoodfearoradeeplyseatedhabittolearn
Microsoft.Forsomeonewithatechnicalbackground,thisskillwouldberelativelyeasyto
learn.Ofcourse,thatassumesthatthepersonhasthecompetencyofwillingnesstolearn.
Havingtheabilityandcouragetosay,“Idon’tknowhowtodothat,willyoupleasehelp
melearn?”isacompetencythattakesyearstomasterandcanonlybepracticedsafelyina
culturethatsupportsit.
SeeChapter3,“UsingTeamConsultantstoOptimizeTeamPerformance,”formore
aboutcompetenciesandskills.
FindPeopleStrongerthanYou
Insecurityandpoliticscansometimesmakeitdifficulttohireaperson,evenwhenyou
knowtheyhavegreatskillsandcompetencies.I’veseenpeoplethrowcommonsenseout
thewindowandignoreacandidatewhoseems“toostrong”orcomesfrom“so-and-so’s
department.”Why?Perhapsthepersonposedathreattooneoftheinterviewers,wasn’t
specializedenough,orcamefromadepartmentwherethetwodepartmentheadsdonot
getalong.Don’tfallintothistrap.Hiringstrongpeoplewillallowyou,yourteam,andthe
restoftheorganizationtogrow.
UnderstandtheCostsandInvestHeavily
AsValveSoftwaresaid,“Hiringisindeedmoreimportantthanbreathing”[VALVE].A
badhirecansucktheairrightoutoftheroomandhavedamagingeffectsonthe
environment.Investingoodhiringpracticesandcreateimmersiveexperienceswherethe
teamcandetermineifthecandidateisagoodfitforthecultureoftheteamandcompany.
Pushaccountability.Haveaunitedapproachsoyoucanavoidthemistakesthattraditional
companiesmake.Hiringispainstakinglydifficult,butusingthisapproach,oneofmany
outthere,willdefinitelyhelpincreaseyourchancesofagreathire.
References
[BROOKS]Brooks,Frederick.P.,Jr.1996.TheMythicalMan-Month,Anniversary
Edition.Reading,MA:Addison-Wesley.
[CAREERBUILDER01]CareerBuilder.com.2011.“TrueCostofaBadHire.”
http://thehiringsite.careerbuilder.com/2011/12/16/true-cost-of-a-bad-hire/(accessed1
August2015).
[CAREERBUILDER02]CareerBuilder.com.2012.“WhatBadHiresReallyCost
Companies(Hint:It’sMorethanJustMorale).”
http://thehiringsite.careerbuilder.com/2012/12/13/cost-of-a-bad-hire/(accessed1August
2015).
[MENLO]MenloInnovations.2002.“ExtremeInterviewing.”MenloInstitute,LLC.
http://www.menloinnovations.com/by-reading/PDF/Extreme-Interviewing-Final.pdf
(accessed1September2015).
[VALVE]ValveSoftware.2012.HandbookforNewEmployees.Bellevue,WA:Valve
Press.http://www.valvesoftware.com/company/Valve_Handbook_LowRes.pdf(accessed
1August2015).
WorkConsulted
Rothman,Johanna.2012.HiringGeeksThatFit.Vancouver:Leanpub.
Chapter34.AligningIncentiveswithOutcomes
Weseeitallthetime.Thebusinessgetsagoodleadandthenextthingyouknow,thesales
teamiswavingasignedcontractintriumph.Thedevelopmentteams,ontheotherhand,
areleftwithstatementsofworktheydidn’tagreeto,moreprojectsthantheycanhandle,
anddeadlinesthatareimpossibletomeet.There’sadisconnecthere—onethatputs
differentgroups,companydepartments,andpeopleatodds,andultimatelyresultsin
dissatisfiedclients.
Thesolution?Reconnectthedotsbybringingdevelopmentintheprocessearlier,
keepingsalesinvolveduntiltheworkiscomplete,andfindingnewwaystomanagethe
entireprojectportfolio.
TheStory
BrentandAllywereknownas“TheClosers.”Asaccountmanagers,theybothexcelledat
gettingcustomerstosignonthedottedline.Overthepastfewweeks,BrentandAllyhad
beenworkinghardonaparticularlyfinickynewclient.Thecontractcyclehadbeengoing
onforwhatseemedtobeaneternity,nearlytwomonths.Theyeachhadsalesquotasthey
neededtohitandtheendofthefiscalquarterwasapproachingquickly.
“Whatarewegoingtodo?”askedAlly.
“Don’tworry.We’regoingtomakeit.Icanfeelit—theyaresoclosetosigning,”Brent
statedreassuringly.
“That’snotwhatImean,”explainedAlly.“Togetthisdealclosed,we’vehadtobe
reallyaggressivewithourestimatesandwe’vepromisedacoupleofthingsIdon’tknowif
thedevelopmentteamcanevendo.Thelasttimewedidthat,thedevelopmentteammade
uspromisewe’dneversellthemoutagain.Ifeelasiftohitournumberswehavetothrow
thesoftwareguysunderthebus.It’llbehardtofacethemlater.”
“Ithinkyouworrytoomuch,Ally,”Brentanswered.“Theyjustliketocomplain.They
aregoodatwhattheydoandhavedonethiskindofworkahundredtimesover.They
mightwhineabit,buttheycanhitthesedeadlineswithoutaproblemiftheypushit.”
AtAlly’sskepticallook,Brentcontinued,“Look,weallhavetoworkhardaroundhere.
YouandIhaveputinatonoftimewooingtheseclients.Heck,weevenwenttheextra
mileandtalkedtoourdirectorofsoftwarearchitecture.Heconfirmedthattheestimates
wehaveinthecontractwork,andheshouldknow,right?Pushingtheenvelopeisjust
whatwehavetodotobringinthebusiness.Ninetypercentofoursalaryiscommission—
noneoftheirsis.Wehavetodowhatwehavetodo.”
Allynoddedreluctantly.“You’vegotapoint.Plus,wedon’twanttopromiselessthan
ourcompetitors.Let’sgetthisdoneandaskforforgivenesslater.”
BrentandAllygotthecontractsignedwithinweeksofthisconversationandreceived
theircommissionchecksshortlyafterward.Whenthecontractedstatementofworkwas
senttothedevelopmentteamfordelivery,thereactionwaslessthanfavorable.
“Ican’tbelieveit!”exclaimedPatrice.“Doyouseethedatestheyexpectustohit?”
“Theynevereventalkedtous!”agreedRick.“Nowwehavetoworkontheirdeadlines,
whichwillbeimpossibletohitunlesswework,what,sixtyhoursaweekforthenextsix
months?Plus,thismeansyetanotherprojecttoaddtoourgrowingbacklog—I’m
multitaskingsomuchthathalfthetimeIcan’trememberwhichproductI’meven
building.IthinkI’mgoingtohavetoquit.”
Justthen,Allyhappenedtowalkby.
“Ally!”calledPatrice.“Comehereaminute.”
Allybackedupandpokedherheadintheteamspace.“What’sup,Patrice?”
“Ally,howcouldyoudothistousyetagain?Wejustgotassignedtotheprojectyou
andBrentwereworkingon.We’vealreadygotmoreprojectsthanwecanhandle—and
thiscontracthasestimatesanddatesthatarejustplainwrong!Whodidyoutalkto?”
“Weranitbythedirectorofsoftwarearchitecture,andhethoughtitwasreasonable.I
knowyou’vegotalotonyourplates,butit’sourjobtobringinthework,”explainedAlly.
“Iknowsomeofthedeadlinesareaggressive,butIalsoknowyouguys.Yourteamis
awesome.Iknowyoucanpullthisoff.”
“Ally,”saidRick.“Youcan’treallybelievethat.Youknowthere’snowaywecanwork
onathousandprojectsatonceorhitthesedateswithoutburningourselvesout.Thishasto
stop.Wecan’tworklikethis!”exclaimedRick.
Brentwalkedbyandheardthechatter.HestoppedandcametoAlly’sdefense.“You
knowwhat?Ifwedidn’tgetthiscontract,youguyswouldn’tbeworkingatall.Wedid
whatwehadtodotogetthedealdone,wesecuredthebusinessthatthecompanyaskedus
tosecure,andweevenrantheestimatesallthewayuptothedirectorlevel.Idon’tknow
whatmoreyouwantustodo.”
“Iwantyoutogobacktomanagement,thestakeholders,andthecustomerandtellthem
thiswon’twork,”snappedPatrice.
“Sorry,nocando.Onceit’ssigned,it’soutofourhands,”Brentreplied.Heturnedto
Allyandcontinued.“Ally,thereasonIstoppedbyisthatIneedyoutohelpmeprepfora
callIhaveintwentyminutes.Canyoucometomyoffice?”
“Neitherofyouisgoinganywhere!”shoutedRick,ashepoundedhisfistonthetable,
hischeeksredwithfrustrationandanger.“Youcan’trideoffintothesunsetwithyourbig
fatcommissioncheckswhileweslaveawaymeetingcrazydeadlinesonyetanother
projectyou’vepiledonourbacks!”
“That’scrazytalk,Rick,”retortedAlly.“Weearnedeverydollarofourcommissions
justlikeyouearneverydollarofyoursalary.”
“Rickhasapoint,”Patriceinterjected.“I’mnotsuggestingyoudon’tdeserveyour
commissions—youdo.You’reouttheresellingandmakingthepromisesyouneedto
maketoclosethedeal—that’syourjob.Butthatleavesusonthehookforfulfillingthat
contract—evenwhendoingsoisimpossibletodo.Somethinghastochange.Doyouguys
rememberlastmonthatourbigcompanymeeting?TheVPsaskedallofustocometo
themwithideasforwaystomakeourorganizationmorecohesive—fromdevelopmentto
salestoaccountmanagement.Ourdisagreementheremightbeanopportunityindisguise.
Ally,wouldyoubewillingtomeetwithmelatertodaytoseeifwecanfigureoutsome
sortofmodelthatcouldstarttobridgethedisconnect?Maybetogetherwecancomeup
withaplanthatwecantaketotheCTOandtheVPofsales.”
Allythoughtforamoment,thensaid,“Yes,Patrice,Iwould.I’mnotsurethatthere’s
muchwecando,butI’mwillingtositdownandhashitout.”
“Youtwogoforit,”saidBrent.“Ihaverealworktodo.”
Afewweekslater,AllyandPatricemetwiththeVPofsalesandtheCTOtopresenta
modeltheythoughtmightwork.
Whentheywerefinished,theCTOsaid,“So,letmeseeifIunderstandthis.Rightnow,
wehavetwoproblems.One,thedevelopmentteamisn’tinvolvedatallinthesale.Two,
thesalesteamisn’tinvolvedatallinthedelivery.Youareproposingthatweinvolvethe
developmentteamintheprocessearliertohelpmakeestimatesmorerealistic—as
opposedtorelyingononeortwoexperts.Youalsowanttomodifythesalesteam’s
commissionstructure,whichrightnowissolelyfocusedonmakingasale,ratherthanon
delightingourcustomers,whichweallagreeisourultimategoal.Youwanttotiemoreof
thecommissiontocustomersatisfactionandholdbackalargepartofthepayoutuntilthe
projectisdelivered.Bydoingthis,you’dthinkthesalesteamwouldhavemoreincentive
tosellsolutionsthatthedevelopmentteamcandeliver—notjusttopromisewhateverit
takestoclosethedeal.”
“Right,”saidAlly.“We’reateam—andourprocessandincentivestructureshould
reflectthat.”
“Exactly,”agreedPatrice.“Weknowyouneedtoclosecompetitivedeals.Andyou
knowthatwecan’tmeetthemwithoutworkingcrazyhours,andeventhen,whatweturn
outisusuallynotthequalitythatwe’dlikeittobe.”
“Andthatleavesuswithunhappycustomers,”addedAlly,“whichmakessellingrepeat
businessandgettingreferralsharder.”
“Anotherreasonourcustomersareunhappy,”continuedPatrice,“isthatwehavean
unrealisticprojectload—sowecan’tevertrulyfocus.We’reconstantlybeingpulledoff
oneprojectforafiredrillsomewhereelse.Orwe’remultitaskingsomuchthatwenever
getanythingdone.That’snotthesalesteam’sfault—butit’ssomethingthatneedstobe
addressedattheexecutivelevel.Thismodeladdressesthatproblem,too.”
Ultimately,theVPofsalesandCTOagreedtoinstitutethenewmodelasatrial.After
someinitialresistance,andwithtime,education,andpatience,thenew,alignedmodel
eventuallybecamethewaythecompanydidbusiness—evenBrent.
TheModel
Inthestory,wesawalackofalignmentbetweenseveralgroups,eachwithitsown
incentives,andassuchitsowndefinitionsofsuccess.Thesalesandaccountmanagement
peoplewerefocusingononething—thesale.Managementwantedtobringinmoreand
morebusinesstoseethecompanythroughtheinevitableleantimes.Thedevelopment
teams,ontheotherhand,wererewardedfor,andthereforeworriedabout,successful
deliveries.Thegroupsweremisalignedbecausetheydidnotsharethesamegoalsor
motivations.
PatriceandAllysuggestedanend-to-enddeliverymodelthatwouldaligntheentire
organizationaroundonecommongoal—delightingcustomersandstakeholders.
SettheFocus
Forabusinesstobesuccessful,itmustbefocused,internallyaligned,andbalanced.To
achievethisidealstate,thebusinessneedsanincentivesystemthatrewardsoutcomes(the
waythingsturnout)morethanoutputs(whatwasproduced).Inthestory,thebusiness
desiredmanydelightedcustomersandhighlevelsofcustomersatisfaction,bothofwhich
areoutcomes.Yetthesalespeople,BrentandAlly,wererewardedsolelyforreelinginnew
customersandgettingcontractssigned,bothofwhichareoutputs.Likewise,the
developmentteamwasexpectedtodeliverafixedscopeofworkontime,oftenfor
multiplecustomerssimultaneously,whicharealsooutputs.Moreoftenthannot,theend
resultwasdisjointedprojectoutput,poorquality,andalopsidedburdenonthe
developmentteam.
Inessence,despitethecompany’sdesireformanydelightedcustomersandhigh
customersatisfaction,thebusinessofferednoincentivestoanyoneforachievingthose
goals.Asyoumightexpect,then,thebehaviorofindividualswastiedtotheirown
incentivesratherthantothoseofthebusiness.Whenthissituationoccurs,everyoneloses.
AlignaroundCustomerSatisfaction
Businessesareinthebusinessofsatisfyingcustomers.Greatbusinessesareinthebusiness
ofdelightingcustomers.Thismeansemployeesneedtobealignedtotheoverarchinggoal
ofcustomersatisfaction,andtheirincentivesandoutputsneedtoreflectthatalignment.
Inpracticalterms,salespeopleneedtoberewardednotjustforclosingdealsbutfor
closingdealsthatresultinasatisfiedcustomer.Thedevelopmentteamsneedtobe
rewardednotjustforshippingproductsontime,butforshippingproductsthatdelight
customers.Leadershipteamsneedtoberewardedformanagingaprojectportfolioinsuch
awaythateverycustomerfeelsvaluedandreceivestheproducttheydesire.Inthis
chapter’sstory,PatriceandAllycreatedamodeltoincentivizebehaviorsthatwillleadto
customersatisfaction.Partoftheirsolutionwastotiesalescommissionstocustomer
satisfaction.Theyalsoproposedinvolvingthedevelopmentteamearlyinthesalesprocess
sothattheycouldhelpthesalespeoplemakemoreaccurateforecasts.
Involvingdevelopmentteamsduringthesalescycleallowsthosedoingtheworktoget
abetterunderstandingofcustomerneeds,wants,anddesires.Duringthesalescycle,
developmentteamsworkwiththecustomertobuildaproductbacklog.Theyhave
conversationsdesignedtorefineunderstandinganduncoverhiddenrequirementsand
stories.Forthisarrangementtowork,thedevelopmentteamsshould,ideally,havedirect
accesstothecustomers,andmorespecifically,totheendusersofthesystem.Ifdirect
accesssimplyisn’tpossible,eithergetthemascloseasyoucanormakesureyouhavea
productowner,oraproxy,whohasin-depth,detaileddomainknowledgeofthebusiness.
Andalwaysremember,thefurthertheteamsarefromthecustomersandstakeholders,the
moreambiguitytheremaybeintheproductbackloganditsstories.
Oncetheproductbacklogisbuilt,thedevelopmentteamthenestimatesitandprovides
thesalespeoplewitharangeofcostandtimeestimates(seeChapter11,“Release
Planning,”formoreonthistopic).Thecustomerneedstobeeducatedastowhatrangeof
theproductbacklogwilldefinitelybedelivered,whatmightbedelivered,andwhat
certainlycannotbedelivered,andtobegiventhecorrespondingcostanddeliverydate
ranges.Thegoalofeducatingthecustomeristoreduceriskandambiguityacrossthe
board.
Atcontractsigning,thesalespeoplearepaidsomecommissionforcraftingthedeal,but
themajorityofthepayoutistiedtothecustomer’ssatisfactionwiththeincremental
releasesattheendofeachsprint.Dependingonhowyourcontractsarestructured,the
customersmightpayaftereachsprintonlyfortheworktheteamaccomplishesand
deliversormightpayatlargermilestones.Regardlessofthecontractstructure,the
salespeoplereceivesomepercentageoftheircommissionsateachcustomerpayment
installment,accordingtothelevelofcustomersatisfaction.IpreferaNetPromoterScore
(NPS)formeasuringcustomersatisfaction,andIliketoincludeanNPSmodelmeasure
[NPS]inthecontractsothatthecustomersunderstandhowthebusinesswillbemeasuring
theirsatisfaction.
Oncetheprojectiscompletedandfinaldeliveryismade,thesalespeoplegettheirfinal
commissioncheck.Thiswouldalsobeagoodtimetogivethedevelopmentteamabonus
aswell,shoulditbedeserved.
Thismodeliseffectivebecauseeveryonehasavestedinterestinthecompany’sdesired
outcome—many,highlysatisfiedcustomers.
PrioritizeandShift
Aligningincentivestooutcomesisonewaytoensureyourbusinessisinbalance,but
othertypesofmisalignmentsalsointerferewiththeoverallbusinessgoal—todelight
customers.Aprojectportfoliothatismisalignedwithteamcapacityisoneofthem.You’ll
knowthereisaproblemwhenindividualgroups,especiallydevelopmentgroups,
complainofbeingoverworkedandnothavingenoughtimetodotheworktheyneedto
do.Anunbalancedprojectportfolioleadstomultitasking,aspeoplejumpfromprojectto
projecttotrytomakesomeprogressoneach.Italsogoesagainsttheagileprincipleof
sustainablepaceinagileteams.Unchecked,multitaskingquicklyleadstoburnoutand
fatigue.Soon,teamsbegindoingwhateverisneededtorelievethepressure,whichoften
leadstopoorqualityandlowcustomersatisfaction(seeChapter23,“SustainablePace”).
Itispossibletohavemultipleprojectsorcustomersandstillalignteamstothebusiness
goalofcustomersatisfaction,allwhileremovingtheproblemsbroughtonbymultitasking
acrossmultipleprojects.Thefirststepistoprioritizeyourprojectportfolio.Youcandoso
inoneoftwoways.Thefirstistocreateastack-ranked,prioritizedlistoftheimportance
ofallprojectsinsidethecompany.Startbycreatingalistofallcompanyprojectsandput
themonaboard.Next,determinethekeyperformanceindicatorsorbusinessobjectivesof
eachproject.Isoneofyourbusinessobjectivestoincreasemarketshare?Maybeaproject
thathasbetterpotentialforincreasingmarketshareshouldtakeprecedenceoveranother
withalessimportantbusinessobjective.Isbeatingthecompetitioninaspecificmarket
segmentabusinessobjective?Isthatbusinessobjectivemoreorlessimportantthan
increasingmarketsharegenerally?Usethisinformationtohelpmovetheprojectsaround
inthestack.
Anotherwaytoprioritize,ifyouareavendorformultiplecompanies,istoconsider
whatismostimportanttoeachcustomer.Timetodeliverymightbeofutmostimportance
toonecustomer,whilecostmightbethedrivingfactorforanother.Onewaytoprioritize
thesecompetingproducts,then,couldbetoofferthesecondcustomeralowercostbuta
longerdeliverywindow.Orchargethefirstcustomerapremiumforanexpediteddelivery.
Orevenboth.Inotherwords,findoutwhatmattersmosttoyourcustomersandhave
conversationswiththemupfrontabouthowyourteamscandeliverthatoutcomeforthem.
Buildintheflexibilityyourleadershipteamneedstoprioritizethemosttime-sensitive
projectsfirst.
Onceyouhavetheprioritizedprojectportfolio,thecompanycanbegintomake
decisionsabouthowmanyprojectsareinprogressatonetimeandalsoaboutwhoworks
onwhatbasedonbusinessvalue.Forexample,supposetherearetwo,multiteamprojects
goingon;oneisaveryhighpriority—theotherlessso.Suddenly,anurgentissuecomes
uponahigher-priorityproject.
Usingamoretraditionalapproach,managementmightshiftrandomindividual
resources,otherwiseknownaspeople,toaddressspecificproblemsthatthehigher-
priorityprojectisencountering.However,byhavingaclearpictureofwhatisimportant,
thelower-priorityprojectinsteadcanshiftanentireteamtohelpthehigher-priority
project,leavingtheotherteamstocontinueonthelower-priorityproject.Thissolutionis
similartotheconceptofswarming.Typically,whenateamswarms,alloftheteam
memberssimultaneouslyworkonthesametaskuntilthattaskiscompletethenmoveon
tothenext.Theteamrepeatsthisuntilthestoryiscomplete.Shiftinganentireteam
allowstheteamtofocusondeliveringadditionalstoriesforthehigher-priorityprojectthat
maybestruggling.It’sswarming,scaledtotheteamandprojectlevelversusthetask
level.Justremembertoalwayskeeptheteamtogether.
Becausetheprioritiesareclearlyvisibletoallinvolved,theteamsadjustwithout
incidentorcomplaint.Plus,bymovingentireteams,youavoidtheslowdownscausedby
shiftingindividualsontoandoffofexistingteams.(SeeChapter20,“AddingNewTeam
Members,”formoreontheeffectsofdisruptingteams.)
Whathappens,then,tothelower-priorityproject?Perhapsit’sputonhold,orperhaps
thescheduleshiftstoaccommodatethelossofoneoftheteams.Itcouldbethatthe
scheduleremainsthesamebutlessisdeliveredinthesametime—thescopeisalteredto
fitreality.Theimportantthingtounderstandisthebusiness,fromendtoend,hasaclear
pictureofwhichprojectsaremostimportanttorealizingbusinessobjectives,whichteams
areworkingonwhichprojects,andhowmuchavailableteamcapacitytheoverallbusiness
has.
SideBenefits
Imentionedearlierthatanunbalancedprojectportfolioleadstomultitasking,causedby
peoplejumpingfromprojecttoprojecttoputoutfires,fixemergencies,andusetheir
specialized,subject-matterexpertiseacrossallprojectsinanunscheduled,ad-hocfashion.
Creatingaprioritizedportfolioandfocusingonshiftingteams,ifdoneright,can
eliminatethemultitaskingthatisalltoocommonwhenthenumberofprojectsoutweighs
teamcapacity.Bydoneright,Imeanbyshiftingteams,notpeople,usingteamconsultants
tohelpgrowdedicatedteamskillsanddomainexpertise,andprioritizingonthebasisof
theendgoal,whichisdelightingthecustomers(seeChapter3,“UsingTeamConsultants
toOptimizeTeamPerformance”).
KeystoSuccess
Aligningabusinesscanbeachallenge.Manybusinessesarematrixed,segmented,
disjointedmesses.Peopleintheseenvironmentswilldowhatisnecessarytoachieve
successintheirownjobs,evenifthatmeanssacrificingothersinthecompanyoreventhe
customers.Afocusonalignmenthighlightsthewaysinwhichcompanyincentivesdonot
matchstatedgoalsandvalues.Creatingincentivesthatalignwiththesevaluesandgoalsis
goingtotakeexecutive-levelsupport,organization-widecoordination,andacommitment
todedicatedteams.
IntegrateSalesandDevelopment
Alignmentstartswithintegratingdevelopmentteamsintothesalescycle.Youmaynot
haveafullteamthatisabletoparticipateinthesalescycleinthebeginning,butthat
shouldbethegoal.Startbybuildingaproductbacklog.Havetheproductownerbringin
theteamtoworkhand-in-handwithcustomersandstakeholderstowritethestoriesthat
makeuptheproductbacklog.Thenallowtheteamtoestimatethosestoriesandhelp
createaninitialreleaseplan.Then,andonlythen,havetheproductownerorthe
salespeopleusethisinformationtodeterminearealisticprojectcostandtimeframe
(providedyouknowtheteam’svelocity),whichtheycanthencommunicatetothe
customerasarangeofoptions.
StopSacrificingPeopleandQuality:HaveaPrioritizedProjectPortfolio
Don’tassumethatallprojectsarecreatedequalandhaveequalimportance.Theyarenot.
Havediscussionsaroundwhatisimportanttothecustomersorstakeholders.Isittime?Or
scope?Orcost?Wouldthecustomerbewillingtoletthescheduleslideifitmeansalower
projectcost,astheteamsareabletofitintheworkaroundwhenthehigher-prioritywork
isdoneorisnotunderactivedevelopment?Maybethecustomercanonlyburnasmall
amountofbudgeteachmonth,resultinginalessaggressiveschedule.Whicheveritis,
workwiththecustomertodeterminewhatismostimportanttothem,allowingyouto
prioritizetheworkintheprojectportfolioaccordingly.
AddDedicatedTeams,NotRandomPeople
Whenthingsstarttoheatup,it’stemptingtoaddindividualstoaproject.Don’t.Ifyou’re
goingtoadd,thenaddteams.Ateamhasalreadyestablishedhowitsmemberswork
together.Addingateammeansitsmemberscantakeonproductbacklogitemsendtoend.
Iftheteamisnotfamiliarwiththeproject,addateamconsultantortwotohelpthemget
uptospeed(seeChapter3).
Forthismodeltobetrulyeffective,developmentteamsmustbeallowedtostay
togetherratherthanbeingswitchedoutwitheverynewproject.Theresultingstability
makestheteammorepredictableandbetterabletorespondtoissues,suchasshiftingtoa
newprojectunderduress.Ithastheaddedbenefitofcreatingalong-termrelationship
betweenthesalesanddevelopmentteams,whichhelpstogetworkintothequeuewitha
higherdegreeofconfidenceintheoverallabilitytodeliver.
Organization-wideCoordination
Oncethemodelisupandrunning,you’llneedtoimplementthescrumofscrummeetings
forcross-coordinationbetweenteams,aswellasdailymeetingsamongproductowners.
Theaccountmanagementandsalesteamsactasstakeholders/customerstothe
developmentteamsandshouldbeinvitedtojoinbothmeetings.Ifthereisanissueora
concernaroundtimeordeliverables,theproductownerscanworktoaddressit.
ExecutiveSupport
Becausethismodelrequireschangeinmanygroupsacrosstheorganization,it’s
imperativetogetleadershipandexecutivesupport.Startbyhighlightingtheproblemof
misalignedincentives.Explainhowteamsburnouttryingtohitunrealisticdeadlinesthat
wereoftenmadebywell-intentionedsalespeople.Discusstheimportanceofworking
withinteamcapacity,evenifthatmeanssacrificinglower-priorityproducts.Itmighttake
aslongassixmonthstogetthebuy-inyouneed,butthealignmentthatoccursasaresult
iswellworththeeffort.
Reference
[NPS]TheNetPromoterCommunity.“TheNetPromoterScoreandSystem.”
http://www.netpromoter.com/why-net-promoter/know(accessed20August2015).
Chapter35.RiskManagementinScrum
Ontraditionalprojects,theprojectmanagerisresponsibleforriskmanagement.Scrum
projectsdonothavethattraditionalrole,butthatdoesn’tmeanthatrisks,ortheneedto
managethem,disappear.Instead,asprojectmanagerLeelearnsinthischapter’sstory,
everyoneontheScrumteamhasaparttoplayinmanagingandmitigatingrisks.
TheStory
Leehadhistoricallybeenoneofthemostrespectedprojectmanagersinthecompany.His
workethicandhisabilitytohitthetripleconstraint—getprojectsinontime,onbudget,
andonscope—waslegendary.Hewasalsoagloballyrecognizedriskmanagementexpert
—andhadthecertificationstoproveit.Overtheyears,hehadspokenonthetopicofrisk
insoftwareprojectsatconferencesaroundtheworld.Despitehissuccess,Leewouldbe
thefirsttoadmitthathisprojectstendedtohavealargenumberofchangeordersthat
cameinlateinthegame.Leealsoknewthathisstandingwiththedevelopmentteamsleft
somethingtobedesired.Hewasnotoriousforburningpeopleoutinhisquesttodeliveron
thetripleconstraint.Theseshortcomings,however,wereovershadowedbythenotionthat
hehadsavedthedayforthecustomersandstakeholderstimeandtimeagain.Or,atleast
thathadbeenthecaseinthepast.
Timeschanged,though.Andaspeoplebecamemoreburnedoutandcustomers
demandedmorefrequentreleaseswithaneasierchangeorderprocess,Leeandother
projectmanagerslikehimbecamelessdesirable.Thecompanyhadshiftedalmostallof
thedevelopmentteamstoScrumandexpectedanyonewhowaspartoftheorganizationto
workinamoreagilemanner.Leeremainedoneofthelastholdouts.Hesawquiteabitto
likeaboutScrumbutwasconcernedbywhatheviewedasScrum’slaissezfaireattitude
towardrisk.Forhim,thethoughtofgivingupresponsibilityandcontroljustseemed,well,
toorisky.
HiscolleagueTerryhadbeenoneofthefirstpeopleatthecompanytoadoptScrum.
LeerespectedTerryandwantedtoknowwhyithadbeensoeasyforhimtogetonboard
withagiledevelopment.So,onedayheinvitedTerryoutforacupofcoffeesotheycould
talkitover.
“Ijustdon’tgetit,”saidLee.“Onatraditionalproject,I’mtheoneresponsiblefor
managingrisk,forensuringthatthingsaregettingdonecorrectly,andformanagingthe
overallriskprofilefortheproject.Agileprojectsseemtothrowallformalrisk
managementoutthewindow.”
“Iknowitprobablyseemsthatway,butthatisn’tthecaseatall,”explainedTerry.“For
example,givemethreetypesofriskyoumanageonaregularbasis.”
“Hmmm.Well,thebiggestoneisprobablykeepingthecustomersandstakeholdersin
check.Theyalwayswanttoslipfeaturesintoaprojectwithoutchangecontrol,andI’ve
gottolockthatdown.Otherwise,we’relateandoverbudget.”
“Okay,”saidTerry,“Whatelse?”
“Thenextbiggestoneisensuringtheteamisontrackwithdeliveringtheirtasks.Ineed
tokeepthescheduleuptodateandensurethatwe’renotslipping.Itypicallypublishmy
scheduleintheweeklystatusemails,somanagingscheduleriskiscritical,”saidLee.
“Thisisgreat!Givemeonemorebigone,”Terryreplied.
“Ithinktheotherhugeoneismanagingquality.Isetthequalityrequirementswiththe
customersearlyinprojectinitiation,andIconstantlyneedtomanagethetesterstoensure
theyfollowthoserequirementsandmeetthequalitybarexpectedbythecustomers,”said
Lee.
“Believeitornot,allthosetypesofriskmanagement—andmore—areaninherentpart
ofScrum.Theyarejustspreadoutamongthedifferentroles.Forexample,theteamis
responsibleforquality,andtheScrumMasterforensuringtheteamcollaboratessothat
qualityisbuiltintotheproject.Theteamisalsoresponsibleformeetingtheirsprint
commitments,whichhastodowithschedule,”explainedTerry.“I’lltellyouwhat:Ifyou
meetwithmelaterintheweek,IcanmapeveryriskyoucanthinkoftoaScrumteam
role.”
“Let’sdoit,”agreedLee.“Ineedtounderstandhowwholeteamriskmanagement
works.”
TheyagreedonatimelaterintheweekforTerrytoworkwithLee.Terryexplained
howhemanagedriskonprojectsandshowedLeehowtheScrumrolescollectively
managedriskandhowagile,inandofitself,wasonebigriskmanagementtechnique.
OnceLeerealizedhowmuchriskmanagementwasbuiltintotheScrumframework,he
feltbetteraboutgivingScrumatry.Beforelong,hehadtransitionedintooneofthemost
engagedproductownersinthecompany.
TheModel
LikeLee,manyprojectmanagershaveatoughtimemakingthetransitiontoScrum.They
struggletounderstandhowScrummanagesalloftherisksthattraditionallyhave
consumedprojectmanagers.Consider,forexample,thelistoftypicalsoftwareproject
risksillustratedinTable35-1.
TABLE35-1TypicalSoftwareProjectRisks
Theserisksdon’tjustgoawaywhenateamtransitionstoScrum.Scrumhandlesallof
theserisksandevensomethathistoricallyhaven’tmadethelist—suchasdysfunctional
teams,badhires,andmisalignedHRpolicies.Theseareallfactorsthatcandisrupta
softwareprojectbutthatmaynothavebeenconsideredpartoftraditionalrisk
management.Scrumdoesn’tignorerisk,itjustdividesitamongthedifferentScrumroles:
ScrumMaster,productowner,andteam.Ialsoliketocategorizeeachidentifiedrisktype
intooneofthreecategories:social,customer,andtechnical.Table35-2illustrateshow
softwareprojectrisksaretypicallydistributedamongthesethreerolesandcategories.
TABLE35-2ScrumRiskManagementbyRole
Thecustomerrisksarehandledbytheproductowner,thetechnicalrisksbytheteam,
andthesocialrisksbytheScrumMaster.
Forexample,ScrumMasterstakeonalloftheresponsibilitiesassociatedwithbuilding
andmaintaininghealthyteamsandremovingimpediments.Productowners,ontheother
hand,spendmuchoftheirtimewiththecustomer,whichmeansthemoretraditionalrisk
managementitemsofbudgetandscopefalltothatrole.Whentheyspendtimewiththe
team,productownersarerefiningtheproductbacklogtoensurestory,schedule,and
budgetrisksarebeingmanaged,whichfreestheteamtomanagethetechnicalrisks.
WhatthisclearlydemonstratesisthatScrumprojectsdon’tignorerisks;theyjustdivide
themupabitdifferently.Let’sdiveabitdeeperintothedifferentriskcategories.
CustomerRisk:ProductOwner
Customerriskincludesalloftherisksthathavetodowiththecustomer—specifically,
time,scope,andmoney.InScrum,productownersmanagethecustomerrisks.Tohelp
addressandmitigaterisks,productownersmeetwithstakeholdersoftentoreview
functionality,discussandupdatereleaseplans,reviewprojectbudgets,andmore.Product
ownersalsoworktounderstandcustomerneedsandidentifycustomerdelighters.(The
roleofproductowneriscoveredinmoredetailinChapter5,“ImplementingtheScrum
Roles.”)Productownersareconstantlyobservingthebehaviorofthestakeholdersand
customerstoensurethatallisgoingwell.Somecommonrisksthatproductownersneed
tokeepaneyeoutforincludethefollowing:
Customers/stakeholdersaren’tshowinguptothesprintreviewmeeting.
Customerssaythattheydon’tknowthestatusoftheproject.
Customersaresurprisedinthesprintreview.
Theproductbacklogcontainsmorestoriesthancanbeaccomplishedwiththe
currentprojectbudget.
Customersradicallychangeprojectdirectioneverysprint.
SocialRisk:ScrumMaster
Socialriskhastodowithpeople,especiallytheteamandhowitsmembersareworking
together.Inaddition,asChapter8,“TheCaseforaFull-TimeScrumMaster,”
demonstrates,socialriskalsoincludesissueswiththoseoutsidetheteamwhomightput
theprojectatrisk,includingproductowners,customersorstakeholders,otherteams,and
companymanagement.
Traditionalprojectmanagersmaynotconcernthemselveswithteamhealthorteam
happinessthewayaScrumMasterdoes.Yet,asshowninChapter23,“SustainablePace,”
teamsthatworkatasustainablepaceperformmuchbetterthanteamswhoareconsistently
workinginoverloadedconditions.OneoftheScrumMaster’smanyjobsistoprotectthe
socialinteractions,emotions,andoverallstabilityoftheteam.
ScrumMastersneedtobevigilantaboutlookingforbehaviorsthatcouldindicatea
developingsocialrisk,includingthefollowing:
Teammemberswhoshowuplatetothedailyscrum
Aproductownerwhodistractstheteamwithnewfeaturerequestsmidsprint
Teammemberswhoavoidpairing
Ateamthathastoomuchworkinprogress
Ateamthathands“alltheworktothetesters”lateinthesprint
TechnicalRisk:Development(Core)Team
Technicalriskisjustwhatitsoundslike—riskwithatechnicalfocus.Ifindthemost
commontechnicalrisksresidewiththeteammembersthemselves.Ifsomeorallofthe
teamislackingknowledgeofthesystemunderdevelopment,theprojectcanquicklygo
south.SomeofthebestwaystomanagetechnicalriskaredescribedinChapter9,“Why
EngineeringPracticesAreImportantinScrum,”andChapter19,“KeepingPeople
EngagedwithPairProgramming.”
Technicalriskfactorsusuallyincludearchitecture,design,systemandothertechnical
documentation,testing,devops,andmore.Signsoftroubleoftenincludethefollowing:
Toomuchmanualtesting
Lackofsystem,code,anddesigndocumentation
Integrationissues
Environmentinconsistency(e.g.,build,test,development)
Risinglevelsoftechnicaldebt
IntheEnd…
ThesampleriskindicatorsarejustafewofthemanybehaviorsthatallScrumteam
membersshouldconsiderwhenmeasuringthehealthoftheproject.Thegoalshouldbe
workingtowardapotentiallyreleasableproductincrementeverysprintthatmeetsthe
definitionofdonecriteria.Teamsthatachievethisgoalestablishapredictablerhythmthat
makeseveryoneinvolvedfeelmoreconfidentabouttheproject’sultimateoutcome.
KeystoSuccess
Scrumdoesn’tignoretraditionalprojectrisks;instead,riskmanagementisdividedamong
theScrumroles.Thisideacanbechallengingtograspforsomewhohistoricallyhave
beenincontrolofeverythingthroughouttheprojectlifecycle.Ihaveseenproject
managers,developers,testers,andevensoftwarearchitectsstrugglewiththisconcept.
TohelpmakethetransitiontoScrumeasier,Ioffertwokeystosuccess:First,letgo,
thenletagile.
LetGo
Iwastrainedasatraditionalprojectandprogrammanager.Itwasaprimarythrustofmy
universitystudiesandlaterIearnedvariousprojectmanagementcertifications.Iwas
expectedtomanageteamsfromdesigntorelease,whichincludedmanagingalltherisks
associatedwiththeirprojects;theprojectplan,theworkbreakdownstructure,the
estimation,thedesign,everything.Iwasaccountablewithoutauthority.
IstruggledwithlettinggowhenIfirstadoptedScrum.IbelievedthatifIdidn’t
personallymanagetherisks,noonewould.IquicklyrealizedthattosucceedwithScrum,
Ineededtochangemythinking.Thisfeltliketheequivalentoflearningtorideabicycle
alloveragain.IhadtoletgoofcontrolandtotrustthepeopleandteamsIworkedwith.It
wasdifficultandtooktime.SomedaysIstillstrugglewithmycontrolissues.
Lettinggoforatraditionalprojectmanagerwillbeachallenge.Ifyou’restruggling
withchangingyourmindset,readbooksbyauthorssuchasCarolDweck,whowrotethe
bestsellingbookMindset:TheNewPsychologyofSuccess.
Butaboveallelse,trustyourteam.You’reallinthistogether.Thewholeteammight
havetotakealeapoffaith,butbelieveme,thesooneryoucanletgoofthepast,thefaster
youcanembraceyourfuture.
LetAgile
Oddlyenough,eventhoughthischapterdiscussesriskmanagementandhowtodivide
risksupamongrolesandbreakthemdownintocategories,agiledevelopment,inandof
itself,isentirelyariskmanagementtechnique.
Frequentreleaseshelpcustomersdeterminewhattheymeanwhentheyaskfor
something.Workingincross-functionalteamsdrivesknowledgesharingand
accountability,removingtheriskofasinglepersonretainingalltribalknowledgeandthen
leavingthecompany.Reviewingtheproductbacklogwithstakeholdershelpsrefinethe
releaseplaninrealtime.Sprintreviewsandretrospectiveshelpidentifyopportunitiesfor
improvement.Andmostimportant,theconversations—betweenteammembers,
stakeholders,customers,andothers—helpresolverisksandissuesandensurethat
everyoneisonthesamepage.
Intheend,agile—andbyassociation,Scrum—isallaboutmanagingriskthroughthe
useoffrequentinspectandadaptcycles,fromsprintplanningtothedailyscrumtothe
sprintretrospective.Letgoandletagileworkthewayitwasdesignedto.Youwillsoon
findthat,likeme,youaremuchbetterofftrustingyourteamsthanyouweretryingto
controleverythingsinglehandedly.
WorksConsulted
Dweck,Carol.2007.Mindset:TheNewPsychologyofSuccess.NewYork:Ballantine
Books.
Rubin,Kenneth.2013.EssentialScrum.UpperSaddleRiver,NJ:Addison-Wesley.
Appendix.ScrumFramework
Scrumisaframeworkformanagingcomplexprojects(seeFigureA-1),suchassoftware
development.Scrumusesaprescribedsetofroles,meetings,andartifactsanddividesa
largeamountofworkintoone-weektoone-monthchunkscalledsprints.Itisbasedon
andemploysagileprinciples(seeChapter1,“Scrum:Simple,NotEasy,”formoreon
Scrum’sunderlyingprinciples).
FIGUREA-1TheScrumframework(downloadacopyathttp://mitchlacey.com)
Iliketothinkofthebalancebetweentheroles,themeetings,andtheartifactsthatmake
upthesprintcycleaslikethatofafinelytunedracecar.Tiny,incrementaladjustmentscan
leadtoexceptionalwins.Atthesametime,aslightknockorissuewiththecarorits
enginecanleadtolessoutput,slowerspeeds,andrapidenginewear.Howdoesthis
analogyrelatetoScrum?Thefollowingsectionsexploreeachcomponentindetail.
TheRoles
Scrumconsistsofthreeroles:theScrumMaster,theproductowner,andthedevelopment
team(Ialsorefertothedevelopmentteamasteamorthecoreteamthroughoutthebook).
Togethertheyworkintheinterestsofthecustomersandstakeholderstoturnthevision
intoaworkingproductorservice.Iftheywerepartsofaracecar,thedevelopmentteam
wouldbetheengine,theproductownerthedriver,andtheScrumMasterallthelubricants
andsensors.
ScrumMaster
Aracecarhasgaugesandsensorstohelpmonitortheengineandusesoiltohelplubricate
it.Withoutoil,theenginewouldgrindtoahalt,destroyingitselfintheprocess.Theoilis
everywhere,keepingthepartsoftheengineworkingsmoothly,coolingthem,andensuring
theyperformwellunderstress.
TheScrumMasterislikethat.Hehasembeddedsensorsandgaugesthatallowhimto
identifywhentheteamisnotperformingtoitsability,andhehastheskills(lubrication)
neededtoassistincorrectingtheissues.BeingtheScrumMasterisahardjob.Agood
ScrumMasterissomeonewhonoticesnonverbalcues,iscomfortablewithconflict,isan
effectivecommunicator,canbuildtrustandearnrespect,andunderstandsteamdynamics.
AgoodScrumMastercan“evolution-ize”development.Hecanbuildtrustnotonlyinthe
teambutwithcustomersaswell.FormoreonchoosingtherightScrumMaster,see
Chapter5,“ImplementingtheScrumRoles.”
ProductOwner
IftheScrumMasteristheoilandsensorsintheengine,theproductowneristhedriver.
Theproductownerpointsthecarinthecorrectdirectionandmakestheminute
adjustmentsnecessarytostayoncourseanddeliverresults.Sherepresentscustomerand
stakeholderinterests.Herjobistoestablish,nurture,andcommunicatetheproductvision
totheteamandtheotherstakeholders,managetheprojectreturnoninvestmentand
financials,andmakedecisionsaboutwhentocreateanofficialrelease(withcustomerand
stakeholderinput).Theproductowneristheonepersonultimatelyresponsibleforthe
successorfailureoftheproject.Shedecideswhatisdeveloped,whenitisdeveloped,and
whetherthatwhichhasbeendevelopedmeetsexpectations.
DevelopmentTeam
Thedevelopmentteamistheengineoftheracecar.Allthedrivingandlubricationinthe
worldareofnousewithoutanengine.Thedevelopmentteamexecutestheproduct
owner’svisionwiththehelpoftheScrumMaster.Theteamiscomposedofthepeople
neededtodeliverthework—developers,testers,architects,designers—anyonewhois
needed.Adevelopmentteamisideallymadeupofpeoplededicatedfull-timetothe
project.(Realitysometimesmakesthisimpossible.SeeChapter3,“UsingTeam
ConsultantstoOptimizeTeamPerformance,”forwaystocreateahigh-performingteam
underless-than-idealcircumstances.)Theteamisresponsibleformanagingitswork,its
commitments,andtheexecutionofthosecommitments.
MostScrummaterialsaysthattheidealteamsizeisseven,plusorminustwopeople.I
preferevennumbers,asitfacilitatesbetterXPengineeringpracticeintegration,somyrule
wouldbesix,plusorminustwo.Theteamisjustthat,ateam—rolesandtitlesshouldbe
removed,whichhelpsbuildthecamaraderiearoundtheteam.Thegoalistoremovethe
mindsetof“I’madeveloperandIonlywritecode”andshifttheattentionto“I’mateam
memberwhoisresponsiblefordeliveringthiswork,andIcannotdoitalone.”Ona
Scrumteam,testersmaywritecodeanddevelopersmaywritetests—cross-functionalityis
agoodthing.
TheArtifacts
Scrumisnotanartifact-heavydevelopmentprocess,butthreeartifactsarecrucialto
success:theproductbacklog,thesprintbacklog,andtheburndown.
TheProductBacklog
Theproductbacklogisthemasterlist,prioritizedbybusinessvalueandrisk,ofallthe
featuresandfunctionalityneededtoimplementthevision,andintheend,theproductor
serviceunderdevelopmenttoachievethatvision.Theproductownerisresponsiblefor
managingtheproductbacklog,keepingituptodate,prioritizedorordered,andclear.
Unlikearequirementsdocumentorproductspecification,theproductbacklogisnever
complete.Instead,itisalivingdocumentthatexpandsorcontractsinresponsetochanges
inpriority,value,orrisk.Itemscanbeaddedordeletedfromtheproductbacklogatany
time.Onceadded,theyareprioritized(orordered)bytheproductownerinrelationtothe
otheritems:bugs,features,enhancements,nonfunctionalrequirements,andsoon.
Priorityisdeterminedbybusinessvalueandrisk,orwhateverorderingmakessensefor
yourcompanyandproject.Thehighestpriorityitemsareslatedfordevelopmentfirst
whilethelowestarecompletedlast(seeFigureA-2).Theteamworkswiththeproduct
ownertoestimatethesizeoftheproductbacklogitems(PBIs),relativetooneanother.
Thatsizecanbeexpressedinpoints,T-shirtsizes,oranyothernon-time-specificunit.The
keyistostayawayfromtime-basedestimationforPBIs.Thosespecificswillcomelater
(seeChapter11,“ReleasePlanning,”formoreonestimation).
FIGUREA-2Keeptheproductbacklogorderedandprioritized.
High-prioritystoriesshouldbesmallandclearsothattheycanbebroughtintothe
sprint.Lower-priorityitemscanbelargeandfuzzy.Ashigh-priorityitemsarecompleted
andlowerpriorityitemsbegintorisetothetopofthebacklog,thebiggerstoriesneedto
bebrokendownintosmallerchunks,aprocesscalleddecomposition(seeChapter12,
“DecomposingStoriesandTasks”).
TheSprintBacklog
Thesprintbacklogistheoutputoftheplanningmeeting.Itisessentiallythelistoftasks
thattheteamneedstocompleteduringthesprinttoturnaselectedsetofproductbacklog
itemsintoadeliverableincrementoffunctionality.UnlikePBIs,sprintbacklogtaskshave
atime-based(hourly)estimate.Sincetheteamisdoingthework,itisresponsiblefor
keepingthesprintbackloguptodate.
Duringasprint,newtasksmightbediscoveredandtasksthathavealreadybeen
identifiedmightbeadjusted.Thisisperfectlynormalbehavior.Theteamsimplyaddsthe
newtasks(andanestimateoftheworkremainingontasks)tothesprintbacklogoradjusts
thewording(and,ifnecessary,theestimatedworkremaining)fortasksinprogress.Asthe
teamcompletestasks,thetasksshouldbemarkedasdoneonthesprintbacklog.Thesprint
backlogshowsteammemberswhatworkiscompleteandwhattasksremain.Thisdata
helpsteammembersrunaneffectivedailyscrum(dailystandup).
Whilechangestothesprintbacklogareexpected,theScrumMastershouldbewatching
forpatternsaboutthetypeoramountofworkthatisaddedoradjusted.Ifapattern
emerges,itcanteachateamquiteabitaboutthesystemasitisbuiltandpossiblyabout
theteamitself.
TheBurndown
WhileTheScrumGuidepublishedbySchwaberandSutherlandinOctober2013saysthat
burndownsarenolongerarequiredartifactinScrum,Ibelievetheyarestillessentialtools
inateam’sarsenal.Scrumrequiresthatteamscommunicatehowmuchworkisremaining
andhowtaskcompletionistrendingthroughoutthesprint.ThebesttoolI’vefoundto
trackthisprogressisthesprintburndown,agraphical,real-timepictureofwhatworkis
remaininginthesprint.Itiscalculatedbygraphingthenumberofhoursremaining(y-
axis)againstthenumberofdaysremaining(x-axis).Burndownscanbehandwrittenor
createdwithatoolsuchasMicrosoftExcel.Toupdatethesprintburndown,the
ScrumMasterortheteamplotsthenumberofhoursremainingonthechartattheendof
eachday.Connectingthosepointsshowsagraphoftheworkstilloutstandingasthedays
ofthesprintgoby.Youcanvisualizewhethertheteamisontracktocompleteallthework
remainingbyextrapolatingthelinetothelastdayofthesprint.
TheMeetings
Scrumhasfourmeetings:theplanningmeeting,thedailyscrum(ordailystandup),the
sprintreview,andtheteamretrospective.
PlanningMeeting
Eachsprintbeginswithatwo-partsprintplanningmeetingattendedbytheteam,
ScrumMaster,andproductowner.Foraone-monthorfour-weeksprint,thistwo-part
meetingshouldlasteighthours.Foratwo-weeksprint,planforaboutfourhours.Asa
generalruleofthumb,multiplythenumberofweeksinyoursprintbytwohourstoget
yourtotalsprintplanningmeetinglength.
Partoneofthesprintplanningmeetingisareviewofpotentialproductbacklogitems
forthesprint.Thisisthetimefortheproductownertodescribewhatshewantstosee
builtforthenextsprint.Duringthispartofthemeeting,itisnotuncommonfortheteam
tobanterbackandforthwiththeproductowner,askingclarifyingquestionsanddriving
awayambiguity.Bytheendofsprintplanningpartone,theteamselectsasprintgoal,
whichshouldbeaone-sentencedescriptionoftheoveralloutcomeofthesprint.This
helpslaterwhenquestionsaboutdepthandbreadthcomeup,inthatiftheworkdoesnot
directlytietothesprintgoal,thenitisnotdoneduringthesprint.
Duringparttwoofthesprintplanningmeeting,theteamdecideshowtheworkwillbe
built.Inthismeeting,theteambeginsdecomposingtheproductbacklogitemsintowork
tasksandestimatingthesetasksinhours.Theproductownermustbeavailableduringthis
meetingbutdoesnothavetobeintheroom.Infact,manyteamsfindithelpfultowork
withouttheproductownerduringthisdetailedpartofthemeeting.Manyteamsfindthey
enjoydiscussingmanyimplementationpossibilitieswithoutworryingthattheproduct
ownerwillpanicormisunderstand.Iftheproductownerdoesremainintheroom,the
ScrumMasterneedstotakechargeofthispartofthemeeting,keepingtheteamfocused
andfreetoexplorepossibilitieswithoutbeinglimitedbytheproductowner’sownideasor
opinions.
DailyScrum
ThemostfrequentmeetingthatoccursinScrumisthedailymeeting,otherwiseknownas
thedailyscrumordailystandup.Regardlessofwhatitiscalled,thepurposeremainsthe
same:Givetheteamtheopportunitytosyncdaily,atthesametimeandatthesameplace.
Thedailyscrumisadailyplanningmeetingwheretheteamanswersastandardsetof
questions.Thethreequestionsmostoftenusedareasfollows:
1.Whathaveyouaccomplishedsincethelastmeeting?
2.Whatwillyouaccomplishtoday?
3.Whatimpedimentsorobstaclesareinyourway?
Someteamsaddafourthquestion.Formoreonthefourthquestion,seeChapter18,
“TheFourthQuestioninScrum.”
Thedailyscrumisnotadeep-diveproblem-solvingmeeting;itismeanttoidentify
whatpeopledid,whattheywilldo,andtheirissues—nothingmore.Anyotherissuesneed
tobetakenofflineasactionitemsfortheScrumMastertoresolveortheteamtodiscuss
further,dependingontheissue.Atthesametime,thedailyscrumisnotastatusreporting
meeting.Peopleshouldbetalkingtoeachother,notreportingtheiractivitiestothe
ScrumMaster.Itspurposeistokeeppeoplefocusedonwhattheyhavedoneandwilldo.
TheScrumMaster’sonlyfunctionistofacilitatethemeeting,notactasadetectiveor
taskmaster.
Theteamdetermineswhenthemeetingwilltakeplace,butitshouldbeeverydayatthe
sametimeandplace.TheScrumMasterandalltheteammembersarerequiredtoattend
everyday.Theproductownerandotherinterestedpartiesareinvitedtoattend,butitis
importanttounderstandthatthismeetingisfortheteam,notforexecutives,managers,
devleads,oranyoneelse.Ifnon–teammembersdoattend,theyarein“read-only”or
“listen-only”mode.Theyarenotallowedtoactivelyparticipate,butcanwatch,listen,and
learn.
Donewell,dailyscrumsimproveteamcommunication,identifyissuesand
impediments,andbuildasenseofcamaraderie.Readmoreabouthowtorunaneffective
dailyscrummeetinginChapter17,“FacilitatingaProductiveDailyScrum.”
SprintReview
Onthelastdayofthesprint,theteamholdsasprintreview.Thismeeting(theduration,
likethesprintplanningmeeting,dependsonsprintlength)allowsthecustomersan
opportunitytoreviewtheprogressmadeontheprojecttodateandprovidesthemavenue
togivedirectionorguidancetotheteamwithregardtotheproject.TheScrumMaster,
team,andproductownermustallattendthesprintreview.Additionally,theproductowner
ofteninvitescustomers,keystakeholders,andexecutivestothismeeting.
Duringthereview,theteamrecapsthegoalofthesprintandpresentstheworkthatis
done(seeChapter7,“HowDoYouKnowYou’reDone?,”tounderstandwhatthis
means.).Itisnotuncommonforcustomerstopraisetheteaminthismeeting,norisit
uncommonforthecustomerstoaskforchanges.Afterall,thereasonteamsdoScrumisto
providequickfeedbackloopsandmultipleopportunitiestoinspectandadapt;thisreview
isoneofthoseloops.Anynewrequestsshouldbeputontheproductbacklogand
prioritized.Inthismeeting,theteamshouldaskforcustomeracceptance.Sometimes,
customerssaythatsomefunctionalitywasnotdeliveredorwasnotdeliveredasexpected.
Inthosecases,workmaybeputbackontheproductbacklog.Ifthisisarecurringpattern,
itshouldbenotedbytheScrumMasterandaddressedwiththeteam.
Formoreoneffectivesprintreviews,seeChapter15,“TheSprintReview.”
SprintRetrospective
Thesprintretrospectivefollowsthesprintreview.Itprovidestheteamanopportunityto
identifywaysinwhichitcanimproveitsworkprocessandexecutionoftheScrum
framework.ThemeetingismandatoryforallScrumteammembers.
TheScrumMastertypicallyfacilitatesthemeeting,helpingtheteambuildalistof
prioritizedimprovementitemsitcanimplementinfuturesprints.Theseitemsshouldbe
reviewedatsubsequentretrospectivessotheteamknowshowitisdoingandwhether
improvementsarehappening.Onceagain,thedurationhingesonthesprintlength.
Inthismeeting,theteamshouldanswer(atleast)thefollowingtwoquestions:
1.Whatwentwellduringthissprint?
2.Whatcouldbeimprovedinthenextsprint?
Everyoneshouldparticipate.TheScrumMastershouldnotbegoingaroundtheroom
askingpeoplefortheiranswers.Instead,theteamshouldbeactivelywritingitsanswers
onawhiteboard.Oncetheteammembershavefinishedanswering,theyshouldwork
togethertoprioritizetheitemsandbegindecidingwhethertheitemswillbeaddressed.
Retrospectivesthatdonothavealotofactivityorthatdonotdrivechangearefrustrating
foreveryoneinvolvedandoftenleadtotheteamquestioningtheretrospectives’value.The
valuecomesthroughtheopportunitiesforchangeidentifiedintheretrospective.Ifthe
opportunitiesarenotactedonandtheteamdoesnotimprove,thereisalargerissue.For
moreonrunningeffectiveretrospectives,seeChapter16,“Retrospectives.”
PuttingItAllTogether
Thepartsandrulesbythemselvesareeasytounderstand.Puttingthemtogetherinthe
mosteffectiveway,however,poseschallenges.Movingbacktotheracecaranalogy,each
partmustbefinelytunedforoptimumperformance.Thechaptersinthebookdivedeeply
intoimplementationdetailsandreal-lifestrategiesforoptimizingperformance;moving
fasterwhileremainingincontrol,anddealingwiththeknocks,blowouts,andbackfires
thatcomefromtryingtoraceinthecompetitiveworldofsoftwaredevelopment.
Index
Acceptancetests,inTDD,129–131
Acceptancewindow,contractualagreement,362
Accountability,teamconsultants,47–48
Activetasklimit(ATL),incollaboration,373–377
Agenda,dailyScrummeeting,209–210
Agileteams,successfuloutsourcing,332
Aligningincentiveswithoutcomes
aligningaroundcustomersatisfaction,412–413
earlyinvolvementofdevelopmentteams,413
end-to-enddeliverymodel,412–415
prioritizingprojectportfolios,414–415
settingthefocus,412–415
shiftingresources,414–415
sidebenefits,415
astory,409–412
Aligningincentiveswithoutcomes,keystosuccess
dedicatedteamsversusrandompeople,416
executivesupport,417
integratingsalesanddevelopment,416
organization-widecoordination,417
prioritizingprojectportfolios,416
Allocatingwork,successfuloutsourcing,333
Anarchicprojects,technologyandrequirements,14
Artifacts.SeeScrum,artifacts;specificartifacts.
ATL(activetasklimit),incollaboration,373–377
Automatedintegration,inTDD,129–131
Automatingdocumentation,323
Backlog.SeeProductbacklog.
Beginner’smind,225–226,230–231
Belshee,Arlo,223,225–227,230
TheBigWalltechnique
description,342
example,342–346
astory,340–341
Blindestimationofteamvelocity.SeealsoEstimatingteamvelocity.
decomposingthereferencestory,59
estimatingvelocity,60–61
versusothertechniques,66
overview,58–61
points-to-hoursapproximation,59
productbacklog,58
teamcapacity,59–60
Blockingissues,dailyScrummeeting,207–208
Boehm,Barry,171,357
Brainstorming,96–97
Breakingupfights,roleoftheScrumMaster,113
Brooks,Fred,45
Brooks’law(addingmanpowertolateprojects),45,233,398–399
Budgets,truecostsofoutsourcing,330–332
Bugs.SeeDefectmanagement.
Burndowncharts
description,431
sustainablepace,273–274
Burnout,269–275
Busfactor,214
“BuyaFeature”game,199
Cadence,dailyScrummeeting,213
Cancelingthesprint,259–260
Candidatescreening.SeeImmersiveinterviewing,candidatescreening.
Cards,collectinguserstories,306–307
CareerBuilder.com,399–400
Carnegie,Dale,252–253
Carnegieprinciples,teamculture,253
Categorizingissues,definitionofdone,97–98
Chairsinmeetings.SeeStandingversussitting.
Change,roleoftheScrumMaster,115
Change,stagesof
chaos,16
foreignelements,16
Kotter’seight-stepmodel,30
latestatusquo,15–16
newstatusquo,17
practiceandintegration,16–17
Satir’sStagesofChange,15–17
Changemanagement,contractualagreement,353–356,361
Chaos,stageofchange,16
Clark,Kim,374
Cleland-Huang,Jane,308
Clientrole,combiningwithotherroles,75–77
Codedebt.SeeTechnicaldebt.
Codereviews,pairprogrammingasreal-timereviews,129
Codesmells,125–126
Codingstandards,definition,13
Cohn,Mike
collaboration,371
consolidation,98
datacollection,64
outsourcing,329
oncustomers,362
Collaboration.SeealsoTeams.
ATL(activetasklimit),373–377
keystosuccess,380–382
pairprogramming,373
relativesizingandtimeestimation,372
shorteningsprints,377–378
astory,367–371
taskboards,378–380
two-weeksprints,377–378
workitems,limiting,373–377
Collaboration,estimatingtasks.SeealsoTaskPoker.
ATL(activetasklimit),373–377
incollaboration,371–373
openitems,limiting,373–377
astory,367–371
TaskPoker,371–373
Collectivecodeownership,12
Commitment,Scrumvalue,8
Communication
emergencyprocedures,260
enlistingScrumsupport,31–32
releaseplanning,155
retrospectivemeetings,197
Scrumvision,31–32
successfuloutsourcing,335
Competencies.SeeSkillsandcompetencies.
Completingaproject.SeeDeliveringworkingsoftware;Done,defining.
Complexprojects,technologyandrequirements,14
Complicatedprojects,technologyandrequirements,14
ConeofUncertainty,357
Confirmation,collectinguserstories,307
Conflictavoidance,dailyScrummeetings,221
Conformity,teamculture,247–249
Consolidating
improvements,33
issues,98–100
Contingencyplans.SeeEmergencyprocedures.
Continuousintegration
definition,13
successfuloutsourcing,335
inTDD,126–128
Continuouslearning
dailyScrummeetings,221
implementingScrum,18
Contracts
acceptancewindow,362
customeravailability,361–362
keystosuccess,361–363
prioritization,362–363
ROIcutoff,363
astory,349–353
trustfactor,363
Contracts,projectmodel
changemanagement,361
deliverables,360–361
Contracts,rangesandchangesmodel
changemanagement,361
costestimation,359–360
costpersprint,estimating,360
discoverycontract,358–360
overview,358
paymentoptions,specifying,360
projectcontracts,360–361
releaseplanning,360
teamvelocity,determining,360
timeline,determining,359–360
versustraditionalcontracts,358
userstories,creatingandestimating,359
usertypes(personas),identifying,359
Contracts,traditionalmodel
changemanagement,353–356
ConeofUncertainty,357
overview,353–356
timing,356–358
Conversations,collectinguserstories,307
Conway’slaw(organizationalstructureinthecode),xxi
Corehours
colocatedteams,138–140
distributedteams,140–141
keystosuccess,142
part-timeteammembers,141–142
astory,135–138
Coreteams.SeealsoDevelopmentteams;Teams.
earlyinvolvement.SeeAligningincentiveswithoutcomes.
memberresponsibilities,74
optimalsize,45–46
riskmanagement,423–424
skillsandcompetencies,42–43
astory,35–39
versusteamconsultants,43–44,46,49.SeealsoTeamconsultants.
Costs
ofabadhire,399–400
documentation,318–321
ofimmersiveinterviewing,406
projects.SeeEstimatingprojectcost.
releaseplanning,152–153
Courage,Scrumvalue,8
Criticalpaths,implementingScrum,9–11
Culturalchallenges,truecostsofoutsourcing,329–330,332
Culture,team
addingnewmembers,238
Carnegieprinciples,253
conformity,247–249
culturalgoals,247–250
empowerment,252–253
innovation,247–249
institutionalmeans,248
keystosuccess,251–254
Merton’sstraintheory,246–251
Merton’stopologyofdeviantbehavior,246–251
rebellion,247–249
retreatism,247–249
ritualism,247–249
roleinoutsourcing,329,332
socialdeviance,246
sprintlength,86
astory,241–246
Cunningham,Ward,227–228
Customers
availability,contractualagreement,361–362
environment,sprintlength,86–87
estimatingteamvelocity,57
riskmanagement,421,423
sprintlength,86–87
viewofproductbacklog,343–346
Cycletime,burnout,272
DailyScrummeetings
agenda,209–210
blockingissues,207–208
busfactor,214
cadence,213
commonobstacles,205,208
conflictavoidance,221
continuouslearning,221
deepdives,210–211
description,432–433
fourthquestion,432
glossingoverproblems,212
handsignals,211
hiddenimpediments,212–213
interruptions,210
keystosuccess,212–215
layout,209–210
legacysystems,180
nonverbalcommunication,221
punctuality,209
rambling,210–211
rhythm,209–210
scheduling,208–209
standardthreequestions,432
standingversussitting,214
astory,205–208
successfuloutsourcing,333–334
teamconsultants,47
teamwork,214
vagueness,212
Dailystandupmeetings.SeeDailyScrummeetings.
Datacollection
historicaldata,391–393
retrospectivemeetings,198–199
sampletable,392
instorypoints,391–393
Datagatheredovertimemodel,sustainedengineering,179
Dates.SeePlanning;Scheduling.
Debt.SeeTechnicaldebt.
Decomposingstories
estimatingteamvelocity,59
example,161–164
granularity,167
astory,157–159
Decomposingtasks
estimatingtasksizes,164–167
example,164–167
granularity,167
sprintlength,87
astory,157–159
Decomposingthemes
example,162–163
granularity,167
Dedicatedteammodel,sustainedengineering,179–182
Dedicatedteams.SeeCoreteams.
Dedicatedtimemodel,sustainedengineering,178
Deepdives,dailyScrummeeting,210–211
Defectmanagement
frequenttesting,171
keystosuccess,172–173
onlegacysystems,173
overview,170–172
pairprogramming,129
settingpriorities,171–172
astory,169–170
value,optimizingandmeasuring,295
Definitionofdone.SeeDeliveringworkingsoftware;Done,defining.
Degreeofconfidence,releaseplanning,148–151
Deliveringworkingsoftware.SeealsoDone,defining.
end-to-endscenarios,286–287
expansion,283–284
identifyingacorestory,281–282
keystosuccess,284–287
limitinguseraccess,282–283
numberofusers,282–283
prioritizingrisk,283
rework,285–286
astory,277–281
validation,283–284
windowofopportunity,283
DeMarco,Tom,274
Denne,Mark,308
Derby,Esther,198,200–202
Designconceptcards,227
Developmentpractices,truecostsofoutsourcing,330
Developmentteams,definition,428–429.SeealsoCoreteams.
Developmentalstages,teamgrowth,235–237
Discoverycontract,contractualagreement,358–360
Documentation
inagileprojects,321–322
automating,323
committingto,323
commondocuments,listof,317–318
cost,318–321
explainingyourprocess,323
keystosuccess,323–324
listoffeaturesandfunctions.SeeSprintbacklog.
planningfor,322–323
purposeof,317
sprintreviewmeetingdecisions,189–190
stabilityversusvolatility,322
startingprojectswithout,322–323
astory,313–316
versusworkingsoftware,316–317
Documentation,approachesto
early,318–319
late,319–320
asyougo,320–321
Dollardemonstration,285
Done,defining.SeealsoDeliveringworkingsoftware.
brainstorming,96–97
categorization,97–98
consolidation,98–100
creationandpublishing,100–101
exercise,95–101
keystosuccess,101
participants,96
purposeof,101
sorting,98–100
astory,93–95
inTDD,132
teamdefinitionofdone,94
undonework,101
Duration,sprintreviewmeetings,187
Duvall,PaulM.,128
Educating
individuals,TDD,132–133
organizations,roleoftheScrumMaster,115
stakeholders,298
Efficiencyversuseffectiveness,274–275
Emergencyprocedures,teamoptions
cancelingthesprint,259–260
communication,260
don’tpanic,260–261
gettinghelp,258
keystosuccess,260–261
maintainingfocus,261
overview,257–258
reducingscope,258–259
removingimpediments,258
astory,255–257
Employeecosts
estimatingprojectcosts,308–309
outsourcing,329
roleoftheScrumMaster,109–112
Empowerment
enlistingsupportforScrum,32–33
teamculture,252–253
Endgame,releaseplanning,153–154
Endingaproject.SeeDeliveringworkingsoftware;Done,defining.
End-to-enddeliverymodel,412–415
End-to-endscenarios,286–287
Engineeringpractices.SeeSustainedengineering;TDD(Test-DrivenDevelopment).
Environment
physical,retrospectivemeetings,197–198
political,estimatingteamvelocity,57
productowner,sprintlength,86–87
Epics,definition,160
Erdogmus,Hakan,129
Estimates
becomingcommitments,387
ascommitments,54
inranges,385–386,388–391
Estimates,relative
incostestimation,307–308
Fibonaccisequence,59,303
Estimating
hoursfromstorypoints.SeeStorypoints.
productbacklog.SeeProductbacklog,prioritizingandestimating.
projectresources.SeeEstimatingprojectcost.
remainingworkload.SeeBurndown.
tasks.SeeTasks,estimating.
trendsintaskcompletion.SeeBurndown.
Estimatingprojectcost
contractualagreement,359–360
costpersprint,360
employeecosts,309
functionalspecifications,307
keystosuccess,310–311
MMF(minimalmarketablefeature)set,308
outsourcing,truecosts,330–332
planningpokertechnique,307
releaseplanning,309–310
roughlyrightversuspreciselywrong,307–308
astory,301–305
teamcosts,309
teamvelocity,308–309
techniquesfor,307–308
Estimatingprojectcost,userstories
cards,306–307
confirmation,307
conversations,307
creating,307–308
prioritizing,308
sizing,301–305,307–308
threeC’s,307
Estimatingteamvelocity
communicatingestimatesasranges,62–64
comparisonoftechniques,65–66
estimatesascommitments,54
fromhistoricaldata,56–57,66
keystosuccess,65–66
multipliers,64–65
politicalenvironment,57
productownerandcustomer,57
forprojectcost,308
projectsizeandcomplexity,57
astory,51–56
teamnewness,57
truncateddatacollection,64–65
variables,57
waitandsee(realdata)method,61–64
Estimatingteamvelocity,byblindestimation
decomposingthereferencestory,59
estimatingvelocity,60–61
versusothertechniques,66
overview,58–61
points-to-hoursapproximation,59
productbacklog,58
teamcapacity,59–60
Expansion,deliveringworkingsoftware,283–284
Expendabilityofteammembers,214
Extendingsprintlength,92
Externalfocus,pairprogramming,225
ExtremeProgramming(XP).SeeXP(ExtremeProgramming).
Facilitation,roleoftheScrumMaster,114
Feathers,Michael,182
Featurelist.SeeProductbacklog;Sprintbacklog.
Featurework,292–294
Fibonaccisequence,59,303
Finishingaproject.SeeDeliveringworkingsoftware;Done,defining.
Focus,Scrumvalue,8
Forecastingwithimmersiveinterviewing,398
Foreignelements,stageofchange,16
Forming,stageofteamdevelopment,235–237
Fourthquestion,dailyScrummeetings,217–221,432
Fowler,Martin,126,182
Functionlist.SeeProductbacklog;Sprintbacklog.
Functionalspecifications,estimatingprojectcost,307
Gabrieli,John,225
Geographicdistance,costsofoutsourcing,332
Gettingstarted.SeeImplementingScrum.
Glossingoverproblems,dailyScrummeeting,212
Granularity,decomposingstories,167
Grenning,James,371
Groupcohesion,costsofoutsourcing,329
Guidingcoalition,enlistingsupportforScrum,31
Handsignals,dailyScrummeeting,211
Hedden,Trey,225
Help,emergencyprocedures,258
Helpingout,roleoftheScrumMaster,114
Hiring
interviewingcandidates.SeeImmersiveinterviewing.
outsourcing.SeeOutsourcing.
Historicaldata
collecting,391–393
estimatingteamvelocity,56–57,66
estimatingworkload,393
Hittingthewall,267–269
Hofstede,Geert,329
Hohmann,Luke,199
Humphrey’slaw(gatheringuserrequirements),xxi
IBM
keydimensionsofculturalvariety,329
TDD,benefitinteams,124–125
Immersiveinterviewing
costofabadhire,399–400
definition,398,400–401
asaforecast,398
hiringfortherightreasons,398–399
howtohire,400–401
long-termfitversusshort-termexpertise,400
organizationalevaluation,398
skillsandcompetencies,400
astory,395–397
Immersiveinterviewing,candidatescreening
managersandnontechnicalpeople,404
overview,401–402
preparationandsetup,402–403
scoringcandidates,403–404
senior-levelpeopleversusjunior-level,402–403
Immersiveinterviewing,keystosuccess
focusoncompetencies,405
hiringstrongpeople,406
investingintheprocess,406
repeatablehiringprocess,405
skillsandcompetencies,405–406
understandingcosts,406
ImplementingScrum.SeealsoPeople,enlistingsupportof.
combiningwithExtremeProgramming,12–13
continuouslearning,18
exposingissues,12
identifyingcriticalpaths,9–11
keystosuccess,17–18
learningbasemechanics,17
inmidstream,18
patience,17–18
potentiallyshippablecode,13
Scrumplanningversustraditionalmethods,9–11
shiftingmindsets,9
astory,1–6
timeframe,18
underlyingvalues,7–8
understandingtherules,17
Improvingexistingcode,125–126.SeealsoRefactoring.
Incentives,aligningwithoutcomes.SeeAligningincentiveswithoutcomes.
Innovation,teamculture,247–249
Institutionalmeans,teamculture,248
Institutionalizingnewapproaches,33
Internalfocus,pairprogramming,225
Interruptions,dailyScrummeeting,210
Interviewing.SeeImmersiveinterviewing.
James,Michael,113
Jansen,Dan,225
Junior-levelpeople,interviewing,402–403
Kerth,Norman,202
Kessler,Robert,129
Kotter,John,30
Kotter’smodelforenlistingsupportforScrum,30
Larsen,Diana,198,200–202
Latestatusquo,stageofchange,15–16
Lawsofsoftwaredevelopment
Brooks’law(addingmanpowertolateprojects),45,233,398–399
Conway’slaw(organizationalstructureinthecode),xxi
Humphrey’slaw(gatheringuserrequirements),xxi
Ziv’slaw(predictability),xx–xxi
Layout,dailyScrummeeting,209–210
Learningorganizations,35
Legacysystems.SeealsoSustainedengineering.
dailyreleasesandstandups,180
defectmanagement,173
goalplanning,180
keystosuccess,181–182
retiring,182
retrofitting,182
stakeholdermeetings,180–181
astory,175–177
stranglerapplications,182
tribalknowledge,176
Legalagreements.SeeContracts.
Maintaining
oldcode.SeeLegacysystems;Sustainedengineering.
thereleaseplan,151–152
Managementsupportforteamconsultants,48
Managers,interviewing,404
Managingpeople,roleoftheScrumMaster,113
Martin,Robert,126
Masterlist.SeeProductbacklog;Sprintbacklog.
McConnell,Steve,45,357,388
Meetings.SeealsoPlanning.
chairs.SeeStandingversussitting.
daily.SeeDailyScrummeetings.
standingversussitting,197,214
astory,1–6
teamconsultants,46–47
typesof,431–434.Seealsospecificmeetings.
Menlo,ExtremeInterviewingtechnique,401
Merton,RobertK.,246–251
Merton’sstraintheory,teamculture,246–251
Merton’stopologyofdeviantbehavior,246–251
Micro-pairing,pairprogramming,224,227–230,231
Microsoft,124
Miller,Ade,128
MMF(minimalmarketablefeature)set,308
MMR(minimalmarketablerelease),347
Multipliers,estimatingteamvelocity,64–65
Multitasking,negativeeffectsof,374
Myers,Ware,45
Nass,Clifford,374
Newstatusquo,stageofchange,17
Nielsen,Dave,354–355
Noisereduction,pairprogramming,128
Nontechnicalpeople,interviewing,404
Nonverbalcommunication,dailyScrummeetings,221
Norming,stageofteamdevelopment,235–237
NorthCarolinaStateUniversity,124
Offshoring.SeeOutsourcing;Teammembers,adding.
Oldcode
maintaining.SeeLegacysystems;Sustainedengineering.
refactoring,13,125–126
Openness,Scrumvalue,8
Ophira,Eyal,374
Osborn,AlexF.,96
Outcomes,aligningincentiveswith.SeeAligningincentiveswithoutcomes.
Outsourcing,keystosuccess
agileteams,332
allocatingthework,333
continuousintegration,335
contraindications,336–337
dailystandups,333–334
hiringnorth/southversuseast/west,333
maintainingtheScrumframework,333–334
pairedprogramming,334–335
projectmanagement,335–336
real-timecommunication,335
retrospectives,334
sprintreviews,334
teambuilding,332–333
travelrequirements,335–336
workpackages,330,333,335
Outsourcing,astory,325–328.SeealsoTeammembers,adding.
Outsourcing,truecosts
culturalchallenges,329–330,332
developmentpractices,330
estimatingbudgets,330–332
geographicdistance,332
groupcohesion,329–330
increasedoverhead,329
long-termretention,329
projectmanagement,329–330
transitioncosts,328–329
workingacrosstimezones,332
Overloadingteamconsultants,49
Pacing.SeeSustainablepace.
Pairchurn,226–227
Paircycletime,226
Pairprogramming
beginner’smind,225–226,230–231
benefitsof,128–129,373
bugreduction,128
incollaboration,373
definition,12–13
designconceptcards,227
distractions,225,230
externalfocus,225
integratingnewteammembers,234
internalfocus,225
keystosuccess,230–231
micro-pairing,227–231
noisereduction,128
outsourcing,334–335
pairchurn,226–227
paircycletime,226
Ping-Pongpattern,227–228
promiscuouspairing,225–227
asreal-timecodereviews,128
astory,223–225
inTDD,128–129
PairProgrammingPing-PongPattern,227–228
Parkingunresolvabledisagreements,347–348
Patience
enlistingsupportofpeople,34
implementingScrum,17–18
Patterns,determining,298–299
Patton,Jeff,285
Paymentoptions,contractualagreement,360
People,enlistingsupportof.SeealsoManagement;Teams.
communicatingavision,31–32
consolidatingimprovements,33
creatingavision,31
creatingshort-termwins,33
empoweringparticipants,32–33
establishingasenseofurgency,30–31
formingaguidingcoalition,31
institutionalizingnewapproaches,33
keystosuccess,33–34
Kotter’seight-stepmodel,30
patience,34
providinginformation,34
sponsors,31
astory,23–29
Performing,stageofteamdevelopment,235–237
Personas(usertypes),identifying,359
Personnel.SeeManagement;People;Teams.
Physicalenvironment,retrospectivemeetings,197–198
Ping-Pongpattern,pairprogramming,227–228
Planning.SeealsoEstimating;Meetings;Scheduling.
goalsforlegacysystems,180
listoffeaturesandfunctions.SeeProductbacklog;Sprintbacklog.
prioritizingandestimatingproductbacklog,346
releases.SeeReleaseplanning.
retrospectivemeetings,196–198
Scrumversustraditionalmethods,9–11
sprintreviewmeetings,189
astory,1–6
forteamconsultantdowntime,49
Planningmeetings
description,431–432
teamconsultants,47
PlanningPoker,371–372.SeealsoTaskPoker.
Planningpokertechnique,estimatingprojectcost,307
Points-to-hoursapproximation,59
Politicalenvironment,estimatingteamvelocity,57
Potentiallyshippablecode
implementingScrum,13
astory,277–281.SeealsoDeliveringworkingsoftware.
PowerPointslides
astory,184–186
templatefor,187–188
Practiceandintegration,stageofchange,16–17
Preciselywrongversusroughlyright,307
Preconditionsforsprints,295–296
Preplanning,prioritizingandestimatingproductbacklog,346
Principlesofclassdesign,126
Prioritizing
bybusinessvalueandrisk,429–430
contractualagreement,362–363
defectmanagement,171–172
issuesinretrospectivemeetings,194–195,199–200
itemsforreleaseplanning,155
productbacklog.SeeProductbacklog,prioritizingandestimating.
projectportfolios,414–416
risks,deliveringworkingsoftware,283
userstories,308
Problemresolution,roleoftheScrumMaster,113
Productbacklog.SeealsoSprintbacklog.
definition,429–430
estimatingteamvelocity,58
prioritizingandestimating,429–430
Productbacklog,prioritizingandestimating
TheBigWalltechnique,342–346
customerview,343–346
emulatingtheteam,342–343
focusingdiscussion,347–348
keystosuccess,346–348
meetingsupplies,348
MMR(minimalmarketablerelease),347
parkingunresolvabledisagreements,347–348
preplanning,346
settingtimelimits,347
shiftingestimates,348
stakeholderview,343–346
astory,339–341
Productownerrole
cancelingthesprint,259–260
combiningwithotherroles,75–77
definition,428
estimatingteamvelocity,57
responsibilities,73
riskmanagement,421,423
Progressreporting.SeeDailyScrummeetings;Retrospectivemeetings;Sprintreview
meetings;Value,optimizingandmeasuring.
Projectcontracts,360–361
Projectmanagement
dutiesmappedtoroles,74–75
successfuloutsourcing,335–336
truecostsofoutsourcing,329–330
Projectportfolios,prioritizing,414–416
Projects
anarchic,14
complex,14
complicated,14
costestimation.SeeEstimatingprojectcost.
duration,sprintlength,85–86
rankingcomplexity,14
simple,14
sizeandcomplexity,estimatingteamvelocity,57
technologyandrequirements,14
Promiscuouspairing,225–227
Provost,Peter,224,227–228
Punctuality,dailyScrummeeting,209
Putnam,Lawrence,45
Quality.SeeValue.
Questions,dailyScrummeetings
fourthquestion,217–221,432
keystosuccess,220–221
standardthreequestions,432
astory,217–220
Questions,sprintretrospectivemeetings,433–434
Quizfordeterminingsprintlength,88–90
Rambling,indailyScrummeetings,210–211
Range,Estimate,Focus,Learn,Effort,Communication,Team(REFLECT),393–394
Rangesandchangesmodelforcontracts.SeeContracts,rangesandchangesmodel.
Rangesinestimates.SeeStorypoints.
Rants,retrospectivemeetings,194
Rate-limitingpaths.SeeCriticalpaths.
Ratingthesprint,retrospectivemeetings,200
Realdata,estimatingteamvelocity,61–64
Rebellion,teamculture,247–249
Refactoringoldcode,13,125–126
Referencestories,303
REFLECT(Range,Estimate,Focus,Learn,Effort,Communication,Team),393–394
Relativeestimates
incostestimation,307–308
Fibonaccisequence,59,303
Releaseplanning
contractualagreement,360
degreeofconfidence,148–151
deliveringworkingsoftware,155–156
determiningtheendgame,153–154
estimatingprojectcosts,309–310
inputs,147–148
keystosuccess,154–155
maintainingtheplan,151–152
outcomes,153–154
apreliminaryreleaseplan,147–148
prioritizingworkitems,155
projectcost,152–153
refiningestimates,155
Scrumplanning,155–156
astory,143–146
updatingtheplan,155
Removingimpediments,roleoftheScrumMaster,113
Reporting
progress.SeeDailyScrummeetings;Retrospectivemeetings;Sprintreviewmeetings;
Value,optimizingandmeasuring.
teamperformance,roleoftheScrumMaster,113
Resolvingproblems,roleoftheScrumMaster,113
Respect,Scrumvalue,8
Retreatism,teamculture,247–249
Retrofittinglegacysystems,182
Retrospectivemeetings
attendance,198
basicprinciples,201
benefitsof,196–197
“BuyaFeature”game,199
communication,197
datacollection,198–199
description,433–434
duediligence,196–197
groundrules,198
importanceof,200–201
keystosuccess,200–201
physicalenvironment,197–198
planning,197–198
prioritizingissues,194–195,199–200
purposeof,200–202
rants,194
ratingthesprint,200
roleoftheScrumMaster,198–199
running,198–200
scheduling,201–202
standardtwoquestions,433–434
standingversussitting,197
astory,193–196
successfuloutsourcing,334
teamconsultants,47
timing,197
Reviewmeetings.SeeSprintreviewmeetings.
Rework,deliveringworkingsoftware,285–286
Rhythm,dailyScrummeeting,209–210
Riskmanagement
addingteammembers,239
coreteam,423–424
customerrisk,421,423
keystosuccess,424–425
prioritizing,283,429–430
productowner,421,423
byrole,422
ScrumMaster,423
socialrisk,423
astory,419–420
technicalrisk,423–424
typicalsoftwareprojectrisks,420–421
Ritualism,teamculture,247–249
ROIcutoff,363
Roles
choosing,74–75
descriptions,428–429.Seealsospecificroles.
keycompetencies,74–75
keystosuccess,78–79
mappedtoprojectmanagerduties,74–75
mixing,75–78
astory,69–72
Rothman,Johanna,171
Roughlyrightversuspreciselywrong,307
Satir,Virginia,15
Satir’sStagesofChange,15–17
Scenarios.SeeStories.
Scheduling.SeealsoDone,defining.
dailyScrummeeting,208–209
retrospectivemeetings,201–202
undonework,101
Schwaber,Ken,7,23,92,272,431
Screeningcandidates.SeeImmersiveinterviewing,candidatescreening.
Scrum
artifacts,typesof,429–431.Seealsospecificartifacts.
definition,6–7
evaluatingyourneedfor,13–14
gettingstarted.SeeImplementingScrum.
planning,155–156.SeealsoReleaseplanning.
ScrumEmergencyProcedures,257
Scrumframework,successfuloutsourcing,333–334
Scrummeetings,typesof,431–434.Seealsospecificmeetings.
Scrumroles.SeeRoles.
Scrumvalues
commitment,8
courage,8
focus,8
openness,8
respect,8
ScrumMaster
combiningwithotherroles,75–77
definition,428
responsibilities,73
inretrospectivemeetings,198–199
riskmanagement,423
rotatingamongteammembers,79
ScrumMaster,asfull-timejob
breakingupfights,113
day-to-daytasks,112–114
drivingorganizationalchange,115
educatingtheorganization,115
employeecosts,109–112
facilitatingteamactivities,114
helpingout,114
impactontheteam,106–112
keyfunctions,104
managingpeople,113
removingimpediments,113
reportingteamperformance,113–114
resolvingproblems,113
servantleadership,114
astory,103–106
Senior-levelpeople,interviewing,402–403
Senseofurgency,enlistingsupportforScrum,30–31
Servantleadership,roleoftheScrumMaster,114
Shippablecode.SeePotentiallyshippablecode.
Shore,James,129
Shorteningsprints,377–378
Short-termwins,enlistingsupportforScrum,33
Simpleprojects,technologyandrequirements,14
Size
coreteams,45–46
teamconsultantpools,45–46
userstories,301–305,307–308
Skillsandcompetencies
coreteams,42–43
focusinginterviewsoncompetencies,405
immersiveinterviewing,400,405–406
keycompetenciesforroles,74–75
teamconsultants,42–43
testingcompetenciesinnewteammembers,234,237–238
Slides
astory,184–186
templatefor,187–188
Sliger,Michele,372
Socialdeviance,teamculture,246
Socialrisk,423
Softwaredevelopment.SeeProjects.
SOLIDclassdesignprinciples,126
Sortingissues,definitionofdone,98–100
Spikes,293–294
Sponsors,enlistingsupportforScrum,31
Sprintbacklog,430–431.SeealsoProductbacklog.
Sprintlength
choosing,84–85,88–90
companyculture,86
criteriafor,84–85
customergroup,86–87
decomposingtasks,87
inexcessofonemonth,92
extending,92
guidelinesfor,88–90
keystosuccess,91–92
productownerenvironment,86–87
projectduration,85–86
quizfordetermining,88–90
Scrumteam,87
shortening,astory,370
stakeholdergroup,86–87
astory,81–84
twoweeks,astory,370
warningsigns,90
Sprintretrospectivemeetings.SeeRetrospectivemeetings.
Sprintreviewmeetings.SeealsoDailyScrummeetings.
description,433
documentingdecisions,189–190
duration,187
encouragingparticipants,190
keystosuccess,188–190
overview,186–187
planning,189
preparingfor,187–188
running,188
stories,customeracceptance,190
astory,183–186
successfuloutsourcing,334
teamconsultants,47
Sprintreviewmeetings,PowerPointslides
astory,184–186
templatefor,187–188
Sprints
canceling,259–260
cost.SeeEstimatingprojectcost.
preconditionsfor,295–296
ratingduringretrospectivemeetings,200
reducingscope,258–259
removingimpediments,258
shortening,377–378
two-week,377–378
Stabilityversusvolatility,documentation,322
Stacey,Ralph,14
Stakeholders
educating,298
meetings,legacysystems,180–181
prioritizingandestimatingproductbacklog,343–346
sprintlength,86–87
Standingversussitting
dailyScrummeeting,214
retrospectivemeetings,197
Standupmeetings.SeeDailyScrummeetings.
Sterling,Chris,13
Stories
collaboration,estimatingtasks,367–371
contracts,349–353
corehours,135–138
coreteams,35–39
creatingandestimating,contractualagreement,359
dailyScrummeetings,205–208
decomposing.SeeDecomposingstories.
decomposingtasks.SeeDecomposingtasks.
defectmanagement,169–170
definingdone,93–95
definition,160,292
deliveringworkingsoftware,277–281
documentation,313–316
emergencyprocedures,teamoptions,255–257
enlistingsupportofpeople,23–29
gainingcustomeracceptance,190
hierarchyof,160
implementingScrum,1–6
legacysystems,175–177
meetings,1–6
pairprogramming,223–225
planning,1–6
potentiallyshippablecode,277–281
PowerPointslides,184–186
productbacklog,prioritizingandestimating,339–341
projectcost,estimating,301–305
questions,dailyScrummeetings,217–220
reference,303
reference,decomposing,59
releaseplanning,143–146
retrospectivemeetings,193–196
roles,69–72
ScrumMaster,asfull-timejob,103–106
slides,184–186
sprintlength,81–84,370
sprintreviewmeetings,183–186
sustainablepace,265–269
sustainedengineering,175–177
taskboards,370
TaskPoker,369–370
tasks,estimating,367–371
TDD(Test-DrivenDevelopment),119–123
teamconsultants,35–39
teamculture,241–246
teammembers,adding,233–235
teamvelocity,estimating,51–56
value,optimizingandmeasuring,289–291
Stories,estimatingprojectcost
cards,306–307
confirmation,307
Stories,estimatingprojectcost,continued
conversations,307
creating,307–308
prioritizing,308
sizing,301–305,307–308
teamvelocity,308–309
threeC’s,307
Storming,stageofteamdevelopment,235–237
Storypoints
advantagesof,387
datacollection,391
data-basedimprovements,391–393
estimatesbecomingcommitments,387
estimatesinranges,385–386,388–391
keystosuccess,391–393
REFLECT(Range,Estimate,Focus,Learn,Effort,Communication,Team),393–394
relationtohours,393
astory,383–386
Straintheory,teamculture,246–251
Stranglerapplications,legacysystems,182
Sustainablepace
burndowncharts,273–274
burnout,269–275
cycletime,272
definition,12
efficiencyversuseffectiveness,274–275
hittingthewall,267–269
increasingteamtime,274
keystosuccess,274–275
monitoringprogress,273–274
shorteningiterations,272
astory,265–269
Sustainedengineering.SeealsoLegacysystems.
dailyreleasesandstandups,180
goalplanning,180
keystosuccess,181–182
retiringthelegacysystem,182
retrofittinglegacycode,182
stakeholdermeetings,180–181
astory,175–177
stranglerapplications,182
tribalknowledge,176
Sustainedengineeringmodels
datagatheredovertime,179
dedicatedteam,179–182
dedicatedtime,178
Sutherland,Jeff
burndown,273,431
contractualdeliverables,361
estimatingteamvelocity,57
onlegacycode,181
contracts,358
Scrumdescription,7
ScrumEmergencyProcedures,257
terminationclauses,363
Tabaka,Jean,114
Taskboards
incollaboration,378–380
astory,370
TaskPoker
commonmistakes,380
versusPlanningPoker,371
astory,369–370
fortaskestimation,380
team-levelbenefits,380
TaskPoker,keystosuccess
averagingtaskestimates,381
hearingeveryvoice,380
investmentintheoutcome,381
sharedunderstanding,381
taskestimation,380
taskgranularityestimates,381
teamwork,382
Taskswitching,374
Tasks,decomposing
estimatingtasksizes,164–167
example,164–167
granularity,167
sprintlength,87
astory,157–159
Tasks,definition,160
Tasks,estimating.SeealsoTaskPoker.
ATL(activetasklimit),373–377
incollaboration.SeeCollaboration,estimatingtasks.
granularity,381
openitems,limiting,373–377
pairprogramming,373
relativesizingandtimeestimation,372
shorteningsprints,377–378
astory,367–371
taskboards,378–380
taskswitching,374
two-weeksprints,377–378
WIP(workinprogress),limiting,374–377
workitems,limiting,373–377
Taxesonteamperformance,292–293
TDD(Test-DrivenDevelopment)
acceptancetests,129–131
automatedintegration,129–131
benefitinteams,124–125
benefitsof,133
buildingintotheproductbacklog,132
codesmells,125–126
continuousintegration,126–128
definition,13
definitionofdone,132
educationin,132
gettingstarted,132
implementing,124–125
improvingexistingcode,125–126
keypractices,123
keystosuccess,131–133
limitationsof,131–132
pairprogramming,128–129
principlesofclassdesign,126
refactoring,125–126
astory,119–123
teambuyin,132
teamstatus,127–128
testautomationpyramid,129
trainingandcoaching,132–133
Teamconsultants
accountability,47–48
buildingyourteam,42–47
versuscoreteams,43–44,46,49.SeealsoCoreteams.
establishingapool,40–42
keystosuccess,47–49
managementsupport,48
meetings,46–47
optimalpoolsize,45–46
overloading,49
overview,39–40
planningfordowntime,49
skillsandcompetencies,42–43
small-scaleexperiments,48
astory,35–39
timemanagement,37–39
transitionplans,40–41
Teammembers
busfactor,214
combiningwithotherroles,75–77
expendability,214
rotatingtheScrumMasterrole,79
Teammembers,adding.SeealsoOutsourcing.
Brooks’law(addingmanpowertolateprojects),45,233
consideringteamculture,238
developmentalstages,235–237
dropinvelocity,238
forming,235–237
groupcohesion,329
integratingnewmembers,234,237–238
keystosuccess,238–239
norming,235–237
pairprogramming,234
performing,235–237
risks,239
storming,235–237
astory,233–235
testingcompetencies,234,237–238
Teamvelocity
contractualagreement,360
definition,51
estimating.SeeEstimatingteamvelocity.
estimatingprojectcost,308–309
penaltyforaddingteammembers,238
astory,51–56
Teams.SeealsoCollaboration;Coreteams;People.
auxiliary.SeeTeamconsultants.
building,successfuloutsourcing,332–333
buyintoTDD,132
capacity,estimatingteamvelocity,59–60
colocated,138–140
dedicated.SeeCoreteams.
definition,428–429
distributed,140–141
long-termretention,truecostsofoutsourcing,329–330
newness,estimatingteamvelocity,57
optimalsize,35
part-time,141–142
prioritizingandestimatingproductbacklog,342–343
reportingperformance,roleoftheScrumMaster,113–114
sprintlength,87
statusreporting,127–128
taxesonperformance,292
workschedules.SeeCorehours.
Teamwork,dailyScrummeeting,214–215
Technicaldebt,294–295
Technicalrisk,423–424
Testfirst.SeeTDD(Test-DrivenDevelopment).
Test-DrivenDevelopment(TDD).SeeTDD(Test-DrivenDevelopment).
Testing.SeealsoTDD(Test-DrivenDevelopment).
automationpyramid,TDD,129
competenciesofnewteammembers,234,237–238
frequent,effectsondefects,171
Themes
decomposing,162–163,167
definition,160
ThreeC’sofuserstories,307
TimeframeforimplementingScrum,18
Timelimits,prioritizingandestimatingproductbacklog,347
Timemanagement
relativesizingandtimeestimation,372
teamconsultants,37–39
Timezones,truecostsofoutsourcing,332
Timeline,contractualagreement,359–360
Timing
contractualagreement,356–358
retrospectivemeetings,197
Traditionalcontracts.SeeContracts,traditionalmodel.
Trainingandcoaching.SeeEducating.
Transitionplans
teamconsultants,40–41
truecostsofoutsourcing,328–329
Transparency,292–294
Travelrequirements,successfuloutsourcing,335–336
Trends,determining,298–299
Tribalknowledge,176
Truncateddatacollection,estimatingteamvelocity,64–65
Trustfactorincontracts,363
Tuckman,Bruce,235–238
Two-weeksprints,incollaboration,377–378
Ullman,Ellen,317
Undonework,rescheduling,101
Userstories.SeeStories.
Usertypes(personas),identifying,359
Vagueness,dailyScrummeeting,212
Validation,deliveringworkingsoftware,283–284
Value,optimizingandmeasuring
defectmanagement,295
determiningtrendsandpatterns,298–299
educatingstakeholders,298
featurework,292–294
keystosuccess,297–299
preconditions,295–296
presentingdata,296–297
spikes,293–294
stories,definition,292
astory,289–291
structuringdata,296
taxesonteamperformance,292
technicaldebt,294–295
transparency,292–294
Values,Scrum
commitment,8
courage,8
focus,8
implementingScrum,7–8
openness,8
respect,8
ValveSoftware,hiringpractices,404–405,406
Velocity.SeeTeamvelocity.
Vision,enlistingsupportforScrum,31
Wagner,AnthonyD.,374
Waitandsee(realdata)method,estimatingteamvelocity,61–64
Wall,hitting,267–269
Wheelwright,Steven,374
Williams,Laurie,128,129,223
Wilson,Brad,227
Wilson,Peter,227
Windowofopportunity,deliveringworkingsoftware,283
WIP(workinprogress),limitingduringtaskestimation,374–377
Workitems,limitingincollaboration,373–377
Workpackages,330,333,335
Workloadestimation.SeeBurndown.
XP(ExtremeProgramming)
implementingScrum,12–13
practicesrequiredforScrum,12–13
Ziv’slaw(predictingsoftwaredevelopment),xx–xxi