The building spectrum covers from consulting on one end to crafting on the other end.<p>The first step is to know yourself. Which style are you? Which style you want to be?<p>If you are on the consulting end, talk to people, understand the problem, build a solution, and iterate on it. This is how software has been <i>preached</i> to be built for decades. Waterfall/agile/whatnot are all the same, assuming <i>idea</i> come from somewhere and keep iterating your solution.<p>If you are on the crafting end, you have an ideology to preach. Akin to art in any form, you are both the source of <i>idea</i> and executor. You broadcast your ideology and look for followers. Rich Hickey of clojure, Mike Bostock of D3.js and Bret Victor are on this camp in my opinion.<p>Note that you can hop between crafting and consulting/iterating. But iterating is like newton method, no amount of iterating will get you to answer if the initial guess is too off. So one has to have strong conviction to craft an initial solution with good enough quality before launching into iteration cycles. I've seen many "metric-minded" product people obsessed about iteration without having any conviction on what to build. Without the initial conviction, no amount of iteration can give you clojure, d3.js and co.