Proper identification of what the program is intended to do and how to break down the task into smaller subtasks in order to accomplish this. This is independent of the programming language or other tools used to code. | Proper identification of what the program is intended to do and how to break down the task into smaller subtasks in order to accomplish this. This is independent of the programming language or other tools used to code. |