Frank Carrano and Timothy Henry have coauthored two editions each of computer science textbooks Data Abstractions & Problem Solving with Walls And Mirrors C++ and Data Structures and Abstractions with JAVA. Here they detail their top five tips for maintaining a successful coauthoring relationship.
1) Have a Coauthoring Contract or Agreement
When you and your coauthor decided to work together, you may have been long-time friends and coworkers, you may have been connected by your publisher, or you may have met at a conference. However the relationship was established, it is important to have your writing relationship clearly stated in a contract. A coauthoring contractual agreement should specify royalty splits, writing responsibilities, and future edition commitments. If you have not worked together previously, you may want to consider a work-for-hire arrangement to test your ability to collaborate. This can reduce the risk to future editions. Another option is to add the coauthor for the current edition only. That is, amend your contract for one edition at a time.