Yes, your approach is good and should work pretty well. However, in my academic experience, the perception of "done" can be deceptive, even for a well defined problem. The purpose of the saying is to make people wary of thinking they are done.
Similarly, it is said that the point of debugging is to find bugs, not to remove all bugs. Again, the idea is if you think you've found all the bugs, you're probably wrong.
However, you may well be one of the lucky individuals who can understand the entirity of the program in one go. And, it is good to attempt to do so, even if you usually can't. Thinking through the entire logic of my programs helps a lot as I debug.
Similarly, it is said that the point of debugging is to find bugs, not to remove all bugs. Again, the idea is if you think you've found all the bugs, you're probably wrong.
However, you may well be one of the lucky individuals who can understand the entirity of the program in one go. And, it is good to attempt to do so, even if you usually can't. Thinking through the entire logic of my programs helps a lot as I debug.