It has become commonplace to solve hardware problems with software. But many times it is not for heroic reasons, it's because hardware is cost-reduced.
I'm not sure I'd agree with that at all. On the surface of this planet software is used to simulate hardware as it's much quicker to iterate on a design.
In space, however, you can only run the hardware in it's destined environment once. Software is critical to the design process regardless of the HW costs.