Maintenance: the cost for software vendors and what it means to your organization
1. Software maintenance: the cost for
vendors and what it means to you…
Nicolas C. Hans
dotCast Consulting Services
September 2008
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. 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. 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. 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. 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. 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. 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. 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. What to look for when buying
maintenance contracts…
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. 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. 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: http://www.supportandmaintenance.org/support/self-service/230-gain-more-from-your-software-supplier.html
14. A few worthwhile links:
www.supportandmaintenance.org
Software Maintenance Maturity Model (SMmm)
Nicolas C. Hans
nhans@dotcast.tv
+33 687 549 166