Welcome to Tesla Motors Club
Discuss Tesla's Model S, Model 3, Model X, Model Y, Cybertruck, Roadster and More.
Register

Evil Plan for Dev Team

This site may earn commission on affiliate links.
I've said this before a couple of times. It seems like their dev teams are all one group, so that the interface guys are the same programmers that do the auto-pilot software. From a proper dev standpoint, they really need to split these guys/gals into two groups. Either have a strictly auto-pilot group or do a driving dynamics group and then an infotainment group. But here is the truly evil plan that would allow:

You restrict all the driving dynamic stuff in the SDK before you release it so that 3rd party developers can only touch all the stuff that wouldn't necessarily kill you if it went wrong. Then you shrink your infotainment group down to just a bug check/software verification team (maybe leave the weird guy with the crazy ideas and machine-like programming skills). You let all the 3rd party guys make the software, add the bells and whistles people want, track change-logs and progress, and you sit back with your coffee and make sure there aren't any glaring memory leaks or performance issues. Basically I've just described a app store.

All that being said, I only have some inkling of the pressure/deadlines that the dev team is under. Despite a slow/weird release of features (who wants car naming before playlist support???), I think they've done a fantastic job checking off some big ticket items from the list or at least start to chip away at some of them. I'm looking at you TripPlanner and backup camera lines.

I truly wish that as owners, you could email that department directly for kudos. I understand opening them up to the public for bug fixes and feature requests would be a terrible idea unless you only did it for a few owners who were beta-testers and had software dev experience.
 
I completely disagree!
It is the separation of dev teams that leads to the total lack of communication between teams. They all need to be talking together and collaborating in order to bring the best quality experience to the user.
Plain and simple.

Like most things, it's usually not that simple. Such an approach only works until you reach a certain team size, at which point all the developers stop paying attention to emails/discussions because 95% of the contents have no bearing on anything they're doing. Most modern development methodologies like Agile attempt to limit team size to about 10 where possible. Some companies are effective with teams as large as 25. Much larger than that and all but the most well-coordinated development teams are going to struggle to communicate effectively. It can be done, but it's not easy and it takes time to develop something that works as a firm. With Tesla's massive growth, I don't know how well that's been handled. Certainly all their software projects seem to be substantially later than expected, so that might be a good sign they haven't yet settled into something that works for them.
 
I completely disagree!

It is the separation of dev teams that leads to the total lack of communication between teams. They all need to be talking together and collaborating in order to bring the best quality experience to the user.

Plain and simple.

Interesting, because that's a big reason to suggest it. I understand it's probably more complicated, but the two areas I mentioned should be more mutually exclusive, therefore, could benefit from the split. We aren't talking about systems that necessarily need to communicate; driving dynamics/infotainment. As long as the interface skin is applied uniformly, I'd say it's worth a try. And offloading app development with strict guidelines is a great way to get 3rd parties to make strong, reliable solutions with features people actually want, more quickly. And plus, you can still meet the niche needs of people who need something specialized by creating a market of people willing to pay.
 
No offense to the teams then, but why do infotainment updates/big fixes seem so slow and why is there no SDK released? Is it a matter of man power?

I think you answered your own question upthread:

All that being said, I only have some inkling of the pressure/deadlines that the dev team is under.

If you have dev experience, you know things are much more complicated that it appears to observers on the outside. Easy for us to say 'they ought to do THIS!', but until we're sitting at that desk, we can only guess (at best).

The teams, while separate, share an open environment. There are no closed offices. And as Nigel has pointed out, there is a new head of software, Robert Rose.
 
I noticed that Robert Rose (ex-Vicarious, ex-SpaceX) recently joined Tesla as Senior Director, Software. Bringing in a new head usually brings upheaval, but it's likely a good sign for future developments.
Interesting... his last job was at Vicarious ...
"Vicarious is bringing us all closer to a future where computers perceive, imagine, and reason just like humans." - Peter Thiel
 
I think you answered your own question upthread:

If you have dev experience, you know things are much more complicated that it appears to observers on the outside. Easy for us to say 'they ought to do THIS!', but until we're sitting at that desk, we can only guess (at best).

The teams, while separate, share an open environment. There are no closed offices. And as Nigel has pointed out, there is a new head of software, Robert Rose.

Which brings us back full circle yet again; release the SDK and free up some of those developers. Just make sure the driving dynamics is segregated out and that your existing devs have the time to vet the code being put out by third parties. I know it's a can of worms, but I'm even imagining a TMC app development team that submits an infotainment version to the dev team as one submission, complete with documentation, changelogs, etc. You gather feature requests on here, prioritize, let some of us start to knock them out and maybe even give an ETA on certain more complex features. There is a certain amount of trust involved, and you'd have to write good clean code since the Tegra3 can't allow for anything sloppy. Then as an owner, you opt-in to Tesla for this release branch in your update schedule. They verify that you know what you are getting into, and off we go. I'm certainly not suggesting Cyanogen Nightlies or anything like that. But an every 2 week / 1 month release schedule would really further the application development and take a load off the existing team.

It's unorthodox to be sure, but Tesla isn't exactly orthodox.
 
Which brings us back full circle yet again; release the SDK and free up some of those developers. Just make sure the driving dynamics is segregated out and that your existing devs have the time to vet the code being put out by third parties. I know it's a can of worms, but I'm even imagining a TMC app development team that submits an infotainment version to the dev team as one submission, complete with documentation, changelogs, etc. You gather feature requests on here, prioritize, let some of us start to knock them out and maybe even give an ETA on certain more complex features. There is a certain amount of trust involved, and you'd have to write good clean code since the Tegra3 can't allow for anything sloppy. Then as an owner, you opt-in to Tesla for this release branch in your update schedule. They verify that you know what you are getting into, and off we go. I'm certainly not suggesting Cyanogen Nightlies or anything like that. But an every 2 week / 1 month release schedule would really further the application development and take a load off the existing team.

It's unorthodox to be sure, but Tesla isn't exactly orthodox.

Well gosh, sure seems like you know exactly what they should be doing. Perhaps they'll reach out to you directly :).
 
No offense to the teams then, but why do infotainment updates/big fixes seem so slow and why is there no SDK released? Is it a matter of man power?

For what it's worth at an event I spoke to somebody who was involved with the development of the infotainment software asking about an SDK, and the response, while qualified with the possibility that things have changed since they left, was that their thinking was more along the lines of partnering with content providers and integrating them into Tesla's UX/UI.
 
Well gosh, sure seems like you know exactly what they should be doing. Perhaps they'll reach out to you directly :).

Listen, just because they are Tesla, doesn't automatically make everything they do right. That's a very common myopic view shared on here. The counter to it, is the armchair owner/model 3 fanboy that thinks they know better than a multi billion dollar company. The challenge to make them want to be a better company and release a better product comes from those somewhere in between.

As Cave Johnson said, sometimes you just have to throw something at a wall and see what sticks. That's science.

- - - Updated - - -

For what it's worth at an event I spoke to somebody who was involved with the development of the infotainment software asking about an SDK, and the response, while qualified with the possibility that things have changed since they left, was that their thinking was more along the lines of partnering with content providers and integrating them into Tesla's UX/UI.

I'm more than ok with that.

My first choice is I make a suggestion, Tesla incorporates the feature. My second choice is Tesla gives me the tools to do it myself. The third choice is I pay a content provider/partner to give me that feature.

In all three options, I get what I want. And at the end of the day, that's what counts. Because that's what makes me want to buy another, and tell others to do the same.