Be Russian
/Problem-solving never happens in a vacuum. Culture creates the context for our solutions, directly affects our processes, and influences how we view our goals. That’s why the 1960s space race between the Soviet Union and the U.S. remains relevant to development work done today.
The Earth’s two superpowers dealt with the same daunting challenges of space exploration, but because of Cold War tensions that didn’t allow for any exchange of information, the two programs took substantially different approaches.
The Americans tended to test, test, and test some more and then launch; the Russians tended to launch, fix, launch, fix, repeating the cycle as necessary. Minimizing risk was the United States’ central goal in development, while the Russian scientists focused on maximizing the value of the data gained from inevitable mistakes.
While the U.S. had centralized control and funding (with the creation of the National Aeronautics and Space Administration in the late 50s), in the Soviet Union, teams of scientists competed bitterly with one another while the military heavily influencing all aspects of development.
Ultimately, the U.S. system put the first man on the moon in 1969, but back when the 1960s began, it was the U.S.S.R. that dominated the space race. And it looked like the Soviets would lead from wire to wire.
The race began when the Soviet Union launched Sputnik 1, the first artificial satellite to orbit the Earth, in October 1957. A month later, Sputnik 2 carried the first living passenger, a dog named Laika, into space. Barely keeping up, the U.S. finally launched its own satellite, Explorer 1, in early 1958.
Soviet success continued as Cosmonaut Yuri Gagarin became the first human in space in 1961. The U.S.S.R. then launched the first dual-manned flight in 1962, put the first woman in space in 1963, and carried out the first spacewalk in 1965.
The Soviet Union’s eventual fade later in the decade had little to do with any superiority of the U.S. approach. As NASA’s budget went from $500 million in 1960 to $5.2 billion by 1965, the rise of Leonid Brezhnev as leader of the Soviet Union and the death of the space program’s politically astute Chief Designer Sergei Korolev combined to severely curtail the money available for Soviet space exploration.
Russian scientists’ gritty, practical approach, where anything that could be re-used was, bears a striking resemblance to iterative software development. Agile and similar approaches sometimes get a bad knock for being reckless, but just as there was plenty of thoughtful work going on inside the Soviet space teams, solid development work is required within any specific iteration. When developers embrace failure rather than act like it doesn’t exist, it can look an awful lot like recklessness. And in both the Soviet Union and in iterative development, some poor planning occurs, but that’s the result of poor execution by humans and not a negative reflection on the approach itself.
It’s easy to get in checklist mode on a project where you deliver textbook research and analysis and deliver solutions that are based on minimizing risk. But there’s something to be said for putting thoughtful, solid, but potentially flawed solutions out there and improving them in reaction to the ways users break them. This might be necessary, as it was in the Soviet Union in the 1960s, when budgets are low, time is short, and expectations are astronomically high.
It also might be the superior approach when the challenge is particularly huge, when innovation thrives in the periphery, or when big success stands on the shoulders of small failures.
It’s good to be a little Russian now and then.