Complete based on the number of completed sub-tasks
Estimate the progress based on user's past velocity for similar todos
Allow users to retrospectively 'log work' against them which creates and completes sub-tasks in one go and increases the progress bar.
There should always be the potential for further sub-tasks to be added so the progress bar could never fully complete but when all sub-tasks are completed some visual feedback (like the progress bar catches fire with the intense flames of productivity) could indicate that the goal is now eligible to complete.
On the other hand is this encouraging bad behaviour? Ideally users would know the sub-tasks up front.
Progress bars could operate in multiple ways:
There should always be the potential for further sub-tasks to be added so the progress bar could never fully complete but when all sub-tasks are completed some visual feedback (like the progress bar catches fire with the intense flames of productivity) could indicate that the goal is now eligible to complete.
On the other hand is this encouraging bad behaviour? Ideally users would know the sub-tasks up front.