I think a good program, is like a good piece of art. You never really finish. You just satisfy the nagging feeling of incompleteness until you have exactly what you wanted (or hoped). And even if you don't finish, you've still technically finished your research into it.