Let me share my ideas about this.
In our company, we use agile programming methodology for RPA projects. So we have sprints defined and the work is allocated based on those. Additionally, we use source control systems like git hub for example to maintain the code that developers work on.
In repositories, we maintain different branches for production, test and development. At the end of each sprint deployment, we take a copy from production to add it to development branch. So all developers start to work on the next sprint with a fresh copy. Each developer then use their own branch to work on stuff. This enables us to easy integration of work as and when they finish. When deploying, we finalize the worked solution and add them to test and production branches separately. We follow some procedures to it.
This is how we manage continuous integration and continuous delivery.
For your next question, yes we can have separate developments and late integrate them. We have to have good programming and design practices built in when developing code which also helps us to manage this. This also comes as a part of enabling unit testing of each part of code each developer works on. To add to that, use of source control software also helps to manage it