As you execute your self-program, writing your code, you are probably stopping occasionally, if not constantly, to examine your progress and ask questions such as am I still on schedule? and am I still convinced that my proposed solution is going to solve the problem?