The MCAS system didn't fail. It operated exactly as it was designed, it received faulty sensor data which in turn flew the plane into the ground.
> Bugs in software happen because situations where they arise are sometimes hard to predict.
Everything that cause MCAS to drive the plane into the ground was 100% predictable and testable.
There are two basic problems. The first, is that the people that thought MCAS was a good idea in the first place are incompetent. The second problem is the people that designed and implemented the MCAS system were even more incompetent.
Idiots managing idiots, and if I was the CEO of that company, that system would have never been allowed in the first place.