If there is one idea in Computer Science and Software Engineering that underlies every other idea, then what is it? (It’s not Algorithms!)
“All problems in computer science can be solved by another level of indirection.” — David Wheeler
If indirection implies how a problem can be solved, then decomposition implies how a solution was reached. Problem Decomposition is about understanding the solution to a problem. It is the inverse of indirection.
Problem Decomposition is breaking a big, complex problem into smaller parts that could be solved relatively independently.