The client (which we will call BubbleCorp from now on) had a problem that is all too common and well known in big enterprises: one massive, a monolithic application that had many unrelated business features.
Aside from making the monolithic applications move and evolve slow, as individual components can't evolve independently, such an application makes deployment incredibly difficult, due to its environmental constraints: all of the infrastructure needs to be available in order for the application to work at all.
As a result, developing new features and bug fixes involves having only a handful of development environments, each shared across dozens of developers. This makes for a wasteful amount of coordination between teams just so that they won't step on each other's toes, further slowing down the whole life cycle.
The long-term solution...