What is Software Worth ? Gio Wiederhold Stanford University and MITRE Corp. October 2004, revised Dec.2004 www-db.stanford.edu/people/gio.html Oct 2004 Gio: Worth 1 Current State • Software producers traditionally care about – Cost of writing high-quality code – Time to complete products – Function & capabilities • When the value is a concern – Business people – Economists – Lawyers – Promoters Oct 2004 life assess its value: inconsistently subjectively naively badly Gio: Worth 2 Why a Concern • Making decisions about creative tradeoffs – Elegance versus functionality – Rapid generation versus maintainability – Careful specification versus flexibility • Dealing with customers Dijkstra model: for self-satisfaction Engineering model: formal process driven Startup model: see if it sticks to the wall • Gain respect: know what you are doing Oct 2004 Gio: Worth 3 Why me • • • Much software is being exported as part of offshoring (offshore outsourcing) It is typically property – i.e., protected If it is not valued correctly – i.e., too low 1. 2. 3. 4. Oct 2004 Loss of income to the creators in the USA And loss of taxes to the US treasury Excessive profits kept external to the USA Increased motivation for external investment Gio: Worth 4 Intangibles • • Product of knowledge Cost of original >> cost of copies 1. 2. 3. 4. 5. 6. Oct 2004 Books Software Inventions Trademarks Knowhow Customer Loyalty Gio: Worth by authors programmers engineers advertisers managers long-term quality 5 Valuation of intangibles • Principle The sum of all future income discounted to today (NPV) • Example Value of a well-known company (SAP) – Largely intangible – like many modern enterprises 1. Bookvalue – sum of all tangible assets [10K] €6.3B 2. Market value = share price × no. of shares €31.5B 3. Difference: value of SAP’s Intangibles €25.2B – How much of it is software ? • Oct 2004 20% 100% 80% No numbers given, although it’s the majority of its property. We have just the stockholders’ guess. Gio: Worth 6 Software is slithery ! Continuously updated 1. Corrective maintenance bugfixing reduces for good SW 2. Adaptive maintenance Life time 100% 80% 60% externally mandated 3. Perfective maintenance satisfy customers' growing expectations 40% 20% Ratios differ in various settings Oct 2004 Gio: Worth 7 IP sources for • Corrective maintenance – Feedback through error reporting mechanisms • Inadequate protection • Taking care of missed cases • Complete inadequate tables and dimensions • Adaptive maintenance – Staff to monitor externally imposed changes • Compliance with new standards • Technological advances • Perfective maintenance – Feedback through sales & marketing staff • Minor features that cannot be charged for Oct 2004 Gio: Worth 8 Effect: SW Growth Rules: Sn+1 = 2 to 1.5 × Sn per year [HennessyP:90] Vn+1 ≤ 1.30% × Vn [Bernstein:03] Vn+1 = Vn + V1 [Roux:97] Deletion of prior code = 5% per year [W:04] at 1.5 year / version R and W Oct 2004 Gio: Worth R 9 Observations • Software cannot grow exponentially no Moore's Law here Because 1. Cost of maintaining software grows exponentially with size [Brooks:95] 2. Can't afford to hire staff at (exponential rate) 2 3. Cannot have large fraction of changes in a version 4. Cannot impose version changes on users < 1 / year 5. Deleting code is risky and of little benefit except in game / embedded code Oct 2004 Gio: Worth 10 Price remember IP =f(income) • Price stays ≈ fixed over time like hardware Moore's Law Because 1. 2. 3. 4. • Customers expect to pay same for same functionality Keep new competitors out Enterprise contracts are set at 15% of base price Shrink-wrapped versions can be skipped Effect The income per unit of code reduces by 1 / size Oct 2004 Gio: Worth 11 Growth diminishes IP at 1.5 year / version Oct 2004 Gio: Worth 12 Total income Total income = price × volume (year of life) • Hence must estimate volume, lifetime Best predictors are Previous comparables Erlang curve fitting (m=6 to 20, 12 is typical) and apply common sense limit = Penetration estimate total possible sales F × #customers above F= 50% monopolistic aberration P Oct 2004 Gio: Worth 13 Sales curves 18,000 ^ 50,000 w hen | Erlang m ~ infinite 16,000 Erlang m = 6 14,000 For 50 000 units over 9 years 12,000 10,000 8,000 6,000 4,000 Erlang m = 12 Oct 2004 Gio: Worth 15 14 13 12 11 10 8 7 6 5 4 3 2 1 0 0 9 | | end of time horizon | 9 years | 2,000 14 Software users Companies that 1. develop & sell software * • Basis of IP: income from sales 2. purchase & license software for internal use • Do not generate IP with software 3. develop software internally for their own use • Basis of IP: relative SW expense × all income (Pareto rule) 4. combinations Oct 2004 Gio: Worth 15 * Fraction of income for SW Income in a software company is used for • Cost of capital typical – Dividends and interest ≈ 10% • Routine operations -- not requiring IP – Distribution, administration, management ≈ 40% • IP Generating Expenses (IGEs) – Research and development, i.e., SW – Advertising and marketing ≈ 25% ≈ 25% These numbers are available in annual reports or SEC 10-Ks Oct 2004 Gio: Worth 16 Discounting to NPV Standard business procedure • Net present Value (NPV) of revenue 1 year later = R×(1 – discount %) Standard values are available for many businesses based on risk (β) of business, typical 15% Discounting strongly reduces effect of the far future NPV of $1.- in 9 years at 15% is only $0.28 Also means that bad long-term assumptions have less effect Oct 2004 Gio: Worth 17 Combining it all factor Version today y1 1.0 y2 y3 2.0 y4 3.0 500 y5 4.0 unit price $500 500 500 500 Rel.size 1.00 1.67 2.33 3.00 3.67 New grth 0.00 0.67 1.33 2.00 replaced 0.00 0.05 0.10 old left 1.00 0.95 Fraction 100% 57% y6 y7 5.0 500 y8 y9 6.0 7.0 500 500 500 500 4.33 5.00 5.67 6.33 7.00 2.67 3.33 4.00 4.67 5.33 6.00 0.15 0.20 0.25 0.30 0.35 0.40 0.45 0.90 0.85 0.80 0.75 0.70 0.65 0.60 0.55 39% 28% 22% 17% 14% 11% 9% 8% Annual # 0 1911 7569 11306 11395 8644 2646 1370 1241 503 Income K $0K 956 3785 5652 5698 4322 2646 1370 621 252 SW IP 25% 0 239 946 1413 1424 1081 661 343 155 63 Due old 0 136 365 400 311 187 93 39 14 5 Disct 15% 1.00 Contribute 0 Total $ 989 Oct 2004 0.87 118 0.76 0.66 276 0.57 263 177 0.50 93 0.43 40 0.38 15 0.33 5 0.28 1 K ≈ $ 1 million Gio: Worth 18 Result of Example • Selling 50 000 SW units at $500 ≈ $ 1M not $ 25M Once it’s in a spreadsheet, the effect of the many assumptions made can be checked. When assumptions later prove unwarranted then management can make corrections. To be wise, spend less than ≈ $500 000 to develop the software product. Oct 2004 Gio: Worth 19 Alternate business model Consider maintenance and its income long-term "Service model" • More assumptions – now include cost 1. Original cost $494 000 (used to estimate 2.) 2. Maintenance cost 20%/year of original cost 3. Maintenance fee 15%/year of original price 4. Lag = Δ (t cost , t income) = 1.5 years 5. Stop maintenance when cost > total income Oct 2004 Gio: Worth 20 Effect of service model SW cost $494K today Version y1 1.0 Maint.cost y2 2.0 y3 y4 3.0 y5 4.0 y6 y7 5.0 y8 6.0 y9 7.0 0 99 165 231 297 363 429 495 560 626 disc. for lag 0 122 203 285 366 447 529 610 691 772 Income - cost 0 834 3581 5369 5332 3875 2117 761 -70 -520 Aggreg.sold 0 860 4558 9755 14477 17352 18262 17806 16645 15233 Maint. Inc. 0 0 129 684 1463 2172 2603 2739 Sum 0 834 3710 6052 6795 6047 4720 3500 2601 1977 0 725 2806 3980 3885 3006 2040 1316 850 562 15% disc/year 19170 K ≈ $ 2 million Total $ 20% if designed for maintenance 2671 2497 after paying $1 780K (disc.) for maintenance Good time to quit if no maintenance income Generates income 10 more years Cost of actual maintenance = 3260/(494+3260) = 87% of total Oct 2004 Gio: Worth typical 21 Long Term Oct 2004 Gio: Worth 22 Service model « Analysis shows profitability in service model • To achieve such a beneficial model 1. Management must value maintenance 2. Marketing and sales must provide feedback 3. Education and training must recognize the value of maintenance and maintainability – Often ignored today 1. Academics don't teach it (3/850 pages [Pressman:01]) 2. Companies give maintenance tasks to novices Experienced programmers should maintain their work Oct 2004 Gio: Worth 23 Knowing what software is worth • Allows rational design decisions, as • Limiting development efforts • Programming investment for maintenance • Allows rational business decisions, as • Choice of business model • Where and when to invest • How to assign programming talent • Improve focus of education in software • Consider quality, not just quantity in assignments • Effectiveness of curriculum Oct 2004 Gio: Worth 24