Delays can be for numerous reasons in a project. Here are some reasons for delays and how to handle them.
Fast tracking : Doing things in parallel if possible.
Crashing: Throwing more resources at the problem. For instance, if you have a bug in a software project, and the shipping deadline is looming, allocate more engineers to the problem on a temporary basis if possible.
Reduce scope: Avoid doing things that are not necessary. A project can have many things going on at once. If you have to pick and choose, drop the tasks that are deemed as “good to have”.
Work overtime: Yes, this is a possibility. You can rewards those who put in the “extra effort” upon project close.
Reallocate resources: If there are non-critical tasks in progress, reallocate resources from them to critical tasks.
Cut quality: I am not big fan of this, but this happens frequently in software delivery. Software is shipped with known bugs that are documented in the “release notes”, and it is assumed that they will be fixed at a later stage.