We've all seen the recent headlines: the 2014 crash of Virgin Galactic's experimental rocket, the recall of Jeep and other Fiat Chrysler vehicles. One had fatal consequences, the other easily could have… and might still if customers fail to update. Both stories have one commonality: the human factor. Both raise questions such as, "could better design and testing processes have prevented or mitigated the result?"
The Human Factors
There seem to be 2 major human factors in product/system design and testing... and many stories about failures seem to involve them.
Not designing with "The Bad Guys" in mind. Fortunately, the Jeep vulnerability was discovered by "The Good Guys", not “The Bad Guys”. But it could easily have been the other way, with drastic consequences. The impact for the company was still not good: 1.4 million vehicles recalled.
Human Error. The 9-month long investigation attributes the Virgin Galactic spacecraft crash to an error by the co-pilot, who prematurely unlocked the ship’s "braking" system with fatal consequences.
Designing, engineering, and testing for these factors is a huge challenge faced by innovators today. The inherent difficulties are exacerbated by:
Competitive pressures to innovate and bring innovations to market.
Disparate toolscapes in which hardware and software engineering still mostly take place in silos, with neither side having a clear picture of the entire process, the commonalities, and the dependencies.
Designing and Testing With “The Bad Guys” in Mind
Simple and obvious: “The Good Guys” are not “The Bad Guys”. The inherent difference in human mindset will always make it difficult for the one to guard against the other. Here is where extensive and rigorous testing and information across projects become important. Would Jeep have preferred that its own testers discovered the vulnerability before it was released to the market and made headlines? (Does a bear sleep in the forest?)
Outsiders can't say for sure, but it's pretty easy to suspect a combination of time-to-market pressure combined with disparate design, development and testing landscapes for the entertainment and vehicle control systems. There’s no magic bullet, but converging product lifecycle management (PLM) and application lifecycle management (PLM) under one overarching umbrella ecosystem has the potential to deliver significant improvement over the present state of things.
Users Who Find Bugs Should Live to Tell the Tale
Preventing human error may be the toughest challenge of all. In the case of Virgin Galactic, the NTSB found that the spacecraft manufacturer didn’t consider the possibility of a pilot unlocking the feathering system too soon. Could they have built a system that sensed the conditions and at least warned the user? Of course. Easy for us, the armchair pundits, to say after the fact.
The expectation was, of course, that the user would be highly trained and skilled - as was the case. But no matter how visionary our design, no matter how rigorous our testing, we can never actually anticipate how a user is going to act in the heat of the moment. We can only try to make sure our development tools and processes and our testing are all as well managed and robust as humanly possible to minimize the possibility of error.
Why We Do What We Do
Here at Polarion Software, these and other headline-making stories over the past couple of years remind us why we do what we do. Of course, like any business, we’re in business to make money. But we also see that our “since Day 1” vision of a unified platform that brings all phases of the application lifecycle under a single umbrella is enabling our customers to better tackle today’s design, engineering, and testing challenges to deliver innovation, quality, and safety. We also realize the importance of our “going forward” vision of converging ALM and PLM into a single overarching “umbrella” ecosystem that brings similar benefits across the entire product development spectrum. Creating such an ecosystem may ultimately help companies save not only money, but lives. And that’s something we feel good about working toward every day.