This comes down to the needs of your team. If you only have one development system, and you are comfortable developing on the SoR then you are free to do so. As the scale of the application grows and there are more teams contributing then there may be benefits to having each team develop on their own system and push changes to the shared SoR as they complete their work.
Once you are using development environments seperate from your SoR it becomes essential to migrate the branch to the SoR and queue the pipeline in some way. If you are on version 4.4 of deployment manager or later this process, and it's configuration, is fairly seamless.
Please let me know if you have any more questsions.