Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Becoming an Effective Product Owner

008d9a555e3c3d1962761425b0e65a1e?s=47 Mike Cohn
June 22, 2012

Becoming an Effective Product Owner

These slides describe some of the things necessary to work effectively as a Scrum Product Owner.

008d9a555e3c3d1962761425b0e65a1e?s=128

Mike Cohn

June 22, 2012
Tweet

More Decks by Mike Cohn

Other Decks in Business

Transcript

  1. Becoming an Effective Product Owner Mike Cohn 14 November 2006

    1
  2. © Mountain Goat Software, LLC Four questions 2 What are

    some differences between the role of the product owner and the ScrumMaster? 1 What are the primary responsibilities of the product owner? 3 What skills should the ideal product owner possess? 4 What things would you expect to happen on a project without a product owner? 2
  3. © Mountain Goat Software, LLC Traditional view of product management

    +6EQ?2= DA64:Q42E:@?D Identify customer needs DE23=:D9E2C86E DA64:Q42E:@?D Generate product concepts +6=64EAC@5F4E concepts Test product concepts 3
  4. © Mountain Goat Software, LLC ,C25:E:@?2=56G6=@A>6?E J Prior to Scrum

    and Agile, it was considered prudent to understand what was wanted and how it was going to be delivered at the very start of the project. J All future work hung off, depended on this work. J The theory was that changes at the start of the project cost $1, but the same change made when the project was 60% complete cost $100. 4
  5. © Mountain Goat Software, LLC (C@5F4E@H?6C96=ADC65F46F?46CE2:?EJ Means Uncertainty End Uncertainty

    High Low High Low Waterfall Means Uncertainty End Uncertainty High Low High Low Agile 5
  6. © Mountain Goat Software, LLC Emergence J !E:D:>A@DD:3=6E@<?@H2==C6BF:C6>6?ED:? advance J

    M,9:?<:?892C56CN2?5ME9:?<:?8=@?86CN42? uncover some requirements, but Every project has some emergent requirements J Emergent requirements are those are users cannot identify in advance 6
  7. © Mountain Goat Software, LLC So what do we do?

    J We talk more, write less J But write some if you need to J Show software to users J Acknowledge that requirements emerge J And all that this implies J 'A>6A4BB8E4;HA4N=4>DAD=34ABC0=38=6>5C74 product J =34G?A4BBC78B?A>6A4BB8E4A4N=4<4=C8=C74?A>3D2C backlog 7
  8. © Mountain Goat Software, LLC Strategy Portfolio Product Release Sprint

    ,96A=2??:?8@?:@? Daily Agile Product Management is mostly concerned with the space from Product to Sprint. 8
  9. © Mountain Goat Software, LLC Telling Stories with the Product

    Backlog 9
  10. © Mountain Goat Software, LLC +E@C:6D>2<68C62E324<=@8:E6>D JStories are traditionally written

    on note cards. JMay be annotated with notes, estimates, etc. Card Source: XP Magazine 8/30/01, Ron Jeffries. JDetails behind the story come out during conversations with product owner Conversation J224?C0=24C4BCB2>=NA<C74 story was coded correctly >=NA<0C8>= 10
  11. © Mountain Goat Software, LLC +2>A=6D7C@>2EC2G6=H63D:E6 As a user, I

    want to reserve a hotel room. As a user, I want to cancel a reservation. As a vacation planner, I want to see photos of the hotels. As a frequent flier, I want to rebook a past trip, so that I save time booking trips I take often. 11
  12. © Mountain Goat Software, LLC /96C62C6E9656E2:=D J As a user,

    I can cancel a reservation. J Does the user get a full or partial refund? J Is the refund to her credit card or is it site credit? J How far ahead must the reservation be cancelled? J Is that the same for all hotels? J For all site visitors? Can frequent travelers cancel later? J !B02>=NA<0C8>=?A>E8343C>C74DB4A J How? 12
  13. © Mountain Goat Software, LLC 6E2:=D2D4@?5:E:@?D@7D2E:D724E:@? J The product owner’s

    conditions of satisfaction can be added to a story J ,96D62C66DD6?E:2==JE6DED As a user, I can cancel a reservation. Verify that a premium member can cancel the same day without a fee. Verify that a non-premium member is charged 10% for a same-day cancellation. Verify that an email confirmation is sent. Verify that the hotel is notified of any cancellation. 13
  14. © Mountain Goat Software, LLC 6E2:=D25565:?D>2==6CDE@C:6D As a user, I

    can cancel a reservation. As a premium site member, I can cancel a reservation up to the last minute. As a non-premium member, I can cancel up to 24 hours in advance. As a site visitor, I am emailed a confirmation of any cancelled reservation. 14
  15. © Mountain Goat Software, LLC +E@4<:?8E96AC@5F4E324<=@8 J You can start

    by identifying only a sprint’s worth of backlog items J But, it’s often quick and easy to stock the product backlog with most of its items J This is helpful for release planning, expectation setting, 0=320=8=OD4=2434B86=0=32>38=6 J The key is to write product backlog items with different levels of detail J Fine-grained for stories about to be worked on J Coarse-grained for stories further in the future 15
  16. © Mountain Goat Software, LLC ,96AC@5F4E324<=@8:4636C8 User Story A description

    of desired 7F?4E:@?2=:EJE@=57C@>E96 perspective of the user or customer. Theme 4@==64E:@?@7C6=2E65 user stories. Epic =2C86FD6CDE@CJ 16
  17. © Mountain Goat Software, LLC ?6I2>A=6 As a VP Marketing,

    I want to review the performance of historical promotional campaigns so that I can identify and A4?40C?A>NC01;4>=4B As a VP Marketing, I want to select the timeframe to use when reviewing the performance of past promotional campaigns, so that I can identify and repeat ?A>NC01;4>=4B As a VP Marketing, I can select which type of campaigns (direct mail, TV, email, radio, etc.) to include when reviewing the performance of historical promotional campaigns. An epic; H66<DE@:>A=6>6?E !>A=6>6?E2E:@?D:K6DE@C:6D 52JDE@:>A=6>6?E 17
  18. © Mountain Goat Software, LLC ?6I2>A=6 As a VP Marketing,

    I want to see information on direct mailings when reviewing historical campaigns. As a VP Marketing, I want to see information on television advertising when reviewing historical campaigns. As a VP Marketing, I want to see information on email advertising when reviewing historical campaigns. 18
  19. © Mountain Goat Software, LLC +E@CJHC:E:?8H@C<D9@AD J Includes developers, users,

    customer, others J Brainstorm to generate stories J Goal is to write as many stories as possible J Some will be “implementation ready” J Others will be “epics” J No prioritization at this point 19
  20. © Mountain Goat Software, LLC Start with epics and iterate

    As a frequent flier, I want to see check my account. As a frequent flier, I want to ... Frequent flier As a frequent flier, I want to book a trip using miles. As a frequent flier, I want to rebook a trip I take often. As a frequent flier, I want to request an upgrade. As a frequent flier, I want to see if my upgrade cleared. As a frequent flier, I want to book a trip. 20
  21. © Mountain Goat Software, LLC Another approach J .0;:C7A>D670;>FN34;8CH?0?4ADB4A interface

    J Ask open-ended, context-free questions as you go: J What will the users most likely want to do next? J What mistakes could the user make here? J What could confuse the user at this point? J What additional information could the user need? J Consider these questions for each user role 21
  22. © Mountain Goat Software, LLC ,CJE9:DE6>A=2E6 “As a <user role>,

    I want <goal> so that <reason>.” MyCookSpace.com Your team has been hired and given gobs of VC money to create a social networking site (like MySpace) for cooks. The idea is that cooks will exchange recipes and tips. They’ll also buy kitchen-related products from the advertisers on the site. We want some novel way of rewarding cooks who post the best and most popular recipes as noted by other cooks on the site. Write some user stories for MyCookSpace.com. 22
  23. © Mountain Goat Software, LLC @H>F4956E2:=  Fixed Process 

    Fixed Output  Must be described in just enough detail to be turned into the output by the process Input Just-in-time just-enough 23
  24. © Mountain Goat Software, LLC What makes a good story?

    Independent I Negotiable N Valuable V Estimatable E Sized Appropriately S Testable T 24
  25. © Mountain Goat Software, LLC Independent J Dependenices lead to

    problems estimating and prioritizing J Can ideally select a story to work on without pulling in 18 other stories Negotiable J Stories are not contracts J #40E4>A8<?;HB><4O4G818;8CH Valuable J To users or customers, not developers J )4FA8C434E4;>?4ABC>A84BC>A4O42CE0;D4C>DB4AB>A customers 25
  26. © Mountain Goat Software, LLC Estimatable J Because plans are

    based on user stories, we need to be able to estimate them Sized Appropriately J Small enough to complete in one sprint if you’re about to work on it J Bigger if further off on the horizon Testable J Testable so that you have a easy, binary way of :=>F8=6F74C74A0BC>AH8BN=8B743 J >=4>A=>C3>=4=>K?0AC80;;HN=8B743L>AK3>=4 except” 26
  27. © Mountain Goat Software, LLC Prioritizing the Product Backlog 27

  28. © Mountain Goat Software, LLC (C:@C:E:K:?8E96AC@5F4E324<=@8 Three steps 1. Organize

    needs into themes 2. Assess importance of each theme 3. Prioritize themes 28
  29. © Mountain Goat Software, LLC Why themes? J Often individual

    stories cannot be prioritized against each other J What’s more important in a word processor? J The A key or the E key? J Tables or undo? J What’s more important on a car? J The left front wheel or the right front wheel? J Increased leg room or a larger engine? 29
  30. © Mountain Goat Software, LLC Steps for organizing into themes

    1. Write each story on its own note card or post-it 2. Eliminate redundant stories 3. Group similar stories 4. Label each group with a theme name 5. If you have a lot of themes or have small themes, consider making themes of themes 6. Review the results If you started with a story-writing workshop you may already have themes. 30
  31. © Mountain Goat Software, LLC 7Q?:EJ8C@FA:?8 J Distribute cards equally

    to all participants J No particular pattern to how you do this J Someone reads a card and places in on wall / table J Others look for similar cards and add them to it J Next person reads a card, places it, and others place similar cards with it J Continue repeating until out of cards 31
  32. © Mountain Goat Software, LLC ?6I2>A=6 !F0=CC>1>>:0O867CDB8=6<8;4B B05A4@D4=COH4A!F0=CC>1>>:0O867C !F0=CC>1>>:0O867C0=3?0H5>A8C !F0=CC>A41>>:0O867C!C0:4>5C4=

    !F0=CC>A4@D4BC0=D?6A034C>NABC2;0BB ..., 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 or how the company is organized. 32
  33. © Mountain Goat Software, LLC ,JA:42=C6DF=ED 5-10 themes Smaller items

    as needed Typical release (6-9 months) has 50-100 product backlog items 3-10 backlog items per theme 33
  34. © Mountain Goat Software, LLC J Two general approaches 1.

    Team opinion 2. Survey users J *><4B?428N20??A>0274B J Theme screening J Theme scoring J Relative weighting J Kano analysis J Financial analysis J Analytic Hierarchy Process Step 2 Assess importance of each theme We’ll look at $*"#$ %" today. 34
  35. © Mountain Goat Software, LLC Choosing your approach Expert Opinion

    User Interview Theme screening Theme scoring Relative weighting Kano analysis Financial analysis Analytic Hierarchy Process ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ 35
  36. © Mountain Goat Software, LLC Theme screening J Identify 5-9

    (approximately) selection criteria for what is important in the next release J Select a baseline theme J Likely to be included in the next release J Understood by most team members J Assess each candidate theme relative to the baseline theme 36
  37. © Mountain Goat Software, LLC ,96>6D4C66?:?82?6I2>A=6 + + - 0

    - + Importance to existing customers Competitiveness with ABC Corp. +E2CEDFD:?E68C2E:?8AC@5F4E=:?6D Theme F Theme E 2D6=:?6,96>6 Theme C Theme B Theme A 0 Theme G Net score + - 0 0 0 0 0 + 0 0 0 + + + 3 +6=64E:@?C:E6C:2 Generates revenue in Q2 0 0 0 0 + 0 + Themes 0  0 1 0 2 Rank 1 4 5 4 3 4 2 Continue? Y N N Y Y N Y + = better than 0 = same as - = worse than 37
  38. © Mountain Goat Software, LLC Theme scoring J $:<6E96>6D4C66?:?83FED6=64E:@?4C:E6C:22C6 weighted

    J &665E@D6=64E232D6=:?6E96>67@C62494C:E6C:2 J Avoids compression of a category J 249E96>6:D2DD6DD65282:?DEE9632D6=:?67@C6249 D6=64E:@?4C:E6C:2 Much worse than reference 1 Worse than reference 2 Same as reference 3 Better than reference 4 Much better than reference 5 38
  39. © Mountain Goat Software, LLC ,96>6D4@C:?8?6I2>A=6 25 3 0.75 Competitive.

    with ABC Starts us integrating... Weight Net score 10 15 3.90 +6=64E:@?C:E6C:2 Generates Q2 revenue 50 Theme A Importance to existing cust. Rating Weighted Score 2 0.20 3 0.45 5 2.50 1 0.25 Theme B Rating Weighted Score 3 0.30 4 0.60 2 1.00 4 1.00 Theme C Rating Weighted Score 3 0.30 4 0.60 3 1.50 2.15 3.40 Rank 1 3 2 Continue? Yes No Yes 39
  40. © Mountain Goat Software, LLC Prioritizing MyCookSpace.com J Assume we

    have a minimally functional site up with 4,000 registered cooks J We want 400,000 cooks J As groups, decide whether you want to use theme screening or theme scoring. J Identify 4-5 themes J Identify some selection criteria J What’s important to the company in making this decision? J Complete a theme screening/scoring worksheet 40
  41. © Mountain Goat Software, LLC *6=2E:G6H6:89E:?8 J DD6DDE96:>A24E@792G:?82DE@CJ E96>67C@> 

    J DD6DD:>A24E@7&',92G:?8:E7C@>  J 2=4F=2E6E96G2=F6@76249DE@CJ@CE96>6C6=2E:G6E@E96 6?E:C6AC@5F4E324<=@8 J ,9:D8:G6DJ@FE96C6=2E:G6G2=F6@7E92EDE@CJ@CE96>6 J 6G6=@A6CD6DE:>2E6E964@DE@76249DE@CJE96>6 J 2=4F=2E6E964@DE@76249DE@CJ@CE96>6C6=2E:G6E@E96 6?E:C6AC@5F4E324<=@8 J ,9:D8:G6DE96C6=2E:G64@DE@7E92EDE@CJ@CE96>6 J (C:@C:EJ:D8:G6?3J*6=2E:G6.2=F6P*6=2E:G6@DE 41
  42. © Mountain Goat Software, LLC *6=2E:G6H6:89E:?82?6I2>A=6 ,@E2=.2=F6*6=2E:G66?6QE*6=2E:G6(6?2=EJ .2=F6(6C46?E,@E2=.2=F6 ∑,@E2=.2=F6 @DE(6C46?EDE:>2E6

    ∑DE:>2E6 8 6 14 40 64 44 More investment choices (@CE7@=:@C632=2?4:?8 @>A=JH:E9?6H=2H Cost Percent Estimate .2=F6(6C46?E ,@E2=.2=F6 *6=2E:G6(6?2=EJ *6=2E:G66?6QE 91 Priority ,@E2= 9 2 11 31 40 27 115 1 9 10 29 42 29 100 35 100 146 100 Themes 42
  43. © Mountain Goat Software, LLC ?6I2>A=6H:E9H6:89ED 8 6 22 41

    64 44 More investment choices (@CE7@=:@C632=2?4:?8 @>A=JH:E9?6H=2H Cost Percent Estimate .2=F6(6C46?E ,@E2=.2=F6 *6=2E:G6(6?2=EJ *6=2E:G66?6QE Themes 93 Priority ,@E2= 9 2 20 38 40 27 141 1 9 11 21 42 29 72 53 100 14 100 2 1 Weight→ 43
  44. © Mountain Goat Software, LLC Priority poker JAn iterative approach

    to estimating: J +E2<69@=56CDH:E92D2J:?AC:@C:E:K:?82C6:?G:E65 J 249:D8:G6?2564<@742C5DH:E9E96G2=F6D J >@56C2E@CC625D2E96>62?5:EOD5:D4FDD653C:6RJ J 2496DE:>2E@CD6=64ED242C5E92E:D9:D@C96C6DE:>2E6@7 E96C6=2E:G636?6QE@7E96E96>6 J 2C5D2C6EFC?65@G6CD@2==42?D66E96> J :D4FDD5:776C6?46D6DA64:2==J@FE=:6CD J *66DE:>2E6F?E:=6DE:>2E6D4@?G6C86 J *6A62E7@CC6=2E:G6A6?2=EJ 44
  45. © Mountain Goat Software, LLC A 2 3 4 5

    6 7 8 9 (C:@C:EJA@<6C2?6I2>A=6 Estimator Round 1 Round 2 Susan Vadim Ann Chris 3 5 8 5 2 5 5 7 45
  46. © Mountain Goat Software, LLC Relative weighting MyCookSpace.com J Using

    priority poker and the relative weighting worksheet provided, prioritize the themes you’ve ?A4E8>DB;H834=C8N435>A$H>>:*?0242>< 46
  47. © Mountain Goat Software, LLC Mandatory / Baseline Must be

    present in order for DB4ABC>14B0C8BN43 #2?@2?2=JD:D Linear The more of it, the better Three types of features Exciters / Delighters Features a user doesn’t know she wants, until she sees it 47
  48. © Mountain Goat Software, LLC Surveying users J To assess

    whether a feature is baseline, linear, or exciting we can: J Sometimes guess J Or survey a small set of users (20-30) J We ask two questions J A functional question J How do you feel if a feature is present? J And a dysfunctional question J How do you feel if that feature is absent? 48
  49. © Mountain Goat Software, LLC F?4E:@?2=2?55JD7F?4E:@?2=7@C>D F?4E:@?2= form of question

    !7J@FC9@E6=C@@> :?4=F56D27C66 3@EE=6@7H2E6C9@H 5@J@F766= I expect it to be that way. !=:<6:EE92EH2J !2>?6FEC2= !42?=:G6H:E9:EE92EH2J !5:D=:<6:EE92EH2J X JD7F?4E:@?2= form of question !7J@FC9@E6=C@@> 5@6D?@E:?4=F562 7C663@EE=6@7 water, how do you 766= I expect it to be that way. !=:<6:EE92EH2J !2>?6FEC2= !42?=:G6H:E9:EE92EH2J !5:D=:<6:EE92EH2J X 49
  50. © Mountain Goat Software, LLC Categorizing an answer pair Q

    E E E L R I I I M R I I I M R I I I M R R R R Q Like Expect &6FEC2= Live with :D=:<6 Like Expect Neutral Live with Dislike Dysfunctional Question Functional Question M Mandatory L Linear E Exciter Q Questionable R Reverse I Indifferent 50
  51. © Mountain Goat Software, LLC 88C682E:?8C6DF=ED 3 11 31 1

    3 2 4 22 20 4 1 0 21 9 14 5 1 1 Apply formatting themes Automate report execution Export reports to PowerPoint Questionable Reverse Indifferent Mandatory Linear Exciter Theme 51
  52. © Mountain Goat Software, LLC /92EE@:?4=F56 JAll of the baseline

    features J H34N=8C8>=C74B4<DBC14?A4B4=C JSome amount of linear features JBut leaving room for at least a few exciters 52
  53. © Mountain Goat Software, LLC -A4@>:?8AF3=:44=2DD6D Date What Where "2?F2CJ

      6CE:Q65+4CF>%2DE6C H:E9#6?+49H236C 8:=6DE:>2E:?8(=2??:?8 'C=2?5@$ February  2?5    6CE:Q65+4CF>%2DE6C London 63CF2CJ  March 1, 2007 6CE:Q65+4CF>%2DE6C 8:=6DE:>2E:?8(=2??:?8 Denver, CO AC:=   2007 6CE:Q65+4CF>%2DE6C 8:=6DE:>2E:?8(=2??:?8 +2?E2=2C2 CA Register at www.mountaingoatsoftware.com 53
  54. © Mountain Goat Software, LLC Mike Cohn contact info mike@mountaingoatsoftware.com

    www.mountaingoatsoftware.com    @7Q46     >@3:=6 54