- Internal maintenance often comes in quick bursts with urgency attached. The tendency is to make the changes and move them to production as quickly as possible, typically bypassing all good control, often leading to additional problems.
- Patches, hotfixes, and updates come at the maintenance team from various sources, including internal development teams and third party vendors. In many cases, organizations trust the source and implement the change without vetting in their own environment.
- Experienced and senior resources prefer to work on new projects. This leaves less experienced staff to work on maintenance tasks, and additional time is spent on system changes or updates.
Our Advice
Critical Insight
- When development groups create patches, hotfixes, or updates, they generally will have a complete list of the included changes and fixes. Regardless of whether the package of changes comes from an internal source or a vendor, the maintenance team requires this list to ascertain how the included changes will affect a given system.
- When the maintenance team is tasked with implementing change, they must understand that change may come under a number of different names or packaged types. Patches should never contain new features, but updates can drastically affect the current functionality.
- Organizations agree that application maintenance is a critical business function. The life of the business often depends on systems that function effectively, but too often maintenance tasks take a backseat and don’t get the attention they require. Good process and control is critical to ensure that systems remain functional, no matter from where the changes came.
Impact and Result
- Understand application maintenance best practices and implement a solid process to protect against undesired system downtime, potential revenue loss, and productivity woes.
- For best results, allocate experienced and knowledgeable IT and Development staff to perform app maintenance tasks.
- Never blindly accept updates, upgrades, patches, and fixes without first understanding their impact on the business and thorough QA testing.
- Define support hours, maintenance priority levels, response times, and escalation paths to make the move from a reactive maintenance routine to a preventative one.