Title: As I see it, there are 2 main ends of a spectrum when it comes to releasing projects that aim to solve problems:<p>- top-down approach: you state your problem, think it through, consider all related work in this problem space, think very hard, come up with multiple possible solutions, evaluate their trade-offs and implement the best one (a-la Hammock-Driven Design: https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=f84n5oFoZBc&amp;t=1816s)<p>- rapid prototyping: you state your problem, come up with the easiest possible solution, test it, repeat (a-la Lean Development: https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Lean_software_development)<p>I know some great examples of the first approach (Clojure, Datomic, maybe Git?), but I don&#x27;t know that many successes of the second approach. Furthermore, my personal work experience leads me to believe that the second approach, at least in practice, leads to a lot of wasted effort, so I&#x27;m interested to know whether it is so or not.
Upvote: