How to design the architecture of SCM for a project?
![](http://jazz.net/_images/myphoto/d656fd6e29b3fd05f08ced06d787a46c.jpg)
Hi All,
Please guide me for the best approach for designing the architecture of SCM for a project which is being developed by the teams which are geographically located with more than 20 modules like this.
Also guide me through the best approach for the change flow.
Many thanks in advance for all of you.
Regards;
Ankit
2 answers
![](http://jazz.net/_images/myphoto/d656fd6e29b3fd05f08ced06d787a46c.jpg)
https://jazz.net/library/article/525
I suggest reading that article and the links provided at the end for a guide of how to set up your project.
Comments
![](http://jazz.net/_images/myphoto/d656fd6e29b3fd05f08ced06d787a46c.jpg)
@Tim Mok
I went through the article and find it quite impressive.
But My question is regarding setting up the architecture for streams at server side.
Like We have one module over which 4 team members are working together so do i need to make one single stream in RTC for that module or should I create individual stream for team members called there development stream and then the code needs to be merged in another stream called integrated stream.
Also for branching what kinda architecture do we need to follow like we can have multiple branches say develop, release etc or do we need to move ahead with single branch.
Please guide me with the industry best practices for setting up SCM.
Not able to comment on your answer
Thanks in advance.
Regards;
Ankit Vashistha
![](http://jazz.net/_images/myphoto/d656fd6e29b3fd05f08ced06d787a46c.jpg)
In RTC, each developer has their own repository workspace, which is where they can check-in their private work (effectively, the repository workspace acts as the "individual stream" for that team member). So you just need a single team stream to which they can deliver their work when it is ready to be seen by the other team members. Once you have to maintain multiple releases in parallel, or if you want to have a separate configuration for the "test team", then you would introduce additional team streams. Because adding a stream (and later deleting it) is very easy, start with the fewest number of streams that you need (in your case, it appears to be just one), and then only add additional streams if there is a good reason for doing so.