“Over The Air (OTA) updates have brought down the SW quality"
A couple of months ago, I was discussing with a Senior manager (and close friend) in SW Quality and what he said about OTA shocked me. This cannot be true, I said to myself. There are definite benefits to using OTA and one of the foremost is the cost saving that this functionality brings to the table for OEMs. I started thinking about the benefits and could immediately list down the below.
- Reduction in cost of updating software
- Ease of use
- Ability to migrate to the latest and greatest feature that the OEM offers
- Last but not the least, address safety security concerns in a timely manner
How could my friend be so wrong about this wonderful functionality? The SW upgrade of Tesla is one shining example of how OTA could be effectively utilized to not just provide a wonderful user experience but also could be used to increase the bottom line of an organization itself. With confirmation bias setting in, I had to reset my thinking and consider the flipside of OTA. There cannot be any such disadvantages, I told myself!
The other night, I was watching a circus show in TV and one of the acts that was being performed was the trapeze. For the uninitiated, trapeze is where the performers climb a tall ladder and do their stunning acrobatics in mid air. The first thing that I started thinking about was the coordination between the artists and the amount of practice that would have gone into achieving this level of perfection. The other thing that also caught my attention is the presence of a safety net below the artists. The consequence of a small mistake in trapeze is high and could even be fatal without this safety net and it became clear why it exists there.
I started wondering on how the audience would feel about the performers if they constantly missed their act and often fell into the safety net. I don’t know about others, but I would ask for a refund of my entrance fee to the organizers of the circus. I expect a certain degree of performance when I go buy a ticket to watch the circus and performers regularly not meeting that expectations would lead to disappointment.
Then it dawned on me. OTA is the safety net for software! As much as we would like to use OTA to fix bugs as when they arise, it should not be used as a substitute for due diligence that is required when designing our SW. People who buy our cars do so with the expectation that the SW in it works as expected. As much as we expect the circus performers to practice and fine tune their skill before the actual show, it is imperative that we place the same kind of expectations on our SW developers. We expect our SW developers to learn, understand and internalize the SW engineering best practices. These practices have shown time again the quality improvements that come from following them. OTA should only be used when there is a genuine mistake and cannot/should not be used for lax, lethargic SW engineering practices.