I'm working on a brand new application that involves a client and a server. Specifically, it's a native mobile app talking to a web server, using a custom API that we will define. I was hired to write the client and another guy (I've never met) has been hired to write the server.
To get started we need to agree on an API. We both have very different perspectives on it, working with different technologies. Each of us might not even be sure what sort of small changes make things easier or harder for the other guy. I can't deliver a client if his server isn't working, and his server is pretty useless without a client.
What are good strategies for dealing with arrangements like this? I know the answer usually boils down to "it depends on your situation" but if I can learn from anybody else's mistakes, I'd sure like to avoid making them again on my own.