You are on page 1of 4

WeightedShortestJobFirst(WSJF)

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:

V 1value V 1weight = RI (V 2value V 2weight)

Inwhich:

V 1value =Thefirstvariablevalue,13points.
V 1weight =Thefirstvariableweight

V 2value =Thesecondvariablevalue,21points
V 2value =Thesecondvariableweight
RI =Relativeimportantmultiplier,inthatcase2

Bysolvingthiswewillget:

V 1value = 3.23 V 2value

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.

You might also like