A common cause of project delays is tasks that weren’t accounted for in the original estimate.
Some of them are “overhead” tasks, such as setting up the initial installation scripts, adding the project to the continuous integration server, etc.
Others are missing tasks that are discovered during development of other user stories.
If you’re doing daily standups, and using a storyboard for your project, I suggest doing the following:
When you write your initial user stories, use one color of Post-it notes for them. Then, keep a stack of Post-it notes of a different color next to your storyboard. During the daily standups, if anyone says they’re working on something that isn’t an existing user story (and it’s something that truly needs to be done), have them write the user story on a Post-it note of the second color.
At the end of the project, you’ll have all your completed user stories on the board. It will be easy to see which tasks were forgotten about during the initial user story creation.
For each of the “missing” stories, do a root cause analysis – did you really need to do that task, why did you need to do it, why didn’t you know about it at the beginning if the project? Was there something you could have in your process that would have identified the story as needed?
When you get to the root cause, go back to your project process checklist and change it to include a way to prevent the same type of task to be forgotten in your next project.