The main problem of the author is that he as a developer has not fought development to be perceived as stakeholder. Which is the core of all problems.<p>If every tech related decision requires dev to have explicit buy in and commit, and they are equal partners on the negotiating table - a lot of problems then disappear.<p>I have recently been very blunt in some exchanges.<p>&quot;- How big should the project scale?
- Infinitely!
- In that case I will need infinite time and budget&quot;<p>I got reasonable estimates the next day.<p>As a developer it is your job to get the problem right, to evaluate the business case for any feature request and give a better proposition if the initial requests sucks.<p>And for the hated waterfall - well some big decisions are made at the beginning of the project and are almost immutable - technology stack, module boundaries, module interaction, available hardware.<p>It is once again your job to make sure that recruiting can deliver the right people, that we can procure the needed hardware and so on.