Given input X, what are the steps necessary to return output Y?
Don't we all follow that concept?
BTW the Understand/Plan/Divide paragraphs reminded me of MP's (well structured)coding style.
No! As an example, if following that mindset you'd end up with several bullet points. Each of those bullet points "should" be a seperate procedure (a small procedure for each task). You hardly/rarely see this "proper" structure; you often find procedures structured in a rambling fashion (e.g. "SolveThisIssueAndDrawLinesWhileMakingAViewport").
That's because ha has more years of experience then the swamp has members. *wink* And, he was probably around when the computer monitor pixel density was 1.