Based on my personal experience, most projects are doomed from the start due to these 2 MAJOR problems: 1. Not prioritizing the task of gathering, decomposing and documenting use-cases at the project kick-off. 2. Chronically under-estimating effort required. [1] http://thecodeartist.blogspot.com/2015/04/use-case-is-everyt... [2] http://thecodeartist.blogspot.com/2017/04/effort-estimation....
I dont think its "under-estimating" as much as to get buy-in in a corporate environment means promising to over-deliver Architects/Developers can also be their own worst enemy - chosing a new stack over the existing stack
Or doubling down on existing tech (and technical debt) instead of keeping their options open.
One of the problems with agile development processes is that they're not paired with agile design principles.