Source: http://nicktumminello.com/2015/03/program-design-what-it-really-is-the-biggest-mistake-trainers-make/