Identify an existing problem
List possible alternatives for solving the problem
Select the most beneficial of these alternatives.
Implement the selected alternative.
Gather feedback to find out if the implemented alternative is solving the identified problem.