Re: "did not include functional specifications"
"No project should be started without knowing where you want to end up"
This is the first hurdle, nobody will accept such a simple goal as "to replace existing IT systems without changing any business process in any way, shape or form" after commiting a good chunk of money to the project. Because that means likely that the old business processes were designed to work around the old system limitations and thus are very inefficient and cumbersome. So nobody wants that, instead they want to end up in "somewhere better", without even starting to specifiy that somewhere and that better.
When in fact, they should start aiming for getting rid of the old system, no matter how clumsy or idiotic processes they need to keep. And the incrementally refactor whatever they want to improve.
But it never happens like that. Sadly