They treat the limitations, shortcomings or hidden defects that emerge on closer inspection as new problems to be solved creatively. If necessity is the mother of invention, dogged persistence is the midwife. On the other hand, if you want to give birth to software innovations, you also have to learn when to change tactics. With practice, you will recognize when to back up and back off in order to get a fresh perspective on the problem before pushing away at it again. Undefined Problems To solve a problem, you have to know what problem you are solving.
Innovation hinges on defining the problem in the right way.
For example, everyone knows that tabbed dialogues using several rows of tabs are hard to use. Even Microsoft, with its fancy usability labs staffed by highly-trained specialists, keeps turning out multirow tabs that are clumsy and confusing to users. The real problem is not the multiple rows of tabs but their behavior, which is difficult for users to interpret. Programmers will protest that the algorithm for what happens when you click on a tab in a back row is both simple and logical, but to the eye it looks like a random reshuffling rather than a straightforward interchange of rows and tabs. Defining the problem as one of visual perception Cthe inability of the user to follow and make sense of what is happening Cestablishes a direction for seeking a workable solution.