It's all about the answers!

Ask a question

Which strategy to follow when developing different versions of same application simultaneously?


Guus Weisscher (322) | asked Mar 31 '14, 10:04 a.m.
Hi,

I have been studying RTC's SCM for some time now and keep wondering how to deal with our case.
Our company has been working with our self-developed apps for years now. Each app containing of 3-15 Eclipse-projects.
I have been looking for the 'ideal' way to 'version control' these apps. I have reviewed baselines, components, streams, repository workspaces, etc. The number of possibilities is almost limitless, each of them having their own advantages and disadvantages.

So let's say we have version 1.0 of a app which is running live. Meanwhile we are developing version 1.1 but still want to develop minor enhancements and fix bugs in 1.0. Which way would be best? Is there any useful documentation or tutorial to find on this topic? 
I have read several Jazz-articles but none of then solved my question.

Thanks in advance,
Guus


Comments
Guus Weisscher commented Apr 01 '14, 1:35 a.m. | edited Apr 01 '14, 4:23 a.m.

Thanks Piotr and Geoffrey, I will re-read the jazz.net article (thought I understood it, but apparently not...) and dive into the other two articles Piotr indicated.


Accepted answer


permanent link
Piotr Aniola (3.7k11738) | answered Mar 31 '14, 10:11 a.m.
edited Mar 31 '14, 10:11 a.m.
I would suggest to use the "one stream per version" approach.
Since RTC 4.0.5 it is very easy to cherry-pick change sets to be delivered between streams, thanks to so you can easily backport bugfixes from one version to another.

Some documentation can be found here:
https://jazz.net/library/article/40
http://www.ibm.com/developerworks/rational/library/parallel-development-rational-team-concert/index.html?ca=dat
http://mikemacd.wordpress.com/2012/03/12/advanced-rtc-scm-streaming-part-1-development-integration-and-release-streams/
Guus Weisscher selected this answer as the correct answer

Comments
Geoffrey Clemm commented Mar 31 '14, 12:47 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER

And note that allocating a separate stream for each version is really the only way to go.   Baselines, components, and repository workspaces are for handling other aspects of development ... not for maintaining separating versions.     In particular, baselines are for recording a particular immutable configuration, components are for partitioning your system into sub-systems, and workspaces are for providing a private configuration.

One other answer



permanent link
Guus Weisscher (322) | answered Apr 04 '14, 7:36 a.m.
 I must say, this article https://jazz.net/library/article/599 also opened my eyes.

Your answer


Register or to post your answer.