I've been a fan of Dr. Alex "Call me Alex" Laufer for many years. I've read several of his books, and recently had the opportunity to see him give a presentation and came away with a significant collection of observations and notes.
One of the most significant bits was when he pointed out that the traditional "First, define the problem. Then, solve it" approach is (and I quote) "almost always wrong.
Go ahead, take a minute to let that sink in. It's the way we do things 99% of the time. But when applied to projects, it's "almost always wrong."
The alternative Alex proposes is to focus on discovering goals and requirements as the project progreses. It's sort of a recursive approach to uncovering emerging objectives. Consider: the early days of a project are when we know the least about it. And in this state of maximum ignorance & uncertainty, it is silly to try to nail down requirements and solidify cost & schedule estimates. Thus, the recursive approach, which views requirements and goals as Things To Be Discovered.
More from Alex's presentation coming soon...
Background: Alex was kind enough to contribute a few articles to the original version of RPL, back when it was a webzine.