Becoming an Effective Product Owner


Published on

Published in: Business, Technology

Becoming an Effective Product Owner

  1. 1. Becoming an EffectiveProduct OwnerMike Cohn14 November 20061
  2. 2. © Mountain Goat Software, LLCFour questions2 What are some differences between the roleof the product owner and the ScrumMaster?1 What are the primary responsibilities of theproduct owner?3 What skills should the ideal product ownerpossess?4 What things would you expect to happen ona project without a product owner?2
  3. 3. © Mountain Goat Software, LLCTraditional view of product managementIdentify customerneedsGenerateproduct conceptsconceptsTest productconcepts3
  4. 4. © Mountain Goat Software, LLCPrior to Scrum and Agile, it was consideredprudent to understand what was wanted andhow it was going to be delivered at the verystart of the project.All future work hung off, depended on thiswork.The theory was that changes at the start of theproject cost $1, but the same change madewhen the project was 60% complete cost $100.4
  5. 5. © Mountain Goat Software, LLCMeans UncertaintyEndUncertaintyHighLowHigh LowWaterfallMeans UncertaintyEndUncertaintyHighLowHigh LowAgile5
  6. 6. © Mountain Goat Software, LLCEmergenceadvanceuncover some requirements, butEvery project has someemergent requirementsEmergent requirements are those are users cannotidentify in advance6
  7. 7. © Mountain Goat Software, LLCSo what do we do?We talk more, write lessBut write some if you need toShow software to usersAcknowledge that requirements emergeAnd all that this impliesproductbacklog7
  8. 8. © Mountain Goat Software, LLCStrategyPortfolioProductReleaseSprintDailyAgile ProductManagement ismostly concernedwith the spacefrom Product toSprint.8
  9. 9. © Mountain Goat Software, LLCTelling Storieswith theProduct Backlog9
  10. 10. © Mountain Goat Software, LLCStories are traditionally writtenon note cards.May be annotated with notes,estimates, etc.CardSource: XP Magazine 8/30/01, Ron Jeffries.Details behind the story comeout during conversations withproduct ownerConversationstory was coded correctly10
  11. 11. © Mountain Goat Software, LLCAs a user, I want toreserve a hotel room.As a user, I want tocancel a reservation.As a vacation planner, Iwant to see photos of thehotels.As a frequent flier, Iwant to rebook a pasttrip, so that I save timebooking trips I takeoften.11
  12. 12. © Mountain Goat Software, LLCAs a user, I can cancel a reservation.Does the user get a full or partial refund?Is the refund to her credit card or is it site credit?How far ahead must the reservation be cancelled?Is that the same for all hotels?For all site visitors? Can frequent travelers cancel later?How?12
  13. 13. © Mountain Goat Software, LLCThe product owner’s conditions of satisfaction can beadded to a storyAs a user, I can cancel areservation. Verify that a premium member cancancel the same day without a fee.Verify that a non-premium member ischarged 10% for a same-daycancellation.Verify that an email confirmation issent.Verify that the hotel is notified ofany cancellation.13
  14. 14. © Mountain Goat Software, LLCAs a user, I cancancel areservation.As a premium sitemember, I can cancel areservation up to thelast minute.As a non-premiummember, I can cancelup to 24 hours inadvance.As a site visitor, I amemailed a confirmationof any cancelledreservation.14
  15. 15. © Mountain Goat Software, LLCYou can start by identifying only a sprint’s worth ofbacklog itemsBut, it’s often quick and easy to stock the productbacklog with most of its itemsThis is helpful for release planning, expectation setting,The key is to write product backlog items withdifferent levels of detailFine-grained for stories about to be worked onCoarse-grained for stories further in the future15
  16. 16. © Mountain Goat Software, LLCUser StoryA description of desiredperspective of the user orcustomer.Themeuser stories.Epic16
  17. 17. © Mountain Goat Software, LLCAs aVP Marketing, I wantto review theperformance of historicalpromotional campaignsso that I can identify andAs aVP Marketing, I want toselect the timeframe to usewhen reviewing the performanceof past promotional campaigns,so that I can identify and repeatAs aVP Marketing, I can selectwhich type of campaigns (directmail,TV, email, radio, etc.) toinclude when reviewing theperformance of historicalpromotional campaigns.An epic;17
  18. 18. © Mountain Goat Software, LLCAs aVP Marketing, I want to seeinformation on direct mailings whenreviewing historical campaigns.As aVP Marketing, I want to seeinformation on television advertising whenreviewing historical campaigns.As aVP Marketing, I want to seeinformation on email advertising whenreviewing historical campaigns.18
  19. 19. © Mountain Goat Software, LLCIncludes developers, users, customer, othersBrainstorm to generate storiesGoal is to write as many stories as possibleSome will be “implementation ready”Others will be “epics”No prioritization at this point19
  20. 20. © Mountain Goat Software, LLCStart with epics and iterateAs a frequent flier,I want to see checkmy account.As a frequent flier,I want to ...FrequentflierAs a frequent flier,I want to book atrip using miles.As a frequent flier,I want to rebook atrip I take often.As a frequent flier,I want to request anupgrade.As a frequent flier,I want to see if myupgrade cleared.As a frequent flier,I want to book atrip.20
  21. 21. © Mountain Goat Software, LLCAnother approachinterfaceAsk open-ended, context-free questions as you go:What will the users most likely want to do next?What mistakes could the user make here?What could confuse the user at this point?What additional information could the user need?Consider these questions for each user role21
  22. 22. © Mountain Goat Software, LLC“As a <user role>, I want <goal>so that <reason>.”MyCookSpace.comYour team has been hired and given gobs ofVC money tocreate a social networking site (like MySpace) for cooks.Theidea is that cooks will exchange recipes and tips.They’ll alsobuy kitchen-related products from the advertisers on thesite.We want some novel way of rewarding cooks who postthe best and most popular recipes as noted by other cookson the site.Write some user stories for
  23. 23. © Mountain Goat Software, LLCFixedProcessFixedOutputMust be described in just enough detail tobe turned into the output by the processInputJust-in-timejust-enough23
  24. 24. © Mountain Goat Software, LLCWhat makes a good story?IndependentINegotiableNValuableVEstimatableESized AppropriatelySTestableT24
  25. 25. © Mountain Goat Software, LLCIndependentDependenices lead to problems estimating andprioritizingCan ideally select a story to work on without pullingin 18 other storiesNegotiableStories are not contractsValuableTo users or customers, not developerscustomers25
  26. 26. © Mountain Goat Software, LLCEstimatableBecause plans are based on user stories, we need tobe able to estimate themSized AppropriatelySmall enough to complete in one sprint if you’reabout to work on itBigger if further off on the horizonTestableTestable so that you have a easy, binary way ofexcept”26
  27. 27. © Mountain Goat Software, LLCPrioritizing theProduct Backlog27
  28. 28. © Mountain Goat Software, LLCThree steps1. Organize needs into themes2. Assess importance of each theme3. Prioritize themes28
  29. 29. © Mountain Goat Software, LLCWhy themes?Often individual stories cannot be prioritizedagainst each otherWhat’s more important in a word processor?The A key or the E key?Tables or undo?What’s more important on a car?The left front wheel or the right front wheel?Increased leg room or a larger engine?29
  30. 30. © Mountain Goat Software, LLCSteps for organizing into themes1. Write each story on its own note card orpost-it2. Eliminate redundant stories3. Group similar stories4. Label each group with a theme name5. If you have a lot of themes or have smallthemes, consider making themes of themes6. Review the resultsIf you started witha story-writingworkshop you mayalready havethemes.30
  31. 31. © Mountain Goat Software, LLCDistribute cards equally to all participantsNo particular pattern to how you do thisSomeone reads a card and places in on wall /tableOthers look for similar cards and add them to itNext person reads a card, places it, and othersplace similar cards with itContinue repeating until out of cards31
  32. 32. © Mountain Goat Software, LLC..., I want to see if my upgrade cleared.Be sure you are organizing stories around user needs;not around how you’ll build the software orhow the company is organized.32
  33. 33. © Mountain Goat Software, LLC5-10themesSmalleritems asneededTypical release(6-9 months)has 50-100product backlogitems3-10backlogitems pertheme33
  34. 34. © Mountain Goat Software, LLCTwo general approaches1. Team opinion2. Survey usersTheme screeningTheme scoringRelative weightingKano analysisFinancial analysisAnalytic Hierarchy ProcessStep 2Assess importance of each themeWe’ll look attoday.34
  35. 35. © Mountain Goat Software, LLCChoosing your approachExpertOpinionUserInterviewTheme screeningTheme scoringRelative weightingKano analysisFinancial analysisAnalytic Hierarchy Process✔✔✔✔ ✔✔✔ ✔35
  36. 36. © Mountain Goat Software, LLCTheme screeningIdentify 5-9 (approximately) selection criteriafor what is important in the next releaseSelect a baseline themeLikely to be included in the next releaseUnderstood by most team membersAssess each candidate theme relative to thebaseline theme36
  37. 37. © Mountain Goat Software, LLC+ + - 0 - +Importance to existing customersCompetitiveness with ABC Corp.ThemeFThemeEThemeCThemeBThemeA0ThemeGNet score+ - 0 0 0 0 0+ 0 0 0 + + +3Generates revenue in Q2 0 0 0 0 + 0 +Themes0 0 1 0 2Rank 1 4 5 4 3 4 2Continue? Y N N Y Y N Y+ = better than0 = same as- = worse than37
  38. 38. © Mountain Goat Software, LLCTheme scoringweightedAvoids compression of a categoryMuch worse than reference 1Worse than reference 2Same as reference 3Better than reference 4Much better than reference 538
  39. 39. © Mountain Goat Software, LLC25 3 0.75Competitive. with ABCStarts us integrating...WeightNet score10153.90Generates Q2 revenue 50Theme AImportance to existing cust.RatingWeightedScore2 0.203 0.455 2.501 0.25Theme BRatingWeightedScore3 0.304 0.602 1.004 1.00Theme CRatingWeightedScore3 0.304 0.603 1.502.15 3.40Rank 1 3 2Continue? Yes No Yes39
  40. 40. © Mountain Goat Software, LLCPrioritizing MyCookSpace.comAssume we have a minimally functional site upwith 4,000 registered cooksWe want 400,000 cooksAs groups, decide whether you want to use themescreening or theme scoring.Identify 4-5 themesIdentify some selection criteriaWhat’s important to the company in making thisdecision?Complete a theme screening/scoring worksheet40
  41. 41. © Mountain Goat Software, LLC41
  42. 42. © Mountain Goat Software, LLC∑∑8 6 14 40 64 44More investment choicesCostPercentEstimate91Priority9 2 11 31 40 27 1151 9 10 29 42 29 10035 100 146 100Themes42
  43. 43. © Mountain Goat Software, LLC8 6 22 41 64 44More investment choicesCostPercentEstimateThemes93Priority9 2 20 38 40 27 1411 9 11 21 42 29 7253 100 14 1002 1Weight→43
  44. 44. © Mountain Goat Software, LLCPriority pokerAn iterative approach to estimating:44
  45. 45. © Mountain Goat Software, LLCA234 5 6 7 8 9Estimator Round 1 Round 2SusanVadimAnnChris3 58 52 55 745
  46. 46. © Mountain Goat Software, LLCRelative weighting MyCookSpace.comUsing priority poker and the relative weightingworksheet provided, prioritize the themes you’ve46
  47. 47. © Mountain Goat Software, LLCMandatory /BaselineMust be present in order forLinear The more of it, the betterThree types of featuresExciters /DelightersFeatures a user doesn’t knowshe wants, until she sees it47
  48. 48. © Mountain Goat Software, LLCSurveying usersTo assess whether a feature is baseline, linear,or exciting we can:Sometimes guessOr survey a small set of users (20-30)We ask two questionsA functional questionHow do you feel if a feature is present?And a dysfunctional questionHow do you feel if that feature is absent?48
  49. 49. © Mountain Goat Software, LLCform ofquestionI expect it to be that way.Xform ofquestion water, how do youI expect it to be that way. X49
  50. 50. © Mountain Goat Software, LLCCategorizing an answer pairQ E E E LR I I I MR I I I MR I I I MR R R R QLikeExpectLivewithLikeExpectNeutralLive withDislikeDysfunctional QuestionFunctionalQuestionM MandatoryL LinearE ExciterQ QuestionableR ReverseI Indifferent50
  51. 51. © Mountain Goat Software, LLC3 11 31 1 3 24 22 20 4 1 021 9 14 5 1 1Apply formatting themesAutomate report executionExport reports to PowerPointQuestionableReverseIndifferentMandatoryLinearExciterTheme51
  52. 52. © Mountain Goat Software, LLCAll of the baseline featuresSome amount of linear featuresBut leaving room for at least a few exciters52
  53. 53. © Mountain Goat Software, LLCDate What WhereFebruaryLondonMarch 1,2007Denver, CO2007 CARegister atwww.mountaingoatsoftware.com53
  54. 54. © Mountain Goat Software, LLCMike Cohn contact infomike@mountaingoatsoftware.comwww.mountaingoatsoftware.com54