I'm a freelancer and I often have to give an ETC for my customers. They pay me per hour so I must learn how to give a precise development time.
I work with Shopware Plugins (an e-commence system from Germany) and I made a big mistake with a task time estimation last week. I had a task with some changes in a plugin and I assumed that I should update my customer's plugin, but I was wrong.
My customer gave me access to the project and I discovered that I have to create a new plugin to change the original plugin's behavior. This takes of course more time, because I had to extend Php and JS classes. I did it, but I exceeded the deadline and I wasted my time. I could have worked on other projects during that time.
Fortunately, my customer paid me more money when I explained to him, why I needed more time.
So if you have to give an ETC, you should always ask yourself a question: should I customize some code, or I should expand it?
This question should help you avoid many troubles.
Photo by George Becker from Pexels