Which one is better? UCM or base ClearCase?
For paralel development, do we need UCM? Is using manual branching is error prone on base ClearCase?
Is serial de
One is not better than the other, UCM represents a different set of best practices that you can choose to apply on top of base ClearCase.
UCM is great at defining a coherent set of files (the UCM "component") that will be:
Parallel development can benefit from UCM because of the streams you can set-up in advance, in order to define your merge workflow. You don't impose anything, but if you finish a development effort on a sub-stream, the natural merge to do is a "deliver" to the parent stream. (As opposed to base ClearCase, where there is no "hierarchical organization" for branches: once you finish a task in a branch, you can merge your work to any other branch: there is nothing to remind you what could be a natural candidate branch for your merge).
But the other advantage is the definition of a configuration, i.e. the exact list of baselines (labels) you need to get in order to "work" (compile, or develop a new feature, or deploy, or refactor, or...).
Depending on the number of components you have to deal with, you will then adopt: