Firefighting is an emergency allocation of resources, required to deal with an unforeseen problem. In software development, for example, firefighting might involve assigning extra programmers to fix coding bugs that are discovered close to a product's release date; in a security context, it might involve allocating resources to deal with the breach of an information system or the outbreak of a computer virus. At the individual user level, firefighting might involve dealing with hardware or software problems that could have been prevented with basic computer maintenance practices.
Just as in the real world, there's an assumption that "fires" are unpredictable and that they must be dealt with immediately. However, a too-frequent need for emergency action may reflect poor planning, or a lack or organization, and is likely to tie up resources that are needed elsewhere. To keep firefighting to a minimum, comprehensive disaster recovery planning ( DRP ) often includes the attempt to foresee, and protect against, such emergencies.