I used to be a quality assurance analyst with one of the leading software engineering companies in the Philippines. In that industry, it is a known fact that defects in the application become increasingly difficult and costly to solve the closer it gets to a production or live environment. So imagine the horror on the faces of Subaru top management when they discovered that some of the brand’s cars had been built with factory equipment that ran on faulty software.
The car in question is the Subaru Ascent SUV. Produced in Subaru of America’s Lafayette plant in Indiana, the Ascent is the Japanese carmaker’s reentry into the hotly contested seven-seat crossover SUV market in the United States. The spiritual successor to the Tribeca has sold well since its release in July this year. However, the unfortunate discovery will highly likely put a dent in the reputation of an otherwise excellent product.
Subaru first uncovered this flaw on its production line in late July during a routine spot check on a newly built Ascent. Detailed inspection of the sample vehicle revealed several missing spot welds on the unibody shell. The ensuing investigation by Subaru found 293 Ascents built between July 13 and 21 to have similarly shoddy spot welding. The cause of this shameful workmanship? Bad software code on the robots doing the welding.
Spot welds are crucial in maintaining the integrity of a vehicle with a unibody construction. The monocoque shell is the car’s entire load-bearing structure. Any faults in the assembly of this shell reduce the structural rigidity of the car, especially in a crash. It is for this very reason Subaru will be sending all of the 293 flawed Ascents to the crusher. According to the recall notice sent to the National Highway Traffic Safety Administration, “there is no physical remedy available; therefore, any vehicles found with missing welds will be destroyed.”
But issues with software just like this one are very rare. Any software product or application intended for commercial use must go through a software development life cycle. SDLC is a standardized process for planning, creating, testing and deploying a software product. Within each phase of the SDLC are quality control sub-processes that safeguard the program code from mistakes due to human error and non-compliance with business requirements. Ideally, bugs and defects discovered early in the SDLC are easier and less costly to weed out.
Non-adherence to the SDLC generally increases the exposure of the finished product to the risk of malfunctions, which are very difficult to rectify in the production environment. Not to mention the high price of repair and rework. The code errors within the robots of the Lafayette factory have cost Subaru all of 293 Ascents. With each Ascent having a base price of $31,995 (P1.74 million), that’s a very expensive pile of scrap metal.