determining business value in agile development

24
AW2 Session 6/8/16 11:30 AM Determining Business Value in Agile Development Presented by: Ken Pugh Net Objectives Brought to you by: 350 Corporate Way, Suite 400, Orange Park, FL 32073 888---268---8770 ·· 904---278---0524 - [email protected] - http://www.techwell.com/

Upload: josiah-renaudin

Post on 13-Apr-2017

49 views

Category:

Software


1 download

TRANSCRIPT

Page 1: Determining Business Value in Agile Development

AW2Session6/8/1611:30AM

DeterminingBusinessValueinAgileDevelopment

Presentedby:

KenPugh

NetObjectives

Broughttoyouby:

350CorporateWay,Suite400,OrangePark,FL32073888---268---8770··[email protected]://www.techwell.com/

Page 2: Determining Business Value in Agile Development

KenPughNetObjectivesAfellowconsultantwithNetObjectives,KenPughhelpscompaniestransformintolean-agileorganizationsthroughtrainingandcoaching.Hisspecialinterestsareincommunication(particularlyeffectivelycommunicatingrequirements),deliveringbusinessvalue,andusingleanprinciplestodeliverhighqualityquickly.Kentrains,mentors,andtestifiesontechnologytopicsfromobject-orienteddesigntoLinux/Unix.Hehaswrittenseveralprogrammingbooks,includingthe2006JoltAwardwinnerPrefactoringandhislatestLean-AgileAcceptanceTestDrivenDevelopment:BetterSoftwareThroughCollaboration.KenhashelpedclientsfromLondontoBostontoSydneytoBeijingtoHyderabad.Heenjoyssnowboarding,windsurfing,biking,andhikingtheAppalachianTrail.ReachKenatken.pugh@netobjectives.com

Page 3: Determining Business Value in Agile Development

Determining Business Value 3/30/2016

1

[email protected]

www.netobjectives.com

1 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

BFBMBVSP

Determining Business

Value In an Agile

Environment

Kenneth Pugh

Fellow Consultant

Net Objectives

March 2016

2 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

Ken Pugh

ken.pugh

@netobjectives.com

Photo

Size:

Height: 2.25

Position:

from top left corner

Horizontal 0.75

Vertical 1.

Picture Style: Simple Black

Frame

No code goes in till the test goes on.

A journey of two thousand miles begins with a single step.

� Fellow Consultant

� OOA&D, Design Patterns, Lean, Scrum, Kanban,

Test-Driven Development

� Over 2/5 century of software development

experience

� Author of seven books, including:

– Prefactoring: Extreme Abstraction, Extreme

Separation, Extreme Readability (2006 Jolt Award)

– Interface Oriented Design

– Lean Agile Acceptance Test-Driven Development:

Better Software Through Collaboration

Page 4: Determining Business Value in Agile Development

Determining Business Value 3/30/2016

2

3 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

Outline

� Agility focuses on rapidly delivering business value

– What is it?

– How do we estimate it?

– What do we do with it?

3

4 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

The Product (Project) Team

� The Product (Project) Team consists of:

– The Customer Unit

� Provides requirements

� Provides business value estimates

– The Developer Unit

� Provides implementation estimates

� Implements requirements

– The Quality Assurance Unit

� Validates requirements are the right ones

� Verifies manifestation implements requirements

Page 5: Determining Business Value in Agile Development

Determining Business Value 3/30/2016

3

5 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

Business Value – What Is It? (1)

� "I can't define it, but I know it when I see it“

5

6 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

Business Value – What Is It? (2)

� Business Value can be:

– Increased revenue (sales, royalties, fees) ($$)

– Decreased expenses ($$)� Less resources

� More efficient use of resources

– Customer satisfaction ($$ ??)� Promoters / Satisfiers/ Detractors

– Staying in business ($$ ??)

– Staying out of jail ($$ ??)

– Avoiding risk ($$ ??)

6

Page 6: Determining Business Value in Agile Development

Determining Business Value 3/30/2016

4

7 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

Requirement Prioritization

� Every requirement has a business value– Or else why is it required?

� Need to prioritize requirements – If multiple product owners, need agreement on priorities

– Priorities should be partially based on business value of requirements

� Example priorities– Must have

– Should have

– Could have

– Might have

– “In your dreams”

7

8 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

Business Value Measurement

� Customer should estimate business value for

requirement stories

– Could use $$

� Often difficult to do or compute

� Question: Can it be measured?

� Business value is unit-less

– Allows comparison between non-$$ and $$

� As requirement is "done", business value achieved

8

Page 7: Determining Business Value in Agile Development

Determining Business Value 3/30/2016

5

9 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

Business Value Chart

� Shows increase in business value

� What does this tell us?

9

BV

Iteration

10 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

Business Value Chart

� Business value not delivered linearly

� 50% of effort usually delivers more than 50% of BV

– 40% / 60%

– 20% / 80%

� Need to estimate how to get BV quicker

� Often for new team / project

– Velocity is initially slower (stories / iteration)

– Or some overall issues are dealt with

– Therefore BV delivery is slow

Page 8: Determining Business Value in Agile Development

Determining Business Value 3/30/2016

6

11 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

Project Example

� Sam’s Lawn Mower Repair and CD Rental Store

� Wants to replace existing manual system

� Issues

– Current system requires too much time to check-out CD

– Hard to get a report on what’s in inventory

– Can’t notify customers that CD is almost late and they’ll be

charged an enormous late fee.

� What’s it worth to you (Sam that is)?

– Determine an overall $ cost savings

12 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

Business Value Example

� Example - Sam’s Lawn Mower Repair and CD Rental Shop – Keep track of where each CD is – in store or on rental (and

with whom) (100)

– Report when CDs are overdue (40)

– Have a catalog so the customer can see what CDs are available and what songs are on what CDs (13)

– A charge system to bill customers monthly, rather than by each rental (20)

– Be able to offer discounts to frequent renters (5)

– When multiple stores, the system should show which stores have a particular CD (3)

12

Page 9: Determining Business Value in Agile Development

Determining Business Value 3/30/2016

7

13 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

Business Value Points (1)

� Could set highest priority story at a value (e.g.

100) and estimate relative points

� Or could use triangulation

– Compare stories to multiple other stories

– Group like stories together

� Values (unit-less)

– 0, ½, 1, 2, 3, 5, 8, 13, 20, 40, 100, etc

– 0 is little business value

13

14 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

Game Play

� Place Story Cards in pile– Place top card on playing surface

� Next player places top card relative to first card– (left easier, right harder, below equal)

� In succession, each player can either:– Play top card from pile

– Moving a played card

– Pass

� Repeat above until:– No more cards remain in the pile, and

– No player wishes to move a card

� Then assign points to each column – (1,2,3,5,8,13, 20, 40, 60, 100)

Page 10: Determining Business Value in Agile Development

Determining Business Value 3/30/2016

8

15 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

Starting Point Ending Point

As a <user> I want

<capability> so

that I get <value>

As a <user> I want

<capability> so

that I get <value>

As a <user> I want

<capability> so

that I get <value>

As a <user> I want

<capability> so

that I get <value>

As a <user> I want

<capability> so

that I get <value>

As a <user> I want

<capability> so

that I get <value>

As a <user> I want

<capability> so

that I get <value>

As a <user> I want

<capability> so

that I get <value>

As a <user> I want

<capability> so

that I get <value>

As a <user> I want

<capability> so

that I get <value>

As a <user> I want

<capability> so

that I get <value>

As a <user> I want

<capability> so

that I get <value>

As a <user> I want

<capability> so

that I get <value>

As a <user> I want

<capability> so

that I get <value>

As a <user> I want

<capability> so

that I get <value>

As a <user> I want

<capability> so

that I get <value>

As a <user> I want

<capability> so

that I get <value>

As a <user> I want

<capability> so

that I get <value>

1 2 3 5 8

16 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

Business Value Workshop

� Sample

– Mow lawn

– Take out trash

– Repair leaky faucet

– Clean basement

– Tune up auto

– Set clock on VCR

– Watch basketball finals

16

Page 11: Determining Business Value in Agile Development

Determining Business Value 3/30/2016

9

17 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

Business Value and Story Points

� Business value is one-half of equation

� Need cost estimate as well

� Time/cost estimates are frequently WAG's

– Story points are relative measure of time/cost

17

18 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

Time Estimating Example

� Example - Sam’s Lawn Mower Repair and CD Rental Shop – Keep track of where each CD is – in store or on rental (and

with whom) (5 – comparison)

– Report when CDs are overdue (2 - comparison)

– Have a catalog so the customer can see what CDs are available and what songs are on what CDs (3)

– A charge system to bill customers monthly, rather than by each rental (20)

– Be able to offer discounts to frequent renters (13)

– When multiple stores, the system should show which stores have a particular CD (5)

18

Page 12: Determining Business Value in Agile Development

Determining Business Value 3/30/2016

10

19 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

Story Points (2)

� Estimation Poker

– Each estimator has deck of cards

– Decide on one story that’s average – 5 or 8 - for comparison

– Read story

� Each person pulls a card

� Turn all cards over

� Discuss differences

� Redo until agreement

19

20 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

Story Point Workshop

� Instead of cards, we'll use hand signals

� Sample

– Mow lawn

– Take out trash

– Repair leaky faucet

– Clean basement

– Tune up auto

– Set clock on VCR

– Watch basketball finals

20

Page 13: Determining Business Value in Agile Development

Determining Business Value 3/30/2016

11

21 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

Bang for the Buck

� Once business value and time estimated– Determine “bang for the buck”

� Bang = Business value points / Story points

– Represents roughly “return on investment”

– Don’t get into differences of 1.3 versus 1.4, but

rather 1 and 2 or 3

� May want to prioritize high Bang stories

21

22 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

Bang for the Buck Example

� Example - Sam’s Lawn Mower Repair and CD Rental Shop – Keep track of where each CD is – in store or on rental (and

with whom) 100/5 = 20

– Report when CDs are overdue 40/2 = 20

– Have a catalog so the customer can see what CDs are available and what songs are on what CDs 13/3 = 4

– A charge system to bill customers monthly, rather than by each rental 20/20 = 1

– Be able to offer discounts to frequent renters 5/13 = .5

– When multiple stores, the system should show which stores have a particular CD 3/5 = 1

22

Page 14: Determining Business Value in Agile Development

Determining Business Value 3/30/2016

12

23 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

Bang for Buck Workshop

� Compute "Bang for the Buck"

� Sample

– Mow lawn

– Take out trash

– Repair leaky faucet

– Clean basement

– Tune up auto

– Set clock on VCR

– Watch basketball finals

23

24 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

Business Value Chart (Revisited)

� Slope is roughly "Bang for the Buck“

– (If SP per iteration constant)

24

BV

Iteration

Page 15: Determining Business Value in Agile Development

Determining Business Value 3/30/2016

13

25 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

Bang for the Buck

� When Bang for Buck decreases

– Consider project termination

– Look for other projects with bigger BfB

25

26 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

Weighted Shortest Job First (1)

� WSJF uses Cost of Delay (CoD) which combines

– Business value

– Time Criticality

� Does value decay over time?

� Fixed deadline?

� Will customer wait for us?

– Risk reduction / opportunity enablement

� What else does this do for us?

� Reduce risk?

� Open up opportunities?

Page 16: Determining Business Value in Agile Development

Determining Business Value 3/30/2016

14

27 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

Weighted Shortest Job First (2)

� Estimate (on 1 to 20 scale)

– Business value

– Time Criticality

– Risk reduction / opportunity enablement

� Then combine into CoD

– At least two ways to do this:

– CoD = BV + TC + RR_OE

– CoD = BV + TC*TCWeight + RR_OE * RR_OEWeight

� WSJF = CoD / SP

28 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

WSJF

� Example - Sam’s Lawn Mower Repair and CD Rental Shop

28

Item BV CoD RR_OE Unweighted CoD

Keep track of

where each CD is

100 100 20 220

CDs are overdue 40 1 1 42

catalog 13 8 1 21

Charge system 20 5 13 38

Discounts 5 1 5 11

Multiple stores 3 1 13 17

Page 17: Determining Business Value in Agile Development

Determining Business Value 3/30/2016

15

29 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

CoD Exercise

Business Value Time Criticality Risk reduction /

opportunity

enhancement

Mow lawn

Take out trash

Repair leaky faucet

Clean basement

Tune up auto

Set clock on VCR

Watch basketball

finals

30 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

CoD Considerations

Time Criticality Risk reduction / opportunity

enhancment

Mow lawn Harder to do when higher Neighbors complaining

Win best yard in neighborhood

Take out trash Smell increases Rats

Repair leaky faucet Cost of additional water Possible water damage

Prevent mold growth

Prevent losing job from loss of sleep

Clean basement Loss of pizza due to

cockroaches

Losing significant other after seeing

cockroaches

Tune up auto Loss of resale value Possible car not starting

Possible engine repairs

Set clock on VCR None Missed taping of shows

Annoyance of blinking

Watch basketball

finals

Won’t be real time if

missed

Watching after knowing score

Page 18: Determining Business Value in Agile Development

Determining Business Value 3/30/2016

16

31 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

Assumptions

� Benefits of estimating CoD (or just BV)

– Make explicit implicit assumptions about value

32 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

Smaller Picture

� Example had “big level stories”

� Big level stories turned into stories for scheduling

� BV allocable among stories – Can use planning poker, card movement, or just

agreement

� Example big level story: – Keep track of where each CD is – in store or on rental

(and with whom) BV 100

32

Page 19: Determining Business Value in Agile Development

Determining Business Value 3/30/2016

17

33 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

Smaller Picture

� Stories with “Allocated BV”

– As the Counter Clerk, I want to check-out a CD for a customer� BV = 40

– As the Counter Clerk, I want to check-in a CD� BV = 40

– As the Counter Clerk, I want to note that a CD is damaged on check-in� BV = 5

– As the Counter Clerk, I want to note that the customer reported the CD as lost or stolen � BV = 5

33

34 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

“Right-Sized” Stories

� If user story effort (Story Points) exceeds an iteration (or other limit)

– Break story into smaller stories

– Every story should have BV (minimum of 1)

� Example Story – As the Counter Clerk, I want to check-out a CD for a customer

� BV = 40

� Smaller Stories:– As the Counter Clerk, I want to check-out a CD for a standard rental

for a customer � BV = 20

– As the Counter Clerk , I want to check-out a CD for an extended rental for a customer � BV = 20

Page 20: Determining Business Value in Agile Development

Determining Business Value 3/30/2016

18

35 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

“Right-Sized” Stories

� If story not breakable into stories with BV– Break story into developer stories

– Developer stories have no BV � Should have developer-supplied acceptance tests

� Example Story – As the Counter Clerk, I want to check-out a CD for a customer

� BV = 40, SP = 8

� Smaller Stories:– As the Developer, I need to create a database to support check-out

CD for a customer � SP = 2

– As the Developer , I want to create a user-friendly UI to support check-out CD for a customer� SP = 2

– Etc. � Achieve BV when all developer stories done

36 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

BV to $$

� If need $$

– Take total estimated $$ for a project

– BV $ = (Total BV) / (Total $$)

– Using past history, determine estimated SP $

� (Total $$ / Total SP for a project)

� ROI is BV $ / SP $

Page 21: Determining Business Value in Agile Development

Determining Business Value 3/30/2016

19

37 30 March 2016

Bigger Picture

38 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

Bigger Picture

� Can use"Bang for the Buck" on larger scale – Determine "Business Value" for project on large scale

– Determine "Story Points" for project on large scale

– Rank projects (or individual features) on "Bang for the Buck“

� Issues– People who have bigger picture view / appreciation

– Need to rank non-homogeneous projects

– Need to adjust effort estimates by different teams� Use past history, if available

� Measures– May use WP (work points) for non-software work

– Need to determine a WP to SP ratio to adjust BfB

38

Page 22: Determining Business Value in Agile Development

Determining Business Value 3/30/2016

20

39 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

Portfolio Project Example

39

CheckInOut

BV =

SP =

BB =

Website Redo

BV =

SP =

BB =

HR Automation

BV =

SP =

BB =

New Store Layout

BV =

WP =

BB =

40 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

Portfolio Feature Example

40

CheckInOut Website Redo HR

Automation

New Store Layout

Keep track of CDs

BV 100; SP 5; BB 5

Menus

BV 100; SP 3; BB 33

Paychecks

BV 5; SP 2; BB 3

Checkout area

BV 20; WP 5; BB 4

Overdue report

BV 40; SP 2; BB 20

Sign up

BV 20; SP 13; BB 2

Vacation plans

BV 1; SP 3; BB .5

New CD shelves

BV 13; WP 20; BB .5

Catalog

BV 13; SP 3; BB 4

Charge system

BV 20; SP 20; BB 1

Discounts

BV 5; SP 13; BB .5

Other Stores

BV 3 SP 5; BB 1

What might be the sequence?

Page 23: Determining Business Value in Agile Development

Determining Business Value 3/30/2016

21

41 30 March 2016

Not an Ending,

But a Beginning

42 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

Summary

� We've looked at business value

– What is it?

� Measure of worth to the business

– How do we measure it?

� Customer unit estimate sit

– What do we do with it?

� Determine bang for buck

� Determine requirement priorities

� Show business value growth

� Prioritize portfolios

42

Page 24: Determining Business Value in Agile Development

Determining Business Value 3/30/2016

22

43 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

A Last Exercise

� If there’s time

– Let’s try it for real

[email protected]

www.netobjectives.com

44 Copyright © 2007 Net Objectives. All Rights Reserved. 30 March 2016

Start Becoming

Business Valuators

Thank you

Please fill out Evaluations