The willing and even enthusiastic acceptance of competing constraints is the foundation of design thinking. The first stage of the design process is often about discovering which constraints are important and establishing a framework for evaluating them. Constraints can best be visualized in terms of three overlapping criteria for successful ideas: feasibility (what is functionally possible within the foreseeable future); viability (what is likely to become part of a sustainable business model); and desirability (what makes sense to people and for people).