Introduction
Prioritisation has become paramount to keep up with increasing demand and decreasing delivery times. While automation helps stave off the increasing workload, building and maintaining automation is one of the largest contributors to the problems it aims to solve.
The quicker things get done, and the more automation put in place, the larger the expectation to deliver faster. In this environment, fluctuating priorities are inevitable. Aside from a lack of effective prioritisation (which typically takes the form of multiple priorities deemed the most urgent and are left fighting it out for resource allocation), you soon have to start looking elsewhere for a root cause.
There is only so much prioritisation you can do, and only so efficient your team can be. When you layer up project priorities with BAU work, Ad-Hoc tasks, incidents and everything else, the backlog begins to pile up and soon becomes a graveyard.
The Backlog Graveyard
Where tickets go to die. The backlog graveyard becomes home for the tasks teams simply don’t have the bandwidth to execute on. From a security perspective, this can be the temporarily accepted risks that long for a day of resolution that never comes, or any of the CVEs under a 7.0… For the development teams, it could be the bug that doesn’t get fixed as new features cry for attention or the documentation that never gets updated.
The problem is largely universal, and simply a by-product of increasing demands and expectations. But that doesn’t make it a simple problem to solve, and the resolution must be two-pronged, organisational and team-driven.
At the organisational level:
This is unavoidable if you are stretching your resources too thin and not providing teams with the capacity required to stay on top of their workload. There are only so many hours in a day, and if your resources are running over capacity, something has to give. Whether that’s accepting risks that shouldn’t be accepted, cutting corners on things like testing, maintenance, and documentation, or spinning wheels trying to get everything done with work slipping through the cracks, something has to shoulder the burden.
Rather than trying to get every last drop out of what you have got, we must understand that the cost savings are costing you far more than you save.
Burned-out staff, crumbling infrastructure, vulnerabilities, mistakes, confusion, inefficiency and so much more far exceed the cost savings for appropriate staffing. Ensuring you have enough of the right people to handle the workload effectively, efficiently and properly is essential. Otherwise, this is a compounding problem that scales over time.
It is also important to ensure teams have clear visibility of the organisational road map and deliverables. If timelines are hidden or not clear throughout the organisation, the people who are best suited to highlight any delays, difficulties or disruptions (the people delivering the work) won’t be able to effectively communicate these out.
At the team level:
Companies have lots of teams that are all demanding more resources, the pressure that is felt at an individual level exists at an organisational level too. There is only finite budget.
I am going to scope this article under the assumption that both the organisation and team/individual want to address the root cause together, otherwise, this problem cannot be solved. The teams will say they don’t have the resources and the business will say it doesn’t have the budget until a shouting match arises and the loop cycles.
Accountability and ownership must be taken, and a blameless approach is best. If the teams can communicate and demonstrate their needs effectively, the business can then address those needs across the board and prioritise as necessary.
Tackling backlog bottlenecks
Resource tracking
To demonstrate the need for resources, we need to first understand our current expenditure and we can only understand it if we are tracking it. It doesn’t have to be a laborious process where raising a ticket takes more time than doing the task, but it does have to demonstrate all the hard work your team is doing. Find a system that works for you, but make sure the work you are doing is captured.
Communication and Documentation
Priorities shift, demand fluctuates and scopes change, as nice as it would be to avoid these things being too strict isn’t the answer either. The companies that work best communicate well and are adaptable. If your current work has been deprioritised, this must be communicated and documented. If a task is delayed due to a more urgent requirement, note this down on the ticket and keep the audit trail clear for what you are working on and why.
If you or your team are being asked to take on something you do not have the bandwidth for, be honest and communicate this out early. It is good to be optimistic and hard-working, but it also is important to be realistic about how much you can take on and whether or not something is feasible or not. Make sure expectations are set, and communicate what work will need to be dropped, de-scoped or deprioritised to meet the demand.
Backlog Grooming
While it can seem like a rock and a hard place trying to balance documenting things to be efficient and losing efficiency because of process, setting aside time to track and document work needs to be non-negotiable. The benefits far outweigh the cost. Regular audits of what work exists in the backlog must take place, the backlog should be a clear pipeline of work that has a criticality/priority assigned to it and ideally an understanding of what effort it will take to get it done.
If the backlog becomes a dumping ground littered with ungroomed tickets piling up, it isn’t providing any value and will quickly become untenable. There shouldn’t be any ancient tickets collecting dust waiting to be assigned, any duplicates or blank tickets with vague nondescript headings.
Prioritisation and Risk Management
Workload tracking processes must be made a priority, for all organisations at all levels. If you do not know how you are spending your time and resources, efficiency is an impossibility. Without visibility of the problem, a solution cannot be created.
We need to risk assess this problem accurately and assess the true impact it presents. I have seen time and time again out-of-control workloads be the root cause of security incidents, production outages, misconfiguration issues and bugs, and plenty more.
Often it is not that teams are unaware of the issues or vulnerabilities, but rather they don’t have the time, capacity or resources to address them.
Risk acceptance must not be indefinite, if work has been sent to the backlog it must be addressed within a given time frame.
Summary
Teams must communicate and demonstrate their capacity issues, and carving out the time to track work must be made a priority. Companies must use this data to alleviate workload pressure and support teams when extra capacity is required. If budget is not given to scale capacity, and companies stretch their resources too thin, the impact of doing so must be appropriately risk assessed. There will always be a balancing act, but if your capacity and workload management are left unchecked, the results can be disastrous.
The Impact of a Buried Backlog
- Technical Debt: Left unchecked, these forgotten tasks hinder efficiency, cause slowdowns and reduce overall effectiveness. Spend less time on testing, spend more time on bug fixing. Spend less time on documentation, spend more time on confusion, inefficiency and duplication.
- Security Risks: Unaddressed vulnerabilities, outdated packages, missing maintenance and testing. Backlog bottlenecks pile up and can have disastrous security ramifications.
- Decreased Morale and Reduced efficiency: Teams can be exhausted with constant context switching leading to burnout and frustration. The pile becomes insurmountable and grows quicker than it shrinks, getting ignored until it all comes crashing down.
The Resolution
- Clear Communication: Transparent communication across teams and management is crucial. Establish processes for teams to voice capacity issues and demonstrate where backlog impacts their output. Communication should be continuous to ensure prioritisation reflects genuine needs.
- Visibility and Tracking: Create and maintain clear, updated records of tasks in the backlog. Use workload tracking to prevent backlog items from stagnating and make it easy to identify overdue or critical tasks.
- Resource Allocation: Ensure teams have the appropriate capacity and resources needed to handle their workload effectively without cutting corners on critical aspects like testing, documentation, and maintenance. Adequate resource allocation mitigates the accumulation of technical debt and helps maintain a sustainable workload balance that supports long-term productivity and resilience.
tl;dr Give your teams the resources they need. Teams, track your time and demonstrate your resourcing needs. Keep your backlog clear or fall under the weight of it.
Thank you for taking the time to read this article, I hope you found it informative. This is very much the opening of a discussion, not the closing of one. This is by no means a complete document as the topic is simply too broad. I would love to hear any thoughts or comments you have.