As an independent contractor, I define my own project completion dates. When calculating the completion time of any task given to me, I take into account all of the usual things; difficulty of the task at hand, my current free time to work on a project, personal commitments, etc. When I give my estimated time to completion, I follow a “Hell or High Water” approach; this usually works out fine for me.
But what does one do when life throws a grenade? No one can plan for everything, and some things are just too demanding to put off until after the project is completed.
In my case, the client usually gets a large discount; I’ve wasted their time and wasn’t able to finish. This is a very straightforward and ethical approach to the problem, but how can one tell what the right solution is?