Different methods to handling development contention?

This really is a broader question as I'm interested how people are handling development contention.

We have several developers all being tasked with building new initiatives as well as trying to handle all the work related to portal migration (old => Angular). This is also deployed up 4 environments with strict controls over code promotion.

Because so many things are being touched, and client priorities keep changing, there are often instances where different developers need to alter the same object in different ways. This in turn can quickly lead to transporting issues and possible code reversion.

For us, I don't see it as realistic to be trying to continually discuss what objects we're touching in the system (we have enough meetings as it is with little time for productive work), and often we won't know exactly which objects until we get into it.

I'm interested how people tackle this and handle these kind of conflicts. Whether this is technology or processes or something else. Also interested if One Identity have been reconsidering their Transport processes/code management, especially in light of a lot of tasks being moved to Web Based from Fat Clients.