I once worked on a very large mobile banking app which consisted of a main app module which consumed over 15 library modules. Each library module was held in a separate repository and built independently. Integrating library module changes into the app was a painful process. I would often work on 3+ modules at a time to implement a large feature or refactor, each on a separate android studio window. Until I discovered composite Gradle builds.