I came in to rewrite software that runs a warehouse. The old software, was half working but used for 10+ years, the source code provided was different than what was in production(original dev lost it LOL).<p>As I decompiled the production version and met with managers to learn/document the process. I quickly learned that nobody knew the process. There were pieces of information in people's head, and in several old apps. However, nobody clearly understood the process, where the data is exactly stored or how the data flows.<p>The app took more than a year to write but could have been written in 2-3 months if previous projects had decent documentation.<p>To develop an app for an enterprise you really need managers to be on board, otherwise, the new app will suck just a bit less than the one it is replacing. There are politics involved and petty arguments. Many people are just unhappy at their jobs and it leaks into their work.