TheSeg
Well-Known Member
- First Name
- Seg
- Joined
- Oct 5, 2020
- Threads
- 9
- Messages
- 287
- Reaction score
- 653
- Location
- San Francisco Bay Area, CA
- Website
- seg.fyi
- Vehicles
- 2021 Mach-E Premium EB-RWD (Built: Feb 2021)
- Thread starter
- #1
As a software developer and growing up with @Ford Motor Company, I'm concerned Ford's current approach to software development is not actually conservative. At best Ford's current approach is ignorant. At worst, irresponsible.
A lot of the talk of Ford vs. Tesla OTAs is a conversation of the speed of releases. Not enough time for testing before release absolutely reflects on final product quality. However, the ability to consistently maintain and release software - the release rhythm - is equally important to software development and product support. I believe Ford's software release rhythm is not a result of the rigorous testing and reliability, but an inability to release software in a consistent and timely fashion. Hiding problems within the process, rather than identifying and addressing issues.
Release Rhythm
While interconnected, the time to develop a release is different from release rhythm. Rhythm is how often a release is regularly distributed to the product. The less frequent the rhythm, the more disruptive a release is to the entire support apparatus for a product.
To explain, I'll use Semantic Versioning terms as they apply to iOS development. This can apply to most professionally developed software, but I'm picking an OS tied to a hardware device to better align with car development.
Semantic expresses a version number as
Ford's release rhythm isn't a rhythm. Nor is it semantic in any conceivable way.
What software versions are running in you personal Mach-E right now?
Do you know if there's updates available for the car? If so, are you even allowed to update?
If you received "Power Up 1.6" followed by "Power Up 1.4", you know the numbers in update notes are useless in explaining the current state of your Mach-E.
Why is the development and approval of software completely separated from the process of release? If the company is confident to release via service centers, why is it not considered ready for OTA? When an OTA is released, why is it a rollout over cars taking weeks? If it's not ready for all cars, why only let some out at a time?
I don't have insight to what's going on at Ford, but for the life of me I can't think of a valid reason to have two competing release channels for the same software release package. Each path with vastly different states within the channel.
Support Problems
The only user accessible status is the Sync software build number, which is not actually any status of the car or the components. There's the shortcut to the diag screen, but the data isn't a complete picture and only if you're "in the know" of the feature.
When you roll up to a service center, it may take the tech hours to update due to the required battery procedure for updating a car. A lack of locally cached update data or high-speed Internet further complicates the problem. All of which disincentivises the tech from standardizing the car to the latest release. Resulting in known fixable problems and available features not delivered to the customer.
The "conservative" software development in practice means Ford is in the dark of identifying and solving software problems. Nor is Ford in the position to deploy a patch for P0 problems in a reasonable amount of time. The result is a wide assortment of possible combinations of production software versions that no one can track or standardize. The software stack Ford is testing will never be the conditions your car will be, present or future. The 1.7 update of today may not reach you till after you get 1.10.
Imagine how easier it would be for service centers if basic updates were the same as OTAs? More so if local file updates (download to a USB stick, then update car) were possible. The security needed are solved problems that make professional support folks focus on real technical service. Not busy work bogging down the shop, reducing capacity for servicing more cars, which reduces income for service centers. All because OTAs don't work consistently.
This week, Apple will announce iPhone 13 and (possibly) Apple Watch. The next iOS (and watchOS) will be out just before supporting devices from the past six years (iPhone 6s) and four years (Watch gen 3) respectively.
Ford released to customers the GT with software destined for the rest of the Mach-E line... at some point. As if only iPhone 13 could get iOS 15 for months ahead of every other device. If you think a car shouldn't be expected to have this type of long tail support line, then an iPhone's six year lifespan is longer than our cars.
Solving the Problems
The problems I highlight are not rested at the feet of any individual developer at Ford. In fact, my concerns are in part for a better work environment for the Ford team as a whole. What I point out are ultimately management issues. While I'm hopeful the recent hiring of Doug Field will help guide the company, one person alone can not change the tide. The intersection of the advances of software development can benefit not only the @Ford Motor Company, but the dealerships, the service centers, suppliers, and most importantly the customers.
I love how my Mach-E drives. It's the best car I have ever experienced with Ford in my entire life. It falls flat when I see folks around me choose Tesla above Ford when I can't reasonably demonstrate a better total experience than what Tesla provides them. A lot of good people worked on this car, and I want their work to shine. But we're not there yet. And I worry not enough folks in the Glasshouse realize this. Or don't listen to the folks inside the house saying this.
About Me
My software development work crosses education, entertainment, marketing/communication (MarCom), and retail sectors. My father worked for Ford though out my childhood in Dearborn (and a few years with Ford Aerospace in Newport Beach, CA). I gained a lot of personal prosperity though Ford, and I want to see the company succeed in bringing that prosperity to the current Ford team by creating quality experiences to Ford customers.
This started as a reply to a post, but then developed so large that I decided to make a new thread. I... have opinions...
A lot of the talk of Ford vs. Tesla OTAs is a conversation of the speed of releases. Not enough time for testing before release absolutely reflects on final product quality. However, the ability to consistently maintain and release software - the release rhythm - is equally important to software development and product support. I believe Ford's software release rhythm is not a result of the rigorous testing and reliability, but an inability to release software in a consistent and timely fashion. Hiding problems within the process, rather than identifying and addressing issues.
Release Rhythm
While interconnected, the time to develop a release is different from release rhythm. Rhythm is how often a release is regularly distributed to the product. The less frequent the rhythm, the more disruptive a release is to the entire support apparatus for a product.
To explain, I'll use Semantic Versioning terms as they apply to iOS development. This can apply to most professionally developed software, but I'm picking an OS tied to a hardware device to better align with car development.
Semantic expresses a version number as
MAJOR.MINOR.PATCH
. The current release version of iOS is 14.7.1
. MAJOR
(14
) and MINOR
(7
) are scheduled releases. MAJOR
happens once a year, MINOR
roughly every two months. This builds into the entire company the expectation of releases happening at these intervals. Not just releasing the software, but other areas of the business from MarCom to the most important: Product support.PATCH
is reserved for the unexpected releases. Bug fixing for cosmetic, quality of life, or most importantly security. Their very nature is unplanned as it's fixing issues discovered after release. The smarter managers schedule teams to be ready to react to these problems. Then one can cut the patch release and deploy that fix as soon as safely possible. While the release is unplanned, the regularity of releases makes deployment normalized and easier.Ford's release rhythm isn't a rhythm. Nor is it semantic in any conceivable way.
What software versions are running in you personal Mach-E right now?
Do you know if there's updates available for the car? If so, are you even allowed to update?
If you received "Power Up 1.6" followed by "Power Up 1.4", you know the numbers in update notes are useless in explaining the current state of your Mach-E.
Why is the development and approval of software completely separated from the process of release? If the company is confident to release via service centers, why is it not considered ready for OTA? When an OTA is released, why is it a rollout over cars taking weeks? If it's not ready for all cars, why only let some out at a time?
I don't have insight to what's going on at Ford, but for the life of me I can't think of a valid reason to have two competing release channels for the same software release package. Each path with vastly different states within the channel.
Support Problems
The only user accessible status is the Sync software build number, which is not actually any status of the car or the components. There's the shortcut to the diag screen, but the data isn't a complete picture and only if you're "in the know" of the feature.
When you roll up to a service center, it may take the tech hours to update due to the required battery procedure for updating a car. A lack of locally cached update data or high-speed Internet further complicates the problem. All of which disincentivises the tech from standardizing the car to the latest release. Resulting in known fixable problems and available features not delivered to the customer.
The "conservative" software development in practice means Ford is in the dark of identifying and solving software problems. Nor is Ford in the position to deploy a patch for P0 problems in a reasonable amount of time. The result is a wide assortment of possible combinations of production software versions that no one can track or standardize. The software stack Ford is testing will never be the conditions your car will be, present or future. The 1.7 update of today may not reach you till after you get 1.10.
Imagine how easier it would be for service centers if basic updates were the same as OTAs? More so if local file updates (download to a USB stick, then update car) were possible. The security needed are solved problems that make professional support folks focus on real technical service. Not busy work bogging down the shop, reducing capacity for servicing more cars, which reduces income for service centers. All because OTAs don't work consistently.
This week, Apple will announce iPhone 13 and (possibly) Apple Watch. The next iOS (and watchOS) will be out just before supporting devices from the past six years (iPhone 6s) and four years (Watch gen 3) respectively.
Ford released to customers the GT with software destined for the rest of the Mach-E line... at some point. As if only iPhone 13 could get iOS 15 for months ahead of every other device. If you think a car shouldn't be expected to have this type of long tail support line, then an iPhone's six year lifespan is longer than our cars.
Solving the Problems
The problems I highlight are not rested at the feet of any individual developer at Ford. In fact, my concerns are in part for a better work environment for the Ford team as a whole. What I point out are ultimately management issues. While I'm hopeful the recent hiring of Doug Field will help guide the company, one person alone can not change the tide. The intersection of the advances of software development can benefit not only the @Ford Motor Company, but the dealerships, the service centers, suppliers, and most importantly the customers.
I love how my Mach-E drives. It's the best car I have ever experienced with Ford in my entire life. It falls flat when I see folks around me choose Tesla above Ford when I can't reasonably demonstrate a better total experience than what Tesla provides them. A lot of good people worked on this car, and I want their work to shine. But we're not there yet. And I worry not enough folks in the Glasshouse realize this. Or don't listen to the folks inside the house saying this.
About Me
My software development work crosses education, entertainment, marketing/communication (MarCom), and retail sectors. My father worked for Ford though out my childhood in Dearborn (and a few years with Ford Aerospace in Newport Beach, CA). I gained a lot of personal prosperity though Ford, and I want to see the company succeed in bringing that prosperity to the current Ford team by creating quality experiences to Ford customers.
This started as a reply to a post, but then developed so large that I decided to make a new thread. I... have opinions...
Sponsored