Thinking Ahead

Thinking ahead is often needed to make a solution that is easy to use and understand. It involves:

In programming, thinking ahead is key to making programs easily re-usable, which saves the time spent testing and debugging subroutines and modules.