It's all about the answers!

Ask a question

stream vs release vs development line vs ...


Mervyn Keene (171177) | asked Feb 17 '09, 11:25 a.m.
I hope this isn't too dumb a question. I'm just getting up to speed with Jazz, have worked through many tutorials, webinars, etc. and know how to "drive" the product. We have a pilot project in Jazz source control, have set up a build definition, added users, and so on. Where I'm stymied is on the higher-level meaning of some of these concepts. In other words I know how to make them but not when to use them. So, to the main question:

Say I've set up a new project using "Eclipse Way" and thus have been provided a 1.0 release and M1 iteration. Now I want to assign a team (of 1 person) to start working on 1.1. Is this a Release or a Development Line, or both? Do I also need to make a stream called 1.1? Can someone tell me which things to create, in which order, and what their relationships would be?

Thanks,
Merv

3 answers



permanent link
Ankur Sharma (151194) | answered Feb 17 '09, 1:51 p.m.
Hi Merv

A ProjectArea may have many development lines. Each TeamArea is associated with only one development line and we can configure all the permissions and behaviours for that particular teamArea by configuring the development line. Note that one development line can be associated with many TeamAreas.
Lets say your product has two teams one involved in active development cycle which focuses on next major release 2.0 for your project, which is lets say is divided in four milestones. While the second team is involved with fixing the bugs for your already existing release 1.0 and provides fixpacks every 6 months. So for these two cases you may have two development lines one for active development and another for maintainence, because for both these cases you'll have to plan iterations differently. Each of these development lines will be associated with the corresponding teamArea.

Now Lets say under active development line, you have Release 2.0. You'll create an iteration plan under active development line and can divide it further in 4 milestones. When you are finished with your Release 2.0 and you may want to start with your next 3.0 release you can create a new iteration plan under same development line and so one. That mean a development line can have many releases of one product planned in it and only one of the release will be active at one time.

Now as far streams are concerned each stream is related to only one teamArea but a teamArea can have many streams associated with it.

So my suggestion for your planning is, first you create a TeamArea and add the user as teamMember in it. Now associate this teamArea to the already created default development line. Under this development line you can create your iteration plan for your release 1.1 and can further subdivide it in milestones. This assumes that there is only one teamArea working on 1.0 and 1.1 and 1.0 is already completed. In case if you want to do maintainence of 1.0 and development of 1.1 (which will be done by two teamAreas, though both teamAreas can have same members) at the same time then you have to create two separate development lines as told above. As far as stream is concerned since one teamArea can have many streams, so we prefer to make a separate stream for each release.

Hope that helps.

- Ankur

permanent link
Toacy Oliveira (31142) | answered Feb 17 '09, 6:01 p.m.
I hope this isn't too dumb a question. I'm just getting up to speed with Jazz, have worked through many tutorials, webinars, etc. and know how to "drive" the product. We have a pilot project in Jazz source control, have set up a build definition, added users, and so on. Where I'm stymied is on the higher-level meaning of some of these concepts. In other words I know how to make them but not when to use them. So, to the main question:

Say I've set up a new project using "Eclipse Way" and thus have been provided a 1.0 release and M1 iteration. Now I want to assign a team (of 1 person) to start working on 1.1. Is this a Release or a Development Line, or both? Do I also need to make a stream called 1.1? Can someone tell me which things to create, in which order, and what their relationships would be?

Thanks,
Merv


Hi Mark,

Your question isn't dumb at all. I believe the EclipseWay is used in a very very complicate scenario to demonstrate the tool potential.
I'm also looking for a didactic "Hello World" type of process and create my own on top of it. I believe the CloudBurst example facilitates understanding.

I even made a class diagram to understand the relationships between all such concepts and I figured out that the main idea is to allow the creation of several nested development phases. From the reference (Getting Started with Jazz Project area and Process) one can infer that a Dev. Line is a must have with at least a current Iteration. A Release is when your iteration has something ready to be delivered.

With regards to Streams, I found a document, Multiple Stream Development (https://jazz.net/learn/LearnItem.jsp?href=content/docs/source-control/streamdev/index.html) that might help. In this document they say "Although Jazz streams are conceptually similar to branches...."

I really don't understand why they keep changing names.


cheers

Toacy

permanent link
Ralph Schoon (63.1k33646) | answered Feb 25 '09, 11:44 p.m.
FORUM ADMINISTRATOR / FORUM MODERATOR / JAZZ DEVELOPER
Hello toacy,

I am probably not the best to comment on this but will try to nevertheless.

A Stream is where work in form of sourcecode is shared. Several users have
their sandbox RepositoryWorkspaces based upon a stream. You can have several
streams too.
A Repository Workspace can point to a stream and deliver changes there and
accept changes made to source in the stream. The user controls what to deliver
and accept. Pointing a Repository Workspace to another stream reveals the
streams changes vs. the current state of the repository workspace and allows
integrating data. Several teams work on their own stream(s) and use a common
stream to reintegrate.

A Development line shapes the temporal structure of your work. using iterations.
Iterations have times and order. e.g. there is a current one. The temporal
structure allows planning against and reflects in the views like MyWork.
Each Team works against exactly one development line which gives the temporal
context. E.g. one works for Maintenance (devline) one for further development.


Iterations can have a release. These iterations with release show up in the
MyWork View. Iterations without release do not. You can refine a release
iteration with subiterations without release and plan for the release without
seeing the finer granular iteration structure. However one of these subiterations
is the current one and - this is why you can do that - can have different
process rules applied. E.g. while develipoing (iteration) developers can
do certain things. But close to the release the iteration e.g. end game applies
more rigorous rules in the process, e.g. preventing users from checking in
without a review.

Mervyn.Keenewrote:

I hope this isn't too dumb a question. I'm just getting up to speed
with Jazz, have worked through many tutorials, webinars, etc. and
know how to "drive" the product. We have a pilot project in
Jazz source control, have set up a build definition, added users, and
so on. Where I'm stymied is on the higher-level meaning of some of
these concepts. In other words I know how to make them but not when
to use them. So, to the main question:
Say I've set up a new project using "Eclipse Way" and thus

have been provided a 1.0 release and M1 iteration. Now I want to
assign a team (of 1 person) to start working on 1.1. Is this a Release
or a Development Line, or both? Do I also need to make a stream called
1.1? Can someone tell me which things to create, in which order, and
what their relationships would be?

Thanks,
Merv
Hi Mark,

Your question isn't dumb at all. I believe the EclipseWay is used
in a very very complicate scenario to demonstrate the tool potential.

I'm also looking for a didactic "Hello World" type of
process and create my own on top of it. I believe the CloudBurst
example facilitates understanding.
I even made a class diagram to understand the relationships
between all such concepts and I figured out that the main idea is to
allow the creation of several nested development phases. From the
reference (Getting Started with Jazz Project area and Process) one can
infer that a Dev. Line is a must have with at least a current
Iteration. A Release is when your iteration has something ready to be
delivered.

A Stream is a bit of mystery still.

cheers

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.