Design features: desirable, feasible, and viable