Pib's style was probably evolved from his time teaching programming, and was seriously old-school even then.
A) define the problem set
B) outline a solution set
C) break the solution down into logical, preferably standalone or reuseable, modules
D) write detailed interfaces between every module
E) wrap it all in a main execution loop
This not only broke what might be an overwhelmingly complex program into smaller pieces, but was practically a self-hosting test framework to start with. And being highly modular, it was suited for splitting modules across different programmers.
I've watched many-many styles go by since then, but what I learned from Pib and NWU has always worked well for me, even when programs evolved to where most of my actual "programming" was just calling outside APIs, frameworks, or classes.