Critical Thinking in Web and Interface Design

The most common failure of development projects is the inability to
correctly define the problem. If the goal is vague, it’s impossible to know whether it’s been solved it or not. And even if the goal is well defined, it may be the wrong goal for the situation in which the design will be used. A well-built machine gun won’t help you repair a flat tire. So these two kinds of failure, vague goals and the wrong goals, have nothing to do with technical acumen. If you can’t prevent these kinds of failures, even the best developers or designers in the world will not succeed. You may write great code or create wonderful designs, but if you don’t solve the right problem, your efforts are wasted.

full artical in the link
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndcom/html/sapintegration.asp