@acelaya Another option I've attempted myself is to put virtually all the code into dependent Composer packages. If there's nothing not-in-composer to update, then a composer-update will do everything.
That helps, I think, but sadly does have an upper bound on what you can move out of the main app. And requires someone have composer installed.