Means-Ends analysis is a method of solving problems. This method is useful for well-formed problems, less so for less-formed problems.
Problem solving occurs in a state space. Imagine first an initial state and then a goal state. We want to get from the initial state to the goal state. There might be many different paths from the initial state to the goal state.
We can talk about how to solve this problem in terms of differences between different states and the goal (end) state. I want to deduce the difference between two different states.
So I can look at my current problem, and then my end-state. I will then ask "how many differences are there between my current state and my end state".
Imagine we start at step one, our initial state. The next step in this process is to create every possible permutation from my initial state. The next step is to calculate the difference in the states I just made and my end state.
There is an obvious method here: if I generate 6 different possible states from my initial state, I can then calculate the difference between each of those states and the end state. I would look for the option that had the least number of differences to produce the most optimal solution.
Universal method of problem solving
A means-ends analysis is considered a universal method of solving problems. However, there is no guarantee of success.