As soon as WWII ended, a new more sinister conflict of ego and bluff broke out between the USSR and USA. Whether it was who could build a bigger, dirtier bomb, or who had the bigger budgets to spend, both protagonists sought to outdo the other.
Amidst the bravado of military might standoff, a technological battle was raging, one that would put the victor into space and ahead in the race to put a man on the moon. The amount and number of unknowns that had to be considered and the size of the risks that had to be mitigated in order to achieve this goal were incredible. Kennedy set the goal in 1961, and it took the best part of a decade to achieve it.
It is dealing with the unknowns and mitigating risks in the space race, parallels to the agile approach to software development methodology can be seen. Whether the risk is using a particular technological stack, or whether a human can survive in sub-zero temperatures and zero gravity, the processes for mitigating this risk is an agile, iterative learning approach.
One of the first questions needing to be answered was literally, ‘how to get to the moon?’ The advances made in the realm of rocket technology in the arms race did not immediately translate into successfully sending a man into space, after all, the rockets had been developed with destructive intent. Was it conceivable to convert this power into something that could reach the moon? Could a human survive the G-force of being strapped inside a rocket? What happens when you actually reach the earth’s atmosphere - a rocket uses oxygen for combustion and with no oxygen in space, does that mean no combustion?