Question: 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.

Answer: 
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.
> 
> 
> 

[Cambridge](https://dictionary.cambridge.org/dictionary/english/glitch)

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](https://en.wikipedia.org/wiki/Pareto_principle), 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%.