[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Use of CVS on large scales

From: Pyatt, Scott
Subject: RE: Use of CVS on large scales
Date: Fri, 8 Jun 2001 12:05:09 -0700


I would not rush into deciding anything of this nature.  I've been the SCM
manager for a few organizations using several different software version
control tools.  Each has their upsides and down sides.  It sounds as though
the consultant you hired is strictly interested in ClearCase.  It's true
that ClearCase is the best selling high end, commercial software version
control tool, but I would hedge to bet that more developers use CVS.  Your
first task may be to switch consultants for one that is less biased and has
a broader base of experienced.  This should be a key point in interviewing a
consultant.  Also make sure to get a consultant with plenty of hands-on
experience.  I've interviewed several that consider themselves to be process
gurus, but couldn't jump in and implement things if their life depended on
it.  These folks tend to be out of touch with reality.  Something that
sounds great in theory doesn't always work in practice.

Second, write down your requirements for a version control tool and weight
them (1 to 10 should be sufficient).  Additionally, write down what your SCM
processes and policies should be and weight the importance of each.  A good
consultant should be able to come in, perform some interviews of key
developers and development managers to help with the requirements as well as
processes and policies.  Next perform an evaluation.  A good consultant can
help you limit what to evaluate (e.g., CVS, ClearCase, Perforce).  I've been
through this a few times and I generally create a big spreadsheet.  For some
requirement it's simple: either it's supported or it's not.  For many others
it's a matter of degrees.  Something may be supported, but it might be a
major pain to implement and/or support.  Here again, a good consultant can
be worth his weight in CPUs.

For instance, I currently have over 100 developers working on CVS.
Periodically, someone accidentally checks new feature code into a release
branch that no one should be touching.  We don't find out until much later
(or not at all).  There is a patch to CVS to allow branch locking as long as
you have the right version of CVS and on the right client and server
platforms.  However, branch locking is trivial under ClearCase.

Another example would be if you need to have developers in different
geographical locations.  You can purchase MultiSite with ClearCase and it
performs synchronization of repositories at however many sites you need.
However, that forces each site that is "MultiSited" to work on their own
branch.  Someone (or many someones) must now merge these branches and
resolve potential conflicts.  A better solution might be to use CVS with one
repository that everyone uses. CVS is extremely light-weight compared to
ClearCase.  ClearCase is anything but light-weight which is what drove the
makers of ClearCase (Atria at the time) to create MultiSite.  However, due
to connectivity problems, MultiSite may be the best answer.

My point is that every organization is different and an organization's needs
may change over time.  No software version control tool is a one size fits
all, no matter who tells you otherwise.  Something might work, but at what
cost of ownership.  Do your homework and you will be glad you did.  In the
spreadsheet you can enter how well each product supports a given requirement
(0 to 10 should work).  When you're done, the spreadsheet should give you a
final score for each product.  

Something else I did at one point was perform interviews of actual customers
that went through the implementation.  You should try to find customers that
have similar requirements to yours.  You will be amazed how much information
most Release Engineers and SCM personnel are willing to give you, once you
begin asking very specific questions.  This is where the rubber meets the
road.  This goes well beyond what some pretty marketing literature or sales
guy tells you.

Two more words of wisdom.  First, in a large organization you will have
developers with varying degrees of SCM knowledge.  You will not be able to
please everyone and that's okay.  These are your "customer's", so you should
try to help them as much as possible (within limits), but don't stress when
ideals become diametrically opposed.  They'll get over it.  Second, you
won't be able to implement the best SCM system overnight and the
requirements will continue to change as the company changes. Come up with
well defined phases of implementation.  You may find that the scheduling of
these phases are driven to some extent by the release cycle of your product.

Personally, I have a love/hate relationship with both CVS and ClearCase.
Functionally, ClearCase can do just about anything you want it to, but it
tends to be slow and requires a considerable amount of managing and money.
CVS is very fast and easy to use and administer, but it is no where close to
being as feature rich.  Do you really need all of the other features?

BTW, if you do decide to go with ClearCase, as of their 4.0 release it comes
with a built-in process (UCM) that you can chose to use or not use.  I found
the UCM process to be quite limiting (and buggy) for the organization I was
managing.  I found layering my own process to work better than UCM.
However, you can expect Rational to make it more flexible and robust over

Good luck.
-Scott Pyatt

-----Original Message-----
From: Lucas Chan [mailto:address@hidden
Sent: Thursday, June 07, 2001 6:41 PM
To: 'address@hidden'
Subject: Use of CVS on large scales


We are currently looking at implementing some kind of version control
system.  We have been trialling CVS for the past few weeks, storing sources
on a FreeBSD machine and using WinCVS on our development machines.  It seems
that this is exactly what we're looking for.

I have struck a problem that I'm hoping some of you can help me with.

Our company hired a "testing expert" a week or so ago, and he is currently
opposing our move to roll out WinCVS.

This is because:
a) He's never heard of it.
b) He doubts that it is scalable enough for us.
c) He believes that anything that's free _must_ have disadvantages (as
opposed to Clearcase for example).

This didn't go down too well with me (or my team) because:
a) For someone who's supposed to be an expert on testing systems, it
surprises me that he's never heard of CVS.
b) When talking about scalability, I gave the example that FreeBSD itself is
maintained using CVS.  i.e. implying that we're only building web sites, not
whole operating systems.  This didn't seem to be good enough evidence for
c) And of course, I'm a FreeBSD and Open Source fan.

So, to cut to the chase... it would be great if some of you could show me
where to find further information about CVS.

I'm particularly interested in it's uses for (really)large scale projects,
perhaps even some stats on the quantity of sources it can maintain, any
advantages it has over commercial source control products, etc.  I've
checked out the CVS web site but none of the information there was useful in
this context.

Something like... a case study of a large software company using CVS would
be pefect (I imagine).

Thanks for your time everyone.


[ lucas ]

[ the ego has landed ]

Info-cvs mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]