Because software design or program design is a science which requires methodical processes:
1) Analyze and define the problem.
2) Brainstorm the solutions: by create an algorithm how to solve the problem.
3) Writing the codes to follow the algorithm.
4) Implement and test the program to solve the problem.
5) Design verification and testing validity of solution.
6) Document the solution to the problem.