This morning I stumbled across this fantastic NASA history (Computers in Spaceflight: The NASA Experience) of the software and hardware development of the Apollo spacecraft. While the technology described is far outdated (“…the SUNDISK earth orbit program was complete, verified, and ready for core rope manufacture”), you could literally write a book of Medium posts arguing for/against agile/telecommuting/TDD/BDD/mythical-man-months/Node.js and back them up with direct quotes from the NASA writeup.

The following quote stuck out to me, near the end of the software writeup which describes how the tragic Apollo I accident gave programmers a chance to fix critically-flawed flight software that otherwise would have shipped:

[Bill] Tindall observed at the time, It is becoming evident that we are entering a new epoch regarding development of spacecraft computer programs. No longer would programs be declared complete in order to meet schedules, requiring the users to work around errors. Instead quality would be the primary consideration

Tindall, who was assigned as “NASA’s ‘watchdog’ for MIT software”, was famous for his “Tindallgrams”, “blunt memos regarding software development for Apollo.” The quote above comes from one titled: A new spacecraft computer program development working philosophy is taking shape.

You can find all of his memos at a site titled, “Tindallgrams: The snarky memos of Apollo’s unsung genius.” Having stumbled upon it just today, I’m amazed at what a historical resource it is, and apparently it’s a crowdsourced effort to convert the print memos to text, with its own Github repo.