Professional Documents
Culture Documents
Atechniqueforprioritizingproductbacklogsbasedontheeconomic
viewoftheproduct
Introduction
ThispaperpresentsWeightedShortestJobFirst(WSJF),atechniquetoprioritizetheexecution
ofuserstorieswithinabacklogsothatthebestpossibleeconomicoutcomeforthecompany
canbeachieved.Thistechniquepresentsanewconceptcalled"costofdelay"thatisusedso
userstoriescanbeprioritizedbasedonaneconomicviewoftheproduct.
ThistechniqueisusedbyseveraloftheFortune500companiesandsupportedbyproject
managementsoftwaredevelopedbycompaniessuchasIBM,HP,Rally,ComputerAssociates
andAtlassian.
WhyWSJF?
Themosttraditionalwayofprioritizingaproductbacklogisorderingtheuserstoriesbyuser
businessvalue.Usingtheperceivedbusinessvalueofuserstoriestoprioritizetheirexecutionis
aconceptthathasbeenemphasizedovertheyearsbyawidelyshareddefinitionofthe
responsibilitiesofaproductowner,aroleofthemostknownagilesoftwaredevelopment
methodology,Scrum.Thisdefinitionstatesthatproductownersshouldprioritizetheirbacklogso
thevaluegenerationoftheproductfortheirusersismaximized,andforthatreason,people
werequickinusingtheuserbusinessvaluemetricforsuchpurpose.
Alongtheyearsanewviewonprioritizingappeared,statingthatdependingonthecomplexityof
theuserstoriesandthetimingbywhichtheywouldgeneratemostvalue,prioritizinguserstories
usinguserbusinessvaluealonecouldleadtoundesiredscenariosanddelayreleasinga
versionabletogeneratevaluetothecustomerswithinashortertimeframeandcostorcould
evenreleaseaversionthatcouldgeneratevaluetothecustomers,adheretotheexpectations
ofcostandinitialtimetomarketbutleadingtolossesinfurtheriterationsoftheproduct.
HowdoesWSJFwork?
DonReinertsen,thecreatorofthefirstversionofthetechnique,statedthatprioritizingjobsor
userstoriesshouldbedonebasedontheeconomicsoftheproductdevelopmentflow,meaning
theprioritizationshouldideallyachievethebesteconomicoutcomeforthebusiness.Basedon
thatpremise,theinitialformulaforWSFJwaspresented:
W SJF = Costofdelay
Duration
Inwhich"Costofdelay"wouldbethecostofhavingoneparticularuserstorypostponedand
"Duration"wouldbethetimeitwouldtaketoexecutethisuserstory.Forthisinitialproposal
Reinertsenstatedthatthe"Costofdelay"shouldbecalculatedinamoreprecisemanner.
Giventhatthecostofdelaycannotbeeasilycalculated,itwasproposedbytheScaledAgile
Framework(SAFe)thatthecostofdelaymustbecalculatedasarelativevaluecomprisedby
thesumofthreevariables,whicharepresentedbelow:
Userbusinessvalue:Howvaluableisthisuserstoryforthegoalofthesprint?
Timecriticality:Doesthevalueoftheuserstorydecreaseifnotdonerightnow?Willit
leadourcustomers/potentialcustomers.Delayingthedevelopmentofthisuserstorywill
distancetheproductreleasefromtheoptimaltimetomarket?
Riskreduction/Operationenablement:Doesthisstoryreducetheriskofotheruser
storiesdeliveringpropervalue?Doesthisstoryreducetheriskforthenextsprints?
Thenewequationbasedontheusageofthosevariableswouldbe:
W SJF = Userbusinessvalue+Timecriticality+Riskreductionandoperationenablement
Duration
Giventhoseareestimates,usingrelativevaluesfreestheproductownerfromtheburdenof
calculatingexactvaluesandacceleratestheprocessofprioritizationwhilestillbeingableto
contemplatethosevariablesintothedecisionprocessand,ifneeded,havingthemevaluated.
Relativevaluesareusedbecauseitiseasiertocomparethantoreachtheexactvalueofeach
variableforeachuserstorymostofthetime.Andifthatisnottrue,youcanuseexactvaluesto
calculaterelativevalues,theoppositeisnotviableunlessyouhaveatleastonebaseabsolute
value.
Todefinethevaluestothethreevariablesforeachuserstory,firstitisneededtohaveabase
valueforeachvariable.Thebasevalueare,respectively,theuserstorywiththeleastuser
businessvalue,theuserstorythatislesstimecriticalandtheuserstorythatreducesriskthe
leastforotheruserstoriesandforsubsequentsprints.Tothoseuserstoriesisgiventhevalue1
andthevalueoftheremaininguserstoriesshouldberelativetothatone.
ForcomparisonnumberswithintheFibonacciscaleareused.Fibonaccinumbersallow
comparingweightsinastraightforwardmannerbyreducingthenumberofvalueoptionswhile
notpresentingoptionsofweightsthatarenotdistantas,forexample,inanexponential
n
sequencesuchas2
.
Ifmorethanonepersonisgivinganopinionaboutthevalues,atechniquesuchas
planning/estimationpokercanbeused.
Afterfillingalltheestimate,wecanselecttheirweightintheprioritization.WeightsfortheWSJF
SAFemodelcanbeusedindifferentscenarios,fordifferentreleases.Forexample,ifthe
releasegoalisactuallytodemoasetoffeaturestoacustomer,theweightsoftheWSFJ
variablesshouldberelatedtothatparticulargoal.Usuallyriskreductionandoperation
enablementarenotthegoalsofademosession,sotheweightofriskreductionandoperation
enablementmightbereduced.
Onewaytocalculatetheweightistakinguserstorieswithhighvaluesforeachvariable.For
example,let'ssaythatforanebusinesswebsiteaddingproductstotheshoppingcartwas
consideredtohave13userbusinessvaluepointsandtheintegrationtobillcreditcardswas
givena21regardingoperationenablement.Ifforaparticularrelease,weconsiderthatdemoing
featuresismoreimportantandinthatwayweconsidertheshoppingcartuserbusinessvalue
twiceasimportantasbillingcreditcards,wehave:
Inwhich:
V 1value =Thefirstvariablevalue,13points.
V 1weight =Thefirstvariableweight
V 2value =Thesecondvariablevalue,21points
V 2value =Thesecondvariableweight
RI =Relativeimportantmultiplier,inthatcase2
Bysolvingthiswewillget:
Meaningthatuserbusinessvalueis3.23timesmoreimportantthanriskreduction/operation
enablementforthatrelease.Andwerepeatthatprocessbycomparingthelowerimportance
variabletotheremainingtofindoutthefinalrelativeweight,inthatcase,timecriticality.
[TODO:DETAILSONTHEEXAMPLE]
References
1. Reinertsen,Don.PrinciplesofProductDevelopmentFlow:SecondGenerationLean
ProductDevelopment.CeleritasPublishing,2009.
2. http://www.scaledagileframework.com/wsjf/
3. http://yuvalyeret.com/2014/11/13/donreinertsenscostofdelayintuitionexerciseafacilitato
rsguide/
4. Cohn,Mike.AgileEstimatingandPlanning.PrenticeHall,2005.