Maintenance Glossary

Browse 70 maintenance terms defined in plain English, from the cultural dictionary of computing.

70 Maintenance Terms

Backport
Applying a fix or feature from a newer version of software to an older, still-supported version. Essential for security patches on LTS releases — users...
Bit Rot
The gradual degradation of software over time even without code changes, caused by evolving dependencies, changing environments, and shifting assumptions. The...
Bit Rot Slang
A slang term for software or systems degrading over time because dependencies change, assumptions drift, and nobody actively maintains them. In engineering...
Brownfield
Brownfield in software development refers to a project that involves working with existing, legacy codebases and infrastructure rather than building from...
Bug Report
A report describing a software defect, usually including observed behavior, expected behavior, environment details, reproduction steps, and supporting evidence...
Cleanup
The work of releasing resources, removing temporary state, deleting no-longer-needed data, or reversing setup after an operation completes. Cleanup logic is...
Codebase Health
The overall condition of a codebase as reflected in maintainability, tests, documentation, issue load, dependency state, and ease of contribution. In...
Code Burden
The maintenance weight imposed by code that is costly to understand, test, migrate, or keep alive. In engineering slang, code burden is what accumulates when...
Code Cleanup
Work that improves readability, structure, or maintainability of code without intentionally changing its external behavior. Code cleanup often includes...
Code Debt
A cultural or conversational variant of technical debt that emphasizes accumulated shortcuts and deferred cleanup in code. The phrase is often used when teams...
Code Debt Collector
A person or effort focused on forcing long-ignored technical debt to be paid down. In engineering slang, the code debt collector is often the one making...
Code Drift
The gradual divergence of code from intended design, docs, neighboring services, or its own earlier assumptions. In engineering slang, code drift is what...
Code Evolution
The way a codebase changes over time as features, fixes, refactors, and workarounds accumulate. In engineering culture, understanding code evolution helps...
Code Garden
A codebase thought of as something that needs regular tending, pruning, and healthy growth rather than only heroic rescue work. In engineering slang, code...
Code Gardening
The ongoing, low-drama work of tending a codebase through small cleanups, dependency updates, test fixes, documentation, and minor refactors so it stays...
Code Hygiene
The routine habits that keep a codebase clean, understandable, and safe to modify, such as formatting, deleting dead code, naming clearly, and keeping tests...
Code Janitor
A self-deprecating or appreciative label for someone who spends significant time cleaning up code, deleting dead paths, fixing style drift, updating docs, and...
Code Legacy
The inheritance a team receives from earlier code decisions, whether in the form of stable foundations, technical debt, or institutional memory encoded in...
Code Maintenance
The ongoing work of updating, cleaning, fixing, and adapting code after initial release. In engineering culture code maintenance is often undervalued compared...
Code Refactoring Culture
A team's shared attitude toward improving code structure without changing external behavior. Healthy code refactoring culture means cleanup is treated as...
Code Rot
The gradual decline of a codebase’s usefulness or maintainability as dependencies change, assumptions drift, documentation ages, and no one actively tends the...
Code Surgery
A delicate, targeted code change made deep inside a fragile system where the goal is to fix one thing without disturbing everything around it. Teams use it...
Code Tax
The recurring extra effort imposed by a codebase, tool, or architecture before real feature work can even start. It often shows up as boilerplate, slow builds,...
Code Triaging
The process of sorting, classifying, and prioritizing incoming code-related work such as bugs, pull requests, failing tests, or refactor requests so...
Cyber Hygiene
The routine security practices that reduce avoidable risk, such as patching, MFA, asset inventory, backup discipline, and least privilege. Good cyber hygiene...
Data Janitor
A person or process that spends most of its time cleaning, normalizing, deduplicating, or repairing messy data before anyone can use it. The term highlights...
Deprecated
Marked as outdated and discouraged for new use, even if it still works for backward compatibility. In practice it often means 'this will become your problem...
Downstream Fork
A derived project or package maintained separately from an upstream source, usually carrying its own patches, packaging choices, or release cadence. Downstream...
Fix It Friday
A recurring practice or informal ritual of reserving Friday time for cleanup, bug fixes, tooling improvements, or long-postponed maintenance. In tech culture...
Gardening (Code)
A metaphor for the steady ongoing care a codebase needs, such as pruning dead code, improving naming, adjusting boundaries, and keeping things healthy over...
Infrastructure Week
A dedicated period set aside for reliability, migrations, cleanup, and internal engineering improvements instead of product features.
Issue Tracker
A system for recording and managing bugs, feature requests, tasks, and support problems over time. For many open source projects, the issue tracker is the...
Issue Triage
The process of reviewing incoming issues to decide whether they are bugs, support questions, feature requests, duplicates, or invalid reports, and to...
Keep the Lights On
To do the routine reliability, support, and maintenance work required to keep an existing system or business running. It usually contrasts with new feature or...
Lame Duck Release
A release that is technically still supported or publicly available but already overshadowed by its replacement and receiving minimal strategic attention....
Legacy Code
Legacy Code refers to existing source code that is outdated, poorly understood, or difficult to modify, typically inherited from previous developers or earlier...
Legacy Codebase
An existing codebase that has been around long enough to accumulate business-critical behavior, outdated assumptions, undocumented edge cases, and maintenance...
Legacy System
An older software system still in production use, often built on outdated technology, poorly documented, and difficult to modify — but too critical or costly...
Open Source Maintainer
A person responsible for reviewing contributions, making release decisions, handling issues, and guiding the direction of an open source project. Maintainers...
Open Source Sustainability
The challenge of keeping open source projects viable over the long term through funding, governance, contributor health, maintenance capacity, and realistic...
Package Update
An update to a package version, metadata, build recipe, or distribution artifact. In ecosystem maintenance culture, package updates are routine but can still...
Package Upgrade
The act of moving from one package version to a newer one, usually through a package manager or release workflow. In operations culture, package upgrades are...
Patch
A discrete change applied to source code or software, historically often represented as a diff and now also commonly as a pull request or commit set. The term...
Point Release
A small release, usually reflected in the final segment of a version number, intended to deliver bug fixes, minor improvements, or maintenance updates without...
Project Health
The overall condition of a project as reflected by factors such as maintainer activity, release cadence, issue responsiveness, contributor diversity,...
Project Release
A release of a project's software, documentation, or assets, often tied to a version and changelog. In maintenance culture, project releases are moments where...
Refactor
Verb form of refactoring. 'Let me refactor this.' In practice, can mean anything from renaming a variable to rewriting an entire module while insisting 'it's...
Refactoring
Restructuring existing code without changing its external behavior, improving internal structure, readability, or performance. The disciplined art of making...
Refactoring Guilt
The nagging sense that code should be cleaned up properly even when deadlines or incentives push the team toward quick fixes instead.
Refactoring Monday
A deliberately chosen period, often at the start of the week, reserved for cleanup, simplification, and debt reduction rather than new feature work.
Repository Health
The overall condition of a repository as judged by signals like activity, issue response time, docs quality, test coverage, and release reliability. In...
Run the Business
Work required to keep an existing business or product operating reliably, as opposed to net-new feature or innovation work.
Security Fix
A code or configuration change intended to remove or mitigate a security weakness. In software maintenance culture, security fixes often require both code...
Shotgun Surgery
A code smell where one conceptual change requires small edits across many different files or modules. It signals poor cohesion because related behavior is...
Software Garden
A metaphor for a codebase or platform that needs regular tending, pruning, and healthy growth. In engineering slang, a software garden improves when teams...
Software Gardening
The ongoing practice of cleaning, refactoring, documenting, and gently improving software over time. In engineering slang, software gardening is the opposite...
Software Rot
The gradual decline in usefulness, reliability, or maintainability of software as dependencies change, assumptions age, and upkeep falls behind. It is often...
Stitches in Time
A reference to fixing something early before it grows into a larger mess. In engineering slang, stitches in time are the small maintenance tasks that save...
Support Lifecycle
The timeline describing how long a version, product, or release line will receive fixes, updates, or assistance. In operations planning, support lifecycles are...
Tech Debt
The accumulated cost of shortcuts, quick fixes, and deferred refactoring in a codebase. Like financial debt, it accrues interest — the longer you leave it, the...
Tech Debt Culture
The shared organizational habits that determine whether technical debt is acknowledged, managed, ignored, or continually deferred. A weak tech debt culture...
Tech Debt Swamp
A condition where accumulated technical debt makes normal movement slow, messy, and exhausting. In engineering slang, a tech debt swamp traps teams in constant...
Time Sink
Something that consumes far more time than its value seems to justify, often because it is messy, repetitive, or hard to make progress on. Engineers use it for...
Toxic Codebase
A codebase so unpleasant, unstable, or conflict-heavy that working in it harms morale and productivity. In engineering slang, a toxic codebase usually reflects...
Update Hell
A painful state where upgrades are blocked by cascading dependency issues, breaking changes, and incompatible version requirements. It is especially common in...
Update Policy
A documented policy describing when and how updates are released, supported, or applied. In operations and product maintenance, update policies help users plan...
Upstream Contribution
A patch, fix, feature, or other work submitted back to the original project rather than kept only in a private fork or downstream package. Upstream...
Upstream First
A policy or mindset that prioritizes getting changes accepted into the original project before carrying them only in internal forks or downstream...
Vacuum
A PostgreSQL maintenance operation that reclaims storage from dead tuples (rows that were updated or deleted but not yet cleaned up due to MVCC). VACUUM also...
Versioning Strategy
The overall approach a project takes to numbering releases and signaling compatibility, stability, or lifecycle stage to users. A versioning strategy may use...

Related Topics