Growing Software complexity: standard vs special equipment
Salvatore Scafidi Polino
Sales Director | Delivering both excellence and profit
We all know or read somewhere Software will grow exponentially and this article from McKinsey exemplifies that well and also suggests a pro-active and reactive model to cope with that.
Knowing that and knowing under which pressure product development happens how to cope with it, then?
Is complexity coming from more features to be implemented via Software?
Yes for sure, still the real hurdles can sit into integrating those extra features at different safety levels with different life cycles into a system that needs to be secure and available.
This simple statement requires a strategy to be taken. Will you go for a dedicated specific build of your system that outperforms competition (e.g. Heterogeneous systems with specificity all over: specific HW, specific SW, Specific components) or will you go for the more standard platform that can be found (e.g. general HW, General SW plus tailoring).
If the special dedicated solution is selected, it is like you go to a tailor for your new suit: most likely it's high performing but you will get it at higher cost and will take longer to be done. You have a restricted selection of possible suppliers who understand your needs and can deliver on time on expected quality. Maintenance will likely need to be done by the initial supplier
If a most standard solution is taken, it's like you buy an off-the-shelf suit and make corrections to your specific size and shape. Cheaper, faster but less performant. Still, most likely you have a broader selection of suppliers who can provide you with the off-the-shelf and the customization, not necessarily the same. Competition among off-the-shelf manufactures ensures fast evolution of the off-the-shelf product. No lock in for maintenance
This article below from #bloomberg tells about the first x86 multicore based system that provides safety certified processing solutions.
Who would bet on x86 machine (the same that runs your PC) to be able to make such a specific accomplishment.. like flying a civil jet?
Whom will select this platform most likely believes more into the general platform approach and show the level of tailoring you can make by using a semi-standard computing machine.
Nonetheless, most industries and above their leaders are far from practicing "standard is a better starting point" and prefer to push towards specific custom solutions built from the ground up, above all in the embedded world.
IT had to cope with Software Complexity a while ago and happily and successfully adopted the approach of going for an as much as possible standard set of solutions accepting to deliver value more at application level.
We saw recently already many attempts in the embedded world to move to standards, both for Hardware and Software.
Many of them failed for lack of support and adoption by the specific industry. Most likely because no consensus was found. Most likely still embedded leaders are confident to fight and win on their well-deserved built advantages and prefer to retain their tailored solutions to solve specific problems.
Now this is fine and I believe there will be always specific problem better solved by specific solution, but with the advent of this new complexity for software and time to market almost consumer-paced I am confident the fight will move one level up and standardization and reuse will pay dividends to whom adopt them
An example:
Why does a System need to be built from scratch when Software can be reused most likely from other industries.
Automotive industry is a good example: OeMs are re-organizing them-self in order to break down Vertical Business Lines built around product-silos. We saw that a while ago for mechanical parts: engines, mirrors, seats, chassis shared across model and brands. But metal and plastic is easier to understand.
How about Software? OeMs starts understanding building\buying an Operating System (e.g. Linux) for an IVI, for a Cluster, for a Telematic Units is like paying for buying 3 times the same thing, which by the way brings no tangible revenue (e.g. I pay for my app in the car I don't care for the Operating System).
Now think whether the OeM could share a software platform across different Compute Units in the car, across many models, across different brands, across the globe.
Even bigger: what if instead the Operating System were the same used across multiple industries.
Yes, the starting point of an IVI, Cluster, TCU, Gateway, Antenna being the same Linux or RTOS that Avionic, Industrial, Medical use.
What benefit would bring to one single company to adopt one Linux (for example) that is adopted by many other industries, then?
This sounds crazy to people in Automotive. Everything in Automotive is custom
But yes, more in general, off-the-shelf commercial Software can help coping with Growing Software Complexity in all industries.
Solution Marketing Director
5 年Hi Salvatore, very good article !