Just echoing some of my experience managing software teams - It seems to me that the M3 software is a relatively small, highly internally interdependent project, where tiny changes in many places can have all sorts of repercussions all around, surrounded by a large list of quite independent functionality .
By repercussions I mean, for example - if one "fixes" the behavior of lock/unlock in the garage as suggested in other threads, you may unacceptably 'break' it for those that park just outside their house. Changing if/how/when one reacts to wifi/bluetooth events may change car wake-up events, etc. Changing if/when one detects wifi may affect OTA schedules or AP uploads. etc.
Usually these highly cohesive things are best managed by a small dedicated team that has enough leeway to work hard but move slow (from a 'feature delivery perspective) refactoring the code massively as their own understanding of the domains and their interdependencies evolve. This is the team where typically more people won't help. Also where you want a few great engineers, not a bunch of average engineers.
It does seem, however, there are a lot of satisfaction issues and nits with peripheral stuff. (E.g. bluetooth audio resume) which seems highly parallelizable and incrementally solvable. Or side effects/bugs created by past code design that should've been caught in QA eg: (many car management in app -> "active car controller" pattern-> M3 unlock won't work if car isn't selected as the controller reacting to BT events )
So from my observation I would agree, it seems that the team could use a bit more help (not necessarily in quantity of bodies, but maybe some heavier weight software engineers, and not just 'developers' but QA folks doing acceptance and scenario testing too)