A person new to programming may be able to make a good small program.
However, when starting to work on anything bigger than a small (think 1 C source file or Python module) program, there are some general concepts which become much more important when working on "big" (think many Python modules or C files) programs; one example is modularity, another is having a set aim.
Some of these may be obvious to people who went to school to learn programming; however, people like me who did not go to programming classes sometimes have to learn these things from experience, possibly creating failed projects in the meantime.
Please explain what the concept is, and why the concept becomes more important for big programs than by small programs.
Please give only 1 concept per answer.