We go to conferences & get excited about things that could revolutionize our development & change our organization! Then, we go home...and hit the wall. If you've ever asked yourself, "This stuff is cool, but HOW CAN I GET MY COMPANY TO DO IT??!", this is the session for you.
Learn from an experienced software developer (who also happens to have an MBA) how to make your case to leadership.
Get Your Company to Adopt Microservices with Proven ROI Calculations
1. 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
2. @MkHeck
Who am I?
• Author
• Speaker
• DEVELOPER
• Seeker of a better way
• MBA
5. @MkHeck
Disclaimers
• I’m human
• Measurements require assumptions…
• …but those will be clearly stated and quantified
• Estimate benefits conservatively, costs liberally
• Feel free to adjust sensibly for your circumstances
• USE YOUR POWER RESPONSIBLY
7. @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 worry!
10. @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
11. @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
12. @MkHeck
Net Present Value (NPV): Formula
Net Period Cash Flow
(1+R)T
= NPV∑
where R is the Rate of Return
and T is the number of time periods
13. @MkHeck
Net Present Value (NPV): Example 1
$1,000,000
(1+0.05)5
= $783,526∑
where R is the Rate of Return
and T is the number of time periods
14. @MkHeck
Net Present Value (NPV): Example 2
= $622,179
$200,000
(1+0.05)2
$400,000
(1+0.05)3
$100,000
(1+0.05)1
++
$181,406 $345,535$95,238
15. @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?
16. @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
17. @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
20. @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
21. @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)
22. @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
24. @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
26. @MkHeck
Assumptions: microservices
• Average cadence of microservices releases: 7200x/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!
27. @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?
28. @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
29. @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)
30. @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
31. @MkHeck
6.86 months
Annual Cash Inflow (or Savings)14,000,000
Cost of Project8,000,000
Payback: Microservices
= Payback Period
APPROVED!
33. @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
34. @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
35. @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
36. @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
37. @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
39. @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?