Either this work must be done in order for you to move on to your next feature or you must abandon the feature. If you stick to this rule, then you will be forced to seriously consider features before you take them on. When you do that, you will find yourself saying "no" to features. That is good. More important work will still make you say "yes" and less important work will get set aside. You will be in a good position to have a successful project.

You wind up with too much unnecessary work when you say "yes" to features that you should say "no" to. OK then, how can you get yourself to say "no"? Make yourself not want to take on the work right at the beginning . Make a rule such that taking on the feature will mean an explicit commitment to do additional (boring) work:

Do you have difficulty with finishing your projects? If so, there is a good chance it is because (1) you took on too much unnecessary work and (2) you are lacking in project management skills, not software development skills.

II.