Most companies are software companies - with software involved with most of the products and services provided by those companies.
For most of the life of the Model S and Model X and for the entire life of the Model 3, the software environment was relatively simple, with only one basic system configuration being supported on all vehicles with minor differences based on hardware configuration.
In this relatively simple environment, at times Tesla struggled to distribute software without also including obvious design flaws and bugs - a trade-off between frequent smaller release vs. infrequent larger releases. And Tesla hasn't made much progress in addressing this challenge since the first Model S rolled off the production line almost 8 years ago.
And now we're in a much more complicated environment. Most S/X vehicles have the older MCU1 processor - which is not software compatible with the newer MCU2 processor used in all Model 3's and newer S/X. S/X vehicles have several versions of AutoPilot hardware, which is not software compatible with the hardware in Model 3's and the newer S/X. And Tesla has made the understandable decision to focus development on the current hardware, providing increasingly fewer features on the older MCU1/AP1/AP2/AP2.5 vehicles.
Tesla vehicles and Tesla's energy products rely heavily on software. While Tesla's products are vehicles and energy production (solar) & storage (batteries), it's the software that implements most of the key functionality (such as how to protect the batteries).
As a company heavily reliant on software, based on external perceptions on software quality, features and release schedules, Tesla has considerable room for improvement - and could benefit from using methodologies adopted by other companies - items such as having public betas, documenting what's actually in each software release, clearly specifying what hardware is needed for new software features, bug reporting/tracking, and likely better internal software processes.
Since Tesla has had the only viable long range EVs on the market, Tesla customers have been surprisingly lenient on Tesla's software functionality releases and quality. That may change if another manufacturer figures out how to bring a competitive long-range EV to the market (which hasn't happened yet, but could happen any time now)...