Post on 13-Apr-2017
This stuff is cool, but…
HOW CAN I GET MY COMPANY TO DO IT?
Businessing the S*** out of Transformative Development!
Mark Heckler
Principal Technologist/Developer Advocate
Pivotal Software, Inc.
www.thehecklers.org
mark@thehecklers.org
@MkHeck
@MkHeck
@MkHeck
Disclaimers• I’m human
• Measurements require assumptions…
• …but those will be clearly stated and quantified
• Estimate benefits conservatively, costs liberally
• The numbers you see are EXAMPLES
• Adjust sensibly for your circumstances
@MkHeck
What’s on the agenda?
• Payback
• Net Present Value (NPV)
• Quantification
• Based upon (solid, well-reasoned, calculated) assumptions
• Several steps to get there, but don’t panic!
@MkHeck
Payback: Explanation
• Shorter payback period generally better
• Longer payback means more uncertainty, greater risk
• Prefer < 3 years payback period
• Payback < 1 year == essential project
@MkHeck
Payback: Drawbacks• No consideration of total value
• 3 year payback, no further value after year 5, lifetime value: $250,000
• 5 year payback, ongoing value, lifetime value: $1,000,000
• Which would you choose?
• No consideration of time value of money
• Good measure, but incomplete
@MkHeck
Net Present Value (NPV): Formula
Net Period Cash Flow
(1+R)T
= NPV∑where R is the rate of return/cost of capital
and T is the number of time periods
@MkHeck
Net Present Value (NPV): Example 1
$1,000,000
(1+0.05)5
= $783,526∑where R is the rate of return/cost of capital
and T is the number of time periods
@MkHeck
Net Present Value (NPV): Example 2
= $646,206$200,000
(1+0.04)2
$400,000
(1+0.03)3
$100,000
(1+0.05)1
++
$184,911 $366,057$95,238
@MkHeck
Inputs & Associated Challenges• Quantifying qualitative measures
• How would this initiative:
• affect your organization’s/group’s/team’s work?
• impact your tech stack?
• contribute to recruitment/retention?
• affect the business?
@MkHeck
Putting Numbers with It: Pros & Cons• Pros
• Critical analysis yields better understanding of inputs, impacts
• Can provide more objective and compelling justification for initiative
• Cons
• Can be very time-consuming
• No automatic conversion between qualitative & quantitative measures
@MkHeck
Putting Numbers with It: Caveats• Time is a constraint
• Assumptions form basis of conclusions
• Bad assumptions -> Inaccurate conclusions
• Good assumptions -> (In?)accurate conclusions
• Document assumptions meticulously
• Be open to discussion, refinement
@MkHeck
Notes about Microservice Architectures
• “Return on Investment (ROI) is driven by accelerated realization of benefits rather than overall business transformation.”
• Reduced maintenance costs?
• Increased business opportunities through new APIs?
• Selective scaling of only high-demand microservices reduces costs
• Investment includes upskilling/coaching/mentoring
@MkHeck
Expectations
• Small batch sizes, small teams: Microservices
• Bounded contexts
• API-based contracts for interactions
• More functionality delivered to market (or internal end-users) sooner
• Building the right product (tight dev loop == tight feedback loop)
@MkHeck
Expectations• Microservices (continued)
• Improved quality; small mods vs. major overhauls
• Improved end-user satisfaction
• Small, frequent releases expose & help resolve process issues “in the small”
• When releases are tiny, well-planned & -choreographed events, they can happen at will
@MkHeck
Assumptions: monoliths
• Average cadence of releases of key monolithic apps: 1x/year*
• 10 months of development before “code freeze”
• 1 month of integration testing, bug fixes
• 1 month of UAT (confirmations, course corrections, logging “new” requirements)
*optimistic in many cases
@MkHeck
Assumptions: microservices
• Average cadence of microservices releases: 7448x/DAY*
• If your company is 1/1000th (0.1%) as effective as Amazon, that’s still > 7 releases/day…over 2500 releases/year!
• 14 new microservices in first year
• Each of your Y1 microservices averages a release every other day
*Amazon: 1 every 11.6s in 2011 - YMMV!
@MkHeck
Assumptions: microservices
• How much more functionality can be delivered more quickly, more accurately?
• If you can approach zero with missed requirements, missed opportunities, missed expectations…how much is that worth?
• If users can have needed functionality MONTHS or YEARS sooner, what is that worth to your company?
@MkHeck
Quantification• Volatile functionality
• Sales drivers
• Product development/engineering
• Focus upon producing key abilities, define interfaces in monolith
• Average time to get interface APIs “live”: 6 months
• Average business size: $500m annual revenue
• Impact of high-demand projects implemented via microservices: $1m/microservice
@MkHeck
Quantification• Costs
• Upskilling required for relevant tech teams
• Ramp-up - offset by avoidance of contextualization issues
• Other things that may smooth/speed path omitted*
• Platform costs and interface development
• Foregone revenue from monolith implementation**
*would increase costs and resultant cash flows
**assumes some functionality would be implemented otherwise in monolith
($1m)
($2m)
($5m)
@MkHeck
Totals, Year 1
New revenues, year 1 $14m
Expenses
Upskilling ($1m)
Platform costs ($1m)
Interfaces ($1m)
Opportunity costs ($5m)
Y1 NET GAIN/LOSS FROM ADOPTION $6m
@MkHeck
6.86 monthsAnnual Cash Inflow (or Savings)14,000,000
Cost of Project8,000,000
Payback: Microservices
= Payback Period
APPROV
ED!
@MkHeck
Totals, Year 1
New revenues, year 1 $14m
Expenses
Upskilling ($1m)
Platform costs ($1m)
Interfaces ($1m)
Opportunity costs ($5m)
Y1 NET GAIN/LOSS FROM ADOPTION $6m
@MkHeck
Y2 Assumptions• Double number of microservices added in Y2 vs. Y1
• 14 new in Y1 + 28 new in Y2 = 42 new microservices @EOY2
• Estimate slightly reduced impact, may be overly pessimistic
• 28 * $750k = $21m $14m + $21m = $35m “new” revenue
• Assume linear ability to expand monolith, may be overly optimistic
• $10m worth of functionality could be implemented in monolith
@MkHeck
Totals, Year 2
New revenues, year 2 $35m
Expenses
Upskilling ($1m)
Platform costs ($2m)
Interfaces ($1m)
Opportunity costs ($10m)
Y2 NET GAIN/LOSS FROM ADOPTION $21m
@MkHeck
Y3 Assumptions• Double number of microservices added in Y3 vs. Y2
• 42 @EOY2 + 56 new in Y3 = 98 new microservices @EOY3
• Estimate further reduced impact, may be overly pessimistic
• 56 * $500k = $28m $35m + $28m = $63m “new” revenue
• Assume linear ability to expand monolith, may be overly optimistic
• $15m worth of functionality could be implemented in monolith
@MkHeck
Totals, Year 3
New revenues, year 3 $63m
Costs
Upskilling ($1m)
Platform costs ($6m)
Interfaces ($1m)
Opportunity costs ($15m)
Y3 NET GAIN/LOSS FROM ADOPTION $40m
@MkHeck
NPV: Microservices
= $61,086,277$21m
(1+0.05)2
$40m
(1+0.05)3
$6m
(1+0.05)1
++
$19,954,649 $35,417,342$5,714,286
APPROV
ED!
@MkHeck
Factors Revisited• Quantifying qualitative measures
• How would this initiative:
• affect your organization’s/group’s/team’s work?
• impact your tech stack?
• contribute to recruitment/retention?
• affect the business?
@MkHeck
In summary…
• Critical analysis yields better understanding of inputs, impacts
• Can provide more objective and compelling justification for initiative
• Be honest
• Document & communicate assumptions clearly
• Be open to course corrections
@MkHeck
Thank You for Participating!
Keep the conversation going:
• @MkHeck
• mark@thehecklers.org