Wicked problem
Software development has been described as a "wicked problem" — a problem that is difficult or impossible to solve because of incomplete, contradictory, and changing requirements that are often difficult to recognize.
The term "wicked problem" was invented by Horst Rittel and Melvin Webber in their 1973 paper "Dilemmas in a General Theory of Planning". Rittel and Webber were urban planners, and they used the term "wicked problem" to describe the complex, ill-defined problems they were commissioned to solve. They defined a wicked problem as a problem that is not well defined and that has no obvious solution, because all possible solutions involve conflicting goals and constraints.
The concept has since been applied to other fields, including software development. In their book "Wicked Problems, Righteous Solutions: A Catalog of Modern Software Engineering Paradigms", Peter DeGrace and Leslie Stahl described the task of gathering system requirements and designing solutions as the "wicked problem" of software development, because the requirements are typically incomplete, contradictory, and subject to change.
Mitigating the risks associated with developing software to incomplete and inaccurate requirements specifications is one of the most difficult challenges of the discipline.