* Management needs to get over itself and have a true vision beyond, "omg competitors are making money...more features!" that it conveys to everyone.
* The businesspeople need to absorb some of management's anxiety (and their own) on behalf of devs, and communicate with customers to ensure the vision aligns with what they want.
* The developers need to stop whining, up their game and go a bit slower so they don't get themselves in these situations to begin with. Give them what they need (quality code) not what they want ("anything that works NOW!!").
The business world seems rife with people who are purely reactionary, and yet still have the gall to wonder why they cannot innovate: "We don't have money for R&D!" OK, you don't have money for growth then.