It's not that we find it hard to write down all remaining work, it's that when we are forced to do it we face the fact that we don't actually understand what all the remaining work is. Often times it's not even possible to understand it, until more work is done.
The main difference between professional software development and cs101 assignments is that you have to do your own decomposition. Check out the last assignment for first CS class in Stanford: http://www.stanford.edu/class/cs106x/handouts/35-Assignment-... This is comparable to the complexity of most professional work. The difference is detailed iterative project plan and scaffolding that's provided to the student.
The main difference between professional software development and cs101 assignments is that you have to do your own decomposition. Check out the last assignment for first CS class in Stanford: http://www.stanford.edu/class/cs106x/handouts/35-Assignment-... This is comparable to the complexity of most professional work. The difference is detailed iterative project plan and scaffolding that's provided to the student.