Stop Fanning the Flames of Constant Firefighting
Firefighting is expending time and effort to deal with an unplanned activity, usually problematic in nature, that requires immediate action, diverting your or the team’s attention from planned activities.
The unexpected interruption immediately breaks your train of thought, derailing your work. If you’re disciplined and are afforded the time, you may be able to properly terminate your current activity at a logical stopping point, documenting where you had paused it. If not, then upon returning to the task, there’s the possibility of needing to restart the work or reacclimate yourself to where you left off before you were interrupted.
This task-switching will usually result in consuming more time than originally planned if the task had not been interrupted in the first place. When your attention is diverted to respond to an emergency, it’s not just the possibility of missing a previously committed deadline that’s the issue. You may still meet your planned objective by delegating your responsibilities to someone else, adding additional resources (crashing the schedule), or with the burden of overtime—all of which could put additional pressure on you and the team. As a result, you may increase the likelihood of carelessness and inaccuracies, all of which could make you a potential accomplice fanning the flames for future firefights.
Continually having to address urgent, unexpected problems interrupts your original sprint activities, causes stress on team members, and builds up more work that will have to be dealt with. But with due diligence, you can lessen the need to constantly put out fires.
Here are some steps that can mitigate the necessity of constant firefighting and break the vicious cycle of work and rework.
- Follow all the recommended processes for proper software development—periodically review and refine processes, seek out and remove time wasters that add no value, and add processes where there are deficiencies
- Filter incoming issues through level 1, level 2, and level 3 support teams, only allowing true issues to be escalated up to the development team
- Create a secondary team that, with the oversight, guidance, and approval of the primary team, can take on the firefighting tasks, thus keeping the primary team focused on the originally planned objectives
- Perform root cause analysis on all escalated issues with the intent of not repeating the same problems in the future
- Recognize that, contrary to popular belief, the customer isn’t always right, and the correct course of action for service issues may be consulting with the stakeholders to reeducate or persuade about existing functionality
- If there is an urgent situation, negotiate with the stakeholders to find a suitable timeline for the fix that accommodates both your schedules, if possible
There will always be unanticipated circumstances that arise and make firefighting inevitable. You don’t want to build the firehouse after the fire starts, so make plans now for how to deal with emergencies. That way, when an urgent issue necessitates curtailing your planned activity, you can have it cause as little disruption on the team and the schedule as possible.