My company is building an iOS version of an Android app that our client is developing (but has not yet released). We have access to the latest builds and source, however since the software is frequently re-structured and refactored, we're doing a lot of unnecessary re-work. In addition, the due date on the contract will likely be passed before the client's application is even ready for release. In other words, we're supposed to build the iOS version before the original Android version is even complete. Luckily the client tossed out the original deadline, but now we may have to renegotiate pricing... never a fun situation.
Are we handling this incorrectly? How are "ports" (especially between mobile platforms) normally done? Is there a correct way to pipeline development for multiple platforms without so much re-work?
Thanks in advance! :)