I think another lesson here is to consider failure modes and how to keep as much as possible working when a component does eventually break. For example, designing so that after the batteries die the satellite can still work without them when in sunlight (like AO-7 eventually did). Or maybe a way to switch uplink or downlink frequencies if one radio breaks (for example if AO-95 could use L-band in lieu of UHF). Of course with a small cubesat there's not a lot of room for redundant systems, but now that so much is done in software it might be easier than in the past.