
Recently I was fortunate to visit the Museum of Science and Industry in Chicago. The Henry Crown Space Center in the museum has the Aurora 7 capsule from NASA’s Project Mercury. It was piloted by Scott Carpenter and orbited the Earth in 1962. The capsule is only two meters long. It was a surprise to me that the capsule was so small. Please see my photo of it above.
What is also surprising is that the software engineers on NASA’s Project Mercury used a number of techniques that we would associate with “agile”. They used iterative and incremental development[1], and “Project Mercury ran with very short (half-day) iterations that were time boxed. The development team conducted a technical review of all changes, and, interestingly, applied the Extreme Programming practice of test-first development, planning and writing tests before each micro-increment.”[1]
NASA’s Project Mercury ran from 1958 to 1963[2] and Jerry Weinberg was one of the software engineers on the project.[3]
Some of the techniques of developing software that we can think of as being “new” are actually quite old.
References
[1] Iterative and Incremental Development: A Brief History by Craig Larman and Victor R. Basili (2003)
[2] About Project Mercury NASA
[3] Agile Impressions by Gerald M. Weinberg (2017, p67)
Further Reading: