To put certain things in context:
I discovered in the 1970s that the amount of trouble you could get in was a function of the available memory, thus the scale of what you would promise in 1975 was roughly $60K, by the late 1970s $120K, and by the mid 80's $640K. Now it's obviously in the billions.
People mistake the complexity of the software platform for the complexity of the problem, thus if it 'fits' in a 4Gb single core server it's 'less complicated' than if you have to compile and run it on a server cluster of 16 cores of 8GB each.
The US has decided to implement a 'Universal' health care law in 2 years. This is a deployment affecting 20% of the economy. In the 1960s we decided to launch a man to the moon, a project that took 8 years and some fraction of 1% of the economy at the time. Thus politicians have mandated software deadlines in thousands of companies without any respect for available resources or physical capacity to comply. Politicians do this all the time. Management hands directives down to staff and consider their part in the matter settled. 'If only' it were that easy.
In a startup, there is a certain amount of cash, and something has to work before that cash runs out. If the original estimate was optimistic, the money runs out and the investors are left stranded, including most likely some of the company management.
Realistically, in the problem stated above, there are insufficient resources. Some of these may be inherent - 9 women cannot make a baby in 1 month. Others appear to be 'solvable' by throwing more bodies at the problem, but then one runs into the 'mythical man month'. This asserts basically that as the number of actors increases, the overhead of communication and collaboration increases to the point where the project takes even longer.
There are several ways to slice the software developer pie. One of them is to count the number of organizations and/or departments with 50 or more employees, and divide that by 1.2 million. In short, count every large school district, every military base, every large municipality, every commercial wholesaler, every manufacturer, every airline, etc., etc. and figure that each of these companies needs either one or a team of software developers. At some point there is a 'surplus' of either employers or developers. At present, given the heavy recruiting going on around the country, it appears that the supply of developers runs out first.
The second one is the 'venture capital puddle'. Supposedly there is $2 trillion on corporate cash accounts and another $2 trillion in individual cash accounts. Some component of this cash could be invested in startups. A raw division yields $3.3 million per developer, in short there is enough cash floating around idle to pay a typical programmer a lifetime of income with money left over. Therefore, there is a lot of pressure to form startups (at least in the financial centers such as NYC and CA). Under such circumstances half-baked business plans are the norm, not the exception. Executive naiveté is more or less assured. This lands on the shoulders of people tasked with delivering. Unless the team leads and the developers understand the forces at work, they will beat themselves to death for what is likely to be a lost cause.
If you know the project is a disaster, refuse to take the lead position. If you're trying to explain why, send your managers a link to this answer. If you don't trust these numbers, see if you can find another that is more realistic. It is safe to say that the entire developer community is overloaded and that this is a fundamental constraint. Your problem is simply a paper thin slice of the bigger picture.