From what we know about the 737 MAX issue so far, the software not performing as specified was not one of the causes. The article's jump from "these accidents cost lives and money and can be resolved by a software patch" to listing tools and processes that ensure software behaves as specified, seems unjustified.<p>Even the idea that a good software engineer would have caught the problem in the specification seems far fetched. The MCAS software was designed with a low impact (small individual corrections, small maximum total correction) that would have appeared safe to anyone, and those constants were increased later on. Do we expect good software engineers to second-guess changes in physical aero constants coming from aero engineers?