Is this another sign of how bad japanese hardware-oriented companies and organizations are at doing software? Like the organisational software crisis at Toyota?
Or was it a fluke?
Two things to keep in mind:
* Don't compare JAXA (or anyone else) to NASA at this point. We (the US) have a ton of experience, some of it bought the hard way.
* This isn't Japan's typical performance. They have a nice string of very good space science missions. And don't forget things like the Mars Climate Orbiter[1], where ground based commands sent it through the atmosphere due to a unit mix up.
I suspect it has to do with the scale of integrators in the country being much smaller, and lacking in terms of B2B collaboration.
There are some jewels here and there, though. It's probably just a matter of culture. Maybe they're also somewhat isolated from the English and Chinese language leads in software development. I don't think Japanese English language education is very effective. Their popular courses likely don't leave an individual comfortable with technical reading in English.
Why?
The spacecraft then automatically switched into a safe
mode and, at about 4:10 a.m., fired thrusters to try to
stop the rotation. But because the wrong command had
been uploaded, the firing caused the spacecraft to
accelerate further. (The improper command had been
uploaded to the satellite weeks earlier without proper
testing; JAXA says that it is investigating what
happened.)
Going into safe mode is a thing. It happens with NASA stuff, ESA stuff, whatever. The spacecraft failed to stabilize and went into safe mode, and that's proper. Whatever glitch in the systems, this would have saved it and allowed for recovery.But the uploaded command to shed rotational velocity was wrong. This is what caused the loss of the spacecraft. I'm sure there will be a pretty heavy postmortem on how this happened.
All the available testing programs in the world doesn't matter if the tests aren't run.
As far as I understand it, Satellite design is all about cramming the most amount of features in as small and light a package as possible. That would mean a lot of tight coupling and a hard time standardizing anything across different types of satellites.
Lots of these subsystems can be tested in a pure software simulator. Esp when it comes to faults.