When working on a (programming) task, often I discover that the goal I set cannot be achieved the way I thought: either (1) it must be split up, or (2) abandoned altogether. In the Pomodoro book, this is called a qualitative estimation error.
Splitting might be necessary when I overlooked some sub task, thinking it could be done within this task, but it is so large that it should be a task by itself.
Abandoning happens for example when I wanted to use design pattern X, but when coding it, it appears to me that design pattern Y is a much better match. The task 'implement design pattern X' is then no longer useful.
How do I handle this kind of estimation errors task wise?
I'm using a hybrid of Personal Kanban and Pomodoro, but the problem applies to both.
Should I consider the sub task separate from the main task for estimates? If I do, the estimate for the main task will go down, which seems counter intuitive to me. Also, do I keep the main task in my "Doing" column on the Kanban board?
Should I just replace the task with the new task? If I do, do I count the time spent towards the new task? Where do I leave the old task on the Kanban board? It's not done, but it never will be.