I believe that there is no linear approach that may solve any given problem. There are, however, main elements into developing a solution. These main elements should be grown in an organic fashion providing relevant input when needed, but not necessarily sequentially.
I am personally drawn to the constructivist model of learning. This model believes that in order to learn people must develop different levels of engagement and active interaction in order to foster knowledge acquisition. I have split this modes of engagement into three different stages: Play, Learn, Hack, and have successfully applied it into my design practice.
As the time progresses in this continuum knowledge structures emerge and we realize how our building process has already begun. Thus developing a compliant solution that both solves the problem and challenges the establishment.