Maintenance: the cost for software vendors and what it means to your organization


Published on

Published in: Business, Technology
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Maintenance: the cost for software vendors and what it means to your organization

  1. 1. Software maintenance: the cost for vendors and what it means to you… Nicolas C. Hans dotCast Consulting Services September 2008
  2. 2. Maintenance, the last line on the invoice  Software maintenance has bad press with both buyers and vendors:  “el impuesto revolucionario”  An annual cost of 12 to 20% of the list price for large systems  As part of support costs, software maintenance fees have a significant impact on the Total Cost of Ownership/Operation (TCO)
  3. 3. The cost of maintenance for software vendors  “The modification of a software product after delivery to correct Requirements Analysis 3% faults […] improve performance […] or to adapt the product to a Specification 3% modified environment”  The total cost of system Design 5% maintenance for a vendor is estimated to be at least 60% of the total product life cycle costs Coding 7% Testing 3% Estimated cost of software Operations & maintenance 67% engineering and design Source: ISO/IEC 14764 and “Principles of software engineering and design”, Zelkowitz, M.V. Shaw, A.C., and Ganon, J.D., 1979.
  4. 4. Maintenance, the hidden part of the iceberg  Software is a product whereas maintenance is a service Requirements Analysis, specifications, design, coding  Two recent trends and testing in the software industry try 1/3 to change the paradigm:  Open Source Initiative(GNU GPL) Operations & maintenance  Software As A Service (SaaS) 2/3
  5. 5. There’s more to maintenance than bug fixes…  Corrective maintenance  Bug fixing (“residual errors”)  Trigger: a problem report from an end-user  Adaptive maintenance  Adapting software to changes in the hardware or O/S platform  Trigger: none. Monitoring the software environment  Perfective maintenance  Enhancing the system features and functions  Trigger: a modification request from an end-user  Preventive maintenance  Increasing a system’s maintainability by updating documentation, commenting code, improving the modular structure of the system Source: ISO/IEC 14764
  6. 6. Users drive the maintenance effort… Preventive, 5% Corrective, 20% Perfective, Adaptive, 25% 50% Source: “Software maintenance management: a study of the maintenace of computer application software in 487 data processing organizations”, Lientz, B.P. and Swanson, E.B. 1980
  7. 7. Maintenance issues faced by software vendors  Vendors face a number of issues when maintaining software systems:  Unstructured code  Poor development practices  Insufficient knowledge of the maintenance team  Original developers rarely ensure long-term maintenance  Lack of documentation  Understanding of user environment is limited  Software maintenance has a bad image  It’s the last wagon of the software development cycle
  8. 8. Specifics of software for broadcast environments  Bespoke developments  Number of specific integrations rapidly give way to custom solutions  Mission critical environments  From black screens to dead air  High profile users  Floating standards  MOS, MXF…  Regulatory issues  Amortization of broadcast specific devices is often different from IT ones requiring for longer support of legacy devices  Requirements of as-run logs, unions,…
  9. 9. Factors that directly impact maintenance costs 1. Size  The larger a system, the larger the effort to maintain it  Maintenance=(complexity) 2. Age  The older the system, the more legacy of changes needs to be taken into account, the less likely the original development team available 3. Number of inputs/outputs  Integration with third party systems 4. Documentation (or lack of)  …
  10. 10. What to look for when buying maintenance contracts…
  11. 11. Practice due diligence of maintenance services  Check the vendor’s infrastructure  Do they have a dedicated support and maintenance team?  How can users submit problem reports and modification requests?  Do they have a central repository and queuing system?  Do they have a user group?  Do they provide 24/7 hotline services?  …  Review the Service Level Agreement (SLA)  Updates and upgrades  Response times for bugs and change requests  Penalties for delays and downtime  …
  12. 12. Negotiate your maintenance fee  Remember that for some vendors the logic is to “give away the razor and charge for the blades”  Negotiate purchase price first…  then the maintenance price,  then the impact of paying upfront 3 to 5 years maintenance fees (if your organization can afford it)  Negotiate maintenance cost on the basis of the purchase price instead of the list price  Setup a penalty system if SLAs are not met (service credits)  Beware of annual increases in maintenance cost…
  13. 13. Optimize the service that you get  Train your support team: your own support staff will be a lot quicker to solve issues than the vendor’s hotline  When implementing a system for the first time, hire good consultants that know the product well and learn from them  Minimize the amount of customizations required  Upgrade to the next release as soon as possible  Have a stand-alone test system to validate updates and upgrades  Document your system  Invest in the relationship with the vendor’s support team  Attend training sessions organized by your supplier  Make sure that your supplier is well informed about your plans Source:
  14. 14. A few worthwhile links: Software Maintenance Maturity Model (SMmm) Nicolas C. Hans +33 687 549 166