1.1. The problem
The problem should be completely understood before formulating the solution.
- If the problem is not understood,
- the solution will be wrong.
- bugs in the solution will be difficult to understand and correct.
- If the problem is understood
- the solution is likely to be more like the correct one
- errors can be understood and the correct bug fixes can be found.
1.2. understanding the problem
Understanding the problem requires
- writing down the problem — sometimes the problem needs to be written down before trying to understand it.
- understanding the functional domain which the problem is a part of.
- understanding the definitions of the terms which have been used in writing the problem.
1.3. thinking up a solution
Trying to find a solution requires
- good working knowledge of the technical tools that would be used
- making sure the tools being considered are the right ones