Is there an idiom/phrase for when you tell someone you'll have something done at a given time, but then more complications arise and it extends the time needed? For example, I'm working on a project and everything seems like it's done, and when I test it, something has broken, and now it'll take more time to finish.
These unforeseen problems are often called glitches.
glitch : a small problem or fault that prevents something from being successful or working as well as it should:
We'd expected a few glitches, but everything's gone remarkably smoothly.
The system has been plagued with glitches ever since its launch.
One can express the possibility of such things arising by saying :
Barring glitches, we'll be done in three days.
In software development this is often called the 80/20 rule, which is properly stated as:
The first 80% of the functionality takes 20% of the time; the remaining 20% of the functionality takes the remaining 80% of the time.
but is arguably more accurately stated as:
The first 80% of the functionality takes 80% of the time; the remaining 20% of the functionality takes the remaining 80% of the time.
for a total of 160%.