I'm half way through reading Scott Berkun's The Art of Project Management which describes how to write specifications and determine when projects have finished, amongst other things. I also recommend his essays although they don't address the questions you ask here.