Even rocket scientists and top technologists can’t prevent a software failure. The ISS was knocked out of position when the glitch caused Russia’s Nauka module’s thrusters to fire.
It seems redundant to continue to start this series with the same sentence, but it’s so very true. Computers are hard. Software R&D is even harder. Let’s clarify without using a metaphor this time. Programming a machine to do something to do one thing is not hard. Enter a command, get a response. It will happen that way every time. The hard part happens when you try to add additional functionality to obtain different outcomes. Nearly every time, whatever is being added will screw up what’s already there. Now we’re getting muddled, which is why metaphors are so useful, but we’ll get back to that. What’s important to note, here, is that software development is even difficult for rocket scientists. The Russian module that docked with the International Space Station (ISS) last week inadvertently fired it’s thrusters post-docking, knocking the ISS out of position.
Yep, if you haven’t yet read about one of the most serious events in ISS history, you’re about to get caught up. From Gizmodo:
“At around 12:34 p.m. EDT, some three hours after docking to the ISS, the newly arrived Multipurpose Laboratory Module (MLM), or Nauka, began to fire its thrusters. As a result of this unexpected propulsion, the station lost its attitude control, causing it to drift at a rate of around half a degree per second, as ISS program manager Joel Montalbano explained at a NASA press briefing held yesterday. In total, the surprise boost caused the space station to shift by around 45 degrees, mostly in pitch.
Russian flight controllers reacted by switching off Nauka’s thrusters. Thrusters on the Zvezda module and a docked Progress cargo ship then brought the space station back into its normal position. Attitude control was regained at 1:29 p.m. EDT, according to NASA.”
Everything is back in order and nothing has happened since the incident. As scary as it sounds like it was, it could have been far, far worse. Thankfully, the crew acted quickly and there seems to be little to no damage to the ISS. According to the article, Vladimir Solovyov, the flight director of the Russian segment of the ISS, said a “short-term software failure” caused the problem. Apparently, a “direct command was mistakenly implemented to turn on the module’s engines for withdrawal, which led to some modification of the orientation of the complex as a whole.”
When we say that computers are hard and liken software development to construction in some way, it’s not just because both involve building something. In construction, when you make a mistake, someone will pay the price. Whether it’s an injury, an electrical fire or something as innocuous as shoddy workmanship that doesn’t actually cause a problem but is annoying. Most of the time in software, the problem that arises doesn’t put someone’s life at risk. But there are cases where it does, and this isn’t the only one. Healthcare software glitches can be life or death. Accounting or law firm glitches may not be life-threatening, but can certainly cause life-altering results.
If software designed for Russian astronauts, something that very likely went through an incredible amount of testing prior to being used, can still cause a problem, then no one on planet Earth should be shocked when their own software does the unexpected. It also highlights the difficulty around software development in general. We are talking about some of the top technologists and scientists in the world, who have shown us that even they are human.
Business owners and business leaders, when you’re looking to develop software and don’t want to bog down your in-house team, understand that the process is not nearly as simple as you think it is. It’s also important to remember that while everything you want to accomplish might be possible, you can’t rush software R&D. You must listen to the developers, they are the experts, and understand that every project has setbacks, every project changes along the way for one reason or another. This is a process, and it takes time to be done correctly.
Computers are hard. That’s why we recommend hiring an expert to help with intricate technology projects. Digital transformation, cloud migration, security protocols, incident response, etc. Don’t bury your internal team, which is probably already burnt out, with these extra projects. Bring someone in who is fresh to make sure your business stays protected and secure throughout the process.