Backward chaining is a reasoning method used in artificial intelligence and logic programming that starts with a goal and works backwards to determine the necessary conditions to achieve it. This approach is particularly useful in expert systems and problem-solving scenarios where the desired outcome is known, and the challenge is to identify the steps required to reach that outcome.