I realize this is about game development, where missions and what-not are a major chunk of development. But still, I think most of the problems here are basic engineering failures: if you have a big infrastructure issue, <i>get that issue right before you go crazy on other stuff</i>. From the article:<p>"<i>We actually used the 'synchronous' version for quite awhile. It was good enough to test with, so finishing the network code was considered a lower priority than the other issues we needed to address at that stage of development.</i>"<p>And the result was, rather predictably:<p>"<i>When we finally came back to the network code we were behind schedule, and that affected some of the decisions we make later in the process. And it meant we were absolutely committed to the complexity of the missions, and the user interface.</i>"