Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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! :)

share|improve this question

1 Answer 1

up vote 1 down vote accepted

If your only source of information for the application is it's unfinished android source, there is no way to escape this mess other than waiting for it's finish.

A good way is this case is having a requirements file etc. that describes the work. For contract work, if what needs to be done is unclear, you WILL encounter lots of problems regarding the delivery date and pricing.

Talk with the client, and formalize what needs to be done before you do more work. Use acceptance tests/use cases/requirements file/user stories/whatever to document what needs to be delivered and work on that. This way, you will know what you are responsible for(instead of an ever changing requirements when the android version changes) and you can talk in even terms with the client.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.