I do this in-person, and also with tools, technology, and documentation.
What I have observed..
Firstly
There is an historical divide and a sense of importance on the part of both disciplines. Each thinks they should have priority.
Secondly
In a Start-up or any company that is working like a start-up to get a product off the ground, we build for MVP and we use Generalists/T-shaped people and we work expediently with a flexible process.. ever heard of a JFDI?
When teams grow and products scale, we tend to hold onto this expedient way of working, because stakeholders do not want to give up the rush of getting what they want ASAP.
Nobody really wants to slow down in order to perform user testing, or implement a healthy process between design and engineering - we have formed bad (although appropriate once upon a time) habits and it's not expected that you will say 'no' upwards.
Thirdly
Having worked expediently, there is likely design and technical debt, this cripples the ability to form processes / better habits because there are almost always things to fix, and changing to a more considered process starts to look expensive when there are alway live bugs to fix.
Finally (Although probably not)
When a way of working needs to change, it is very, very hard to not sound critical of the work that has gone before.
No matter how I have approached it, whether I've met with groups or individuals, if I've been soft or stern.. People are sensitive and resistant to change, and if you are unlucky they will collude and actively work against the effort.