You get a new phone and then what happens? Software update. And later? Another update. But it is JUST a phone. But were this aircraft flight control software should one just tap "OK" without reading the list of bug fixes, new features and updated End User License Agreement? Should it be pushed out just because some Product Manager is under time-to-market pressure? It's one thing for a software bug to inadvertently convert your phone to a spy-cam and another to have even a minor glitch in software acting as the brains of the planes.
So how did this happen? Where was the FAA? Back in the day a plane would not get into service until there was a bow on the entire package. The craft would be fully tested. Simulators would be in place. Training regimes would be defined, vetted and approved. Pilots? Trained and certified on normal operation, Line-Of-Flight Training and emergency situations. It seems software may have escaped without this level of rigor.
As we migrate important functions from tangible controls operated by human hands and a well-trained mind to software systems reasonable care for public safety suggests we expend no less effort qualifying and vetting software than the humans it supplants. We must also address issues around the humans who create this software. Are they qualified? Are their tools properly used? Are the processes complete and are they followed? Are the processes sound? Do they ensure that software is fully tested, that operation is robust and resilient, and that it is performant?
Maybe this is NOT the software that should be outsourced to the lowest cost labor pool. Maybe it is time that "Software Engineer" was more than just words people like to say.
So how did this happen? Where was the FAA? Back in the day a plane would not get into service until there was a bow on the entire package. The craft would be fully tested. Simulators would be in place. Training regimes would be defined, vetted and approved. Pilots? Trained and certified on normal operation, Line-Of-Flight Training and emergency situations. It seems software may have escaped without this level of rigor.
As we migrate important functions from tangible controls operated by human hands and a well-trained mind to software systems reasonable care for public safety suggests we expend no less effort qualifying and vetting software than the humans it supplants. We must also address issues around the humans who create this software. Are they qualified? Are their tools properly used? Are the processes complete and are they followed? Are the processes sound? Do they ensure that software is fully tested, that operation is robust and resilient, and that it is performant?
Maybe this is NOT the software that should be outsourced to the lowest cost labor pool. Maybe it is time that "Software Engineer" was more than just words people like to say.