Companies face the choice of maintaining their programming tools in-house or outsourcing that work. One of the most relevant questions to help make this decision is: which option costs less?
Overall costs are hard to estimate, as they add up across multiple project-specific and organisation-specific sources. However, getting estimates in place is typically worth the effort because: a) it brings visibility to the hidden costs of toolchain maintenance; b) it enables head to head cost comparisons with alternative approaches (like outsourcing).
To help you calculate the cost of the internal support and maintenance of your programming tools, I’ve collected a checklist of the most important factors you should take into account.
The three categories of costs are: direct costs, indirect costs and opportunity costs. Direct costs are calculated in hours spent by in-house staff, whereas indirect costs refer to hours that are lost due to different problems and insufficiencies during ongoing projects. Opportunity costs refer to missed hours that are spent on basic maintenance work instead of value-adding work.
Checklist for calculating the cost of programming tool maintenance
Direct costs (hours spent by in-house staff):
in tool installation
in continuous maintenance (keeping track on the updates, update installation, system fine-tuning, capacity planning, etc.)
in providing tool related user support and helpdesk service
in tool integration and maintenance of the existing integrations
in building and keeping up the support/maintenance competence
in developing the tool set (planning, design, installation of new functionalities)
in maintaining the underlying platform
in building and keeping up the platform maintenance competence
in incident management and recovery
in tool licence management and optimization
Indirect costs (hours lost due to):
problems in tool availability
problems in tool-to-tool integrations
insufficient tool update procedures (e.g. lost efficiency due to use of old tool version)
insufficient or slow user support
Hours lost in more value adding work due to time spent in basic tool maintenance/support (e.g. focus on tool maintenance instead of setting focus on boosting more efficient tool use)