Coordinating the behavior of a large number of agents to achieve a system level goal poses unique design challenges, particularly in ambitious space missions. Problems of observability (agents have limited sensing capabilities) and reliability (the agents may fail), and restrictions on communications (agents can only talk to a potentially changing subset of other agents) make it impossible to simply apply methods developed for simple multi-agent systems. To address these problems, we present an approach based on deriving agent goals that are aligned with the overall system goal, and can be computed using information readily available to the agents. Because of the way in which those goals are derived, there is no need to use difficult to scale external mechanisms to force collaboration or coordination among the agents, or to ensure that agents actively attempt to appropriate the tasks of agents that suffered failures. On a rover coordination problem, rovers using goals derived by our approach outperformed traditional methods by up to 400\%. More notably, for rovers with noisy sensors and limited communication capabilities, our method outperformed the traditional methods by a higher percentage than in more ideal conditions, making it ideally suited for difficult space missions where the unpredictability and harshness of the environment will severely challenge current approaches.