This document discusses lessons that can be learned from software development for the Apollo program. Key lessons include handling failures gracefully, thorough testing of code through unit and integration tests, effective teamwork, working closely with users such as astronauts, and managing resources. References are provided for further reading on the history of the Apollo program and its software and guidance systems.