The Ticket That Never Moves: How Agile Backlogs Became Graveyards for Security Fixes
Photo: software developer frustrated looking at computer screen bug tracking backlog kanban board, via img.freepik.com
There is a particular kind of frustration that experienced software developers know well. You identify a security vulnerability. You write it up carefully — reproduction steps, potential impact, affected components. You submit it through the proper internal channel. A ticket is created. It is assigned a priority label. And then, week after week, sprint after sprint, it sits exactly where it started: unassigned, unscheduled, and quietly accumulating age in a backlog that nobody in leadership seems particularly motivated to address.
You have not been ignored, exactly. The ticket exists. It has been acknowledged. But acknowledgment, as any developer who has watched a critical bug spend eighteen months as a "P2" will tell you, is not the same as remediation.
This is not an accident. In many organizations, it is a policy — one that has been carefully constructed to look like a prioritization decision while functioning as a permanent deferral.
How the Backlog Becomes a Burial Ground
Agile development workflows were designed to help engineering teams respond to change, balance competing demands, and deliver value incrementally. They were not designed to suppress security work. But the structural features of most agile implementations — sprint planning, story point estimation, velocity tracking, and backlog grooming — create conditions that make it remarkably easy to deprioritize security fixes indefinitely without anyone having to explicitly decide to do so.
Here is how the cycle typically works. A security issue is discovered and logged. During sprint planning, it competes for slots against feature work that has been requested by product managers, promised to customers, or tied to revenue targets. Security fixes rarely carry a business case that maps cleanly to those metrics. They do not generate new users. They do not close deals. They address risk that is, by definition, not yet realized — which makes them easy to defer in favor of work that produces something visible.
The ticket is moved to the next sprint. Then the one after that. Eventually it settles into the backlog proper, where it may be re-triaged periodically — its priority label occasionally adjusted, its description sometimes updated — but where it effectively ceases to be on anyone's active radar.
Multiple developers who spoke with WhistleDev on condition of anonymity described variations of the same dynamic. "We had a known SQL injection vector sitting in our backlog for over a year," said one backend engineer who had worked at a Series B startup in the Pacific Northwest. "Every time I brought it up in planning, I was told it was on the list and we'd get to it. We never got to it. I left the company before it was ever addressed."
The Incentive Structure That Makes This Rational
To understand why this pattern persists, it helps to look at how engineering organizations are typically evaluated — and how that evaluation shapes individual behavior at every level of the hierarchy.
Engineering managers are generally measured on delivery: features shipped, velocity maintained, roadmap commitments honored. Security remediation, unless mandated by a compliance framework or triggered by an incident, rarely appears on the scorecard. A manager who consistently pulls security tickets into sprints at the expense of feature work may find themselves in difficult conversations with product leadership. A manager who keeps those tickets in the backlog while hitting their feature targets faces no such friction.
This is not a story about bad actors. Most of the managers perpetuating this pattern are not malicious. They are responding rationally to the incentives their organizations have constructed. The problem is structural, and the structure rewards the behavior.
At the individual contributor level, the calculus is similarly skewed. Developers who repeatedly advocate for security work that slows the team down can develop a reputation as obstacles rather than assets. In an industry where career advancement is tied to shipping, being the person who keeps raising the authentication bug that nobody wants to schedule is not a comfortable position to occupy.
Recognizing When You Are Inside This System
If you are a developer trying to determine whether your organization's backlog management constitutes a genuine prioritization process or a structured deferral mechanism, several indicators are worth watching.
Age of open security tickets. Pull a report on how long security-labeled tickets have been open in your backlog, on average. If the median age is measured in months rather than weeks, that is a meaningful signal about organizational prioritization norms.
Ratio of security tickets closed versus created. If your team is consistently generating more security issues than it is resolving, the backlog is growing — which means the organization's security posture is, on net, degrading over time regardless of how many features are shipped.
How security tickets are labeled. Pay attention to the language used when security issues are triaged. Labels like "low priority," "nice to have," or "no immediate impact" applied to issues that carry genuine exploitation risk are worth scrutinizing carefully. These labels shape whether a ticket ever surfaces in planning conversations.
Whether security work appears in sprint retrospectives. If your team's retrospectives never include discussion of security debt or backlog aging, that absence suggests the topic is not being treated as a routine engineering concern.
What to Do When the System Is Designed to Stall You
For developers who have identified a security issue that is being indefinitely deferred, the path forward requires both documentation discipline and a clear understanding of available escalation options.
Build a paper trail from the beginning. Every time you raise the issue — in a ticket comment, in a planning meeting, in a Slack message — note it. If you are ever in a position where you need to demonstrate that a known vulnerability was flagged and ignored, the documentation you create along the way will be essential.
Quantify the risk in business terms. Security arguments that appeal to technical severity often fail to move organizational decision-making. Arguments that translate the risk into potential regulatory exposure, customer impact, or reputational cost tend to travel further up the chain. If your organization operates in a regulated sector — healthcare, finance, federal contracting — connect the vulnerability to the specific compliance obligation it implicates.
Use formal escalation channels. Many US companies maintain a security team, a CISO function, or at minimum a designated security contact. If your vulnerability is not being addressed through the product engineering workflow, route it directly to that function in writing. This both creates a record and removes the deferral decision from the product team's control.
Know your external options. If internal escalation fails and the vulnerability poses meaningful risk to users or to regulated data, external disclosure becomes a legitimate consideration. The Cybersecurity and Infrastructure Security Agency (CISA) operates a coordinated vulnerability disclosure process. The FTC has jurisdiction over companies whose security practices constitute unfair or deceptive trade practices. State attorneys general in jurisdictions like California, New York, and Illinois have increasingly active data security enforcement programs. These are not last resorts to be feared — they are mechanisms that exist precisely because internal channels sometimes fail.
The Backlog Is Not Neutral
Every ticket sitting unaddressed in a security backlog represents a decision — not always a conscious one, but a decision nonetheless. The agile framework provides the scaffolding that makes that decision easy to avoid examining directly. Sprints end. New ones begin. The ticket ages. Nobody had to say out loud that the vulnerability was not worth fixing.
Developers are not powerless inside this system. But using that power requires clarity about what the system is actually doing, and willingness to push against it even when pushing is professionally uncomfortable. The tools exist. The legal frameworks are in place. What remains is the recognition that a ticket that never moves is not a backlog problem. It is an accountability problem — and accountability is precisely what WhistleDev exists to support.