2nd module: Moon Machines


What I found most interesting about the documentary on NASA and the Apollo Navigation Computer is its similarity with many modern software projects. I specially mean modules or complete systems that are vital to a product or company that are not thought carefully, eventually creating a “technical debt” that paid for the rest of the project. This can be considered normal within the software industry now (unfortunately), whether it’s with a small team or an army of programmers in big company. I, however, think that the factors that caused that in the NASA project were a product of their time.

Up until that point, no one had seemed to care about the quality of the software being written. The documentary implies that it was just an afterthought, even programs that would make the Lunar Lander function properly. Most of the attention was given to the physical components, such as transistors. I believe that, because that technology was like a new “toy” from a relatively new area of industry, no one had really given a thought about what kind of stunts could be pulled off with it besides very basic tasks. It was more important that the components could survive the extreme temperatures and pressure changes, that they fit inside the spacecraft, etc. 

Besides, the Apollo Project seems to be at a frontier between times. One was the time dominated by analogical products, the other, by digital products. I find it very curious that the team decided to use a variety of old techniques and instruments for guidance, such as a sextant. I think everyone feels safer today knowing that almost all transportation means, such as planes, trains and buses, can rely on computers for guidance. It would seem that the scientists, engineers, and technicians felt safer knowing that analogical technology would guide the rockets. Maybe they were afraid of something so new and that had not proven its true potential yet.

These two situations (priority on other parts of the module and lack of knowledge in an area) can be used to describe a lot of software projects that fail. In the case of the Apollo Program, it almost made the team miss the deadline on when to get a man on the moon. While the design was eventually corrected and the mission was a complete success, the damage could have taken human lives. Nowadays, many software projects can involve very delicate operations that involve humans. If we want to advance as an industry, we must create and stick to efficient ways of designing software with quality.

Comentarios

Entradas más populares de este blog

10th module: Going Micro(soft)

7th Design: WarGames

11th module: Metaprogramming