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

Opportunity cost:

  • 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)


That’s it for now! Learn more about whether you should outsource your DevOps tools/platform maintenance in the blog post: Who should take care of your assembly line >

Eficode ROOT is a fully maintained, DevOps platform as a service.