Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Incorporating Learning and Expected Cost of Change


Published on

Published in: Business, Technology
  • Be the first to comment

Incorporating Learning and Expected Cost of Change

  1. 1. R. Scott Harris1 and Mike Cohn21Montana State University–Billings2Mountain Goat SoftwareIncorporating Learningand Expected Cost of Changein Prioritizing Featureson Agile Projects1
  2. 2. Copyright Mountain Goat Software, LLCBusiness valueUsual advice to product owners is toprioritize based on “business value”But what is business value?Putting the competition out of business?Lowering delivery cost?Increasing short term revenue?2
  3. 3. Copyright Mountain Goat Software, LLCTelling a product owner to “prioritize onbusiness value” offers as much guidanceas the president of General Motorsordering a lathe operator to “maximize3
  4. 4. Copyright Mountain Goat Software, LLCTraditional adviceSaaty’s Analytic Hierarchy Process is oftenconsidered “the most promising approach”Involves pairwise comparison of all featuresPerhaps feasible once at the start of a projectAssumes perfect knowledgeAgile projects incorporate and acknowledgelearning and feedbackNot feasible every iteration on an agile project4
  5. 5. Copyright Mountain Goat Software, LLC1.Defer features with high expectedcosts of change2.Bring forward features thatgenerate useful knowledge3.Incorporate new learning often, butonly to decide what to do nextThree guidelines5
  6. 6. Copyright Mountain Goat Software, LLCExpected Cost of Change = ECCGuideline 1Defer features with high expected costsof changeECC = (probability of change) × (cost of change)Overall expected cost can be lowered if featuresthat are likely or costly to change are deferredWe’ll know more later so deferring these means we’remore likely to get them right6
  7. 7. Copyright Mountain Goat Software, LLCExpected Cost of ChangeTimeECCECC0ECC1ECC27
  8. 8. Copyright Mountain Goat Software, LLCAn implicationBecause of this we want to:Prioritize activities that have the greatest impacton lowering the ECC curveThis leads to:Guideline 2Bring forward features that generateuseful knowledge8
  9. 9. Copyright Mountain Goat Software, LLCUseful knowledgeComes in a variety of formsAbout the desirability of a featureAbout the usability of a featureAbout the technical feasibility of a featureUseful knowledge is knowledge that will affectprioritization of subsequent featuresProduct owner asks herself,“If this feature had beenimplemented already, would I do anything differently?”9
  10. 10. Copyright Mountain Goat Software, LLCGuideline 3Incorporate new learning often, but only todecide what to do nextLearning is a continuous processAgile projects acknowledge that all learning cannot beput upfront (as sequential projects try)“Now” vs.“Not Now”Those not done “Now” are reevaluated next iterationSupports agile preference for short iterations10
  11. 11. Copyright Mountain Goat Software, LLCRelease plans still necessaryRelease plans are still useful and oftennecessaryHelp establish a vision for where a project wantsto end upBut should not detail iteration by iterationsequencing details11
  12. 12. Copyright Mountain Goat Software, LLCPractical applicationOur advice to clients:Perform rough, initial prioritization based on the“business value” of each featureDon’t bother prioritizing beyond the next 1-3iterationsThink of ECC and knowledge generated as slidersMove items forward or back in the prioritization12
  13. 13. Copyright Mountain Goat Software, LLCExample: architectureConsider a feature that:implicationsDoes not have an exceptionally highECCknowledgeBased on ECC, feature does not slidebackwardBased on knowledge generated,feature does slide forward13
  14. 14. Copyright Mountain Goat Software, LLCSome examplesWe’ve used this to support early selection of:A particular application serverFeatures to test designs for a security frameworkinterface designWe’ve used this to defer decisions with highECC that generate little new knowledgeChoosing among three client technologies14
  15. 15. Copyright Mountain Goat Software, LLCConclusionsMore useful than advice to prioritize on “businessvalue”Instructing product owners toconsider relative changes in Expected Cost of Change (ECC)leads to better decisionsGuideline-based approach is easyKeeps focus on “what one thing should we do next” ratherthan “what is full set of priorities”More iterative approach to prioritizing acknowledges15