views:

138

answers:

3

I will start with a little background for perspective to the question, what legitimate questions can I pose in order to identify the correct source control tool for the real needs of my development teams?

The developers have used ClearCase since an IBM consulting lead project team installed it for use during a large in-house project. During this project the Rational Suite was used to perform tasks, testing, etc. Once this project was completed, only ClearCase was used as a method of storing source code. Unfortunately, at this time ClearCase is used by the developers as a mandatory tool. Until a global project was started at the beginning of 2009, other colleagues abroad used primarily SVN. The global project now requires these developers to use ClearCase Remote Client (CCRC).

I have observed the tool, though very powerful, appears too much for their development needs. The UCM process is implemented on-site, but there is much expressed frustration with the process steps and particularly when using CCRC. The other issue is other development tools require files to be writeable in order to complete development tasks, causing developers to hijack in order to work.

As many companies are now outsourcing and reevaluating all their strategies in order to remain competitive and financially viable, I would like to verify we have the right tool for the right reasons and one that will support not only development activities and needs today, but also for the future. I look forward to gaining a better understanding of this issue.

+2  A: 

what legitimate questions can I pose in order to identify the correct source control tool for the real needs of my development teams?

IMO, some of these questions include:

  • What is the status quo?
  • Why is the status quo? [Perhaps political: an IBM consulting lead project]
  • Why might we want to change (what are the incentives)?
  • What are the alternatives that we could change to?
  • What would we gain, and what would be lose, by changing to an alternative?
  • What would be the cost (or effort) associated with changing it?
ChrisW
Also:- What does ClearCase provide that the local and remote developers need?- what could be the savings associated with changing it?Also, as part of cost, you must consider cost-to-purchase, cost-to-install, cost-to-migrate-data, cost-to-train, cost-to-maintain.
Lyndsey Ferguson
+2  A: 

You can have a better understanding of the potential advantages for the current situation (ClearCase) by reading "What are the basic ClearCase concepts every developer should know ?"

Since CCRC is used to access ClearCase through a RCP interface and a remote Web-based view server, that looks like a cheap alternative to DVCS (Distributed VCS).
That means a possible alternative is to use a free DVCS (Git, Mercurial, ...)

I use UCM for the last 6 years, and find it very useful for large project with multiple inter-dependent "components" (i.e. "coherent set of files") with multiple parallel development.

However, I would not recommend such a heavy methodology (UCM) for small independent projects, with simple linear development life-cycle.


So, to complete the set of questions proposed by ChrisW

  • What is the size of typical project managed under VCS ?
  • What is their typology (inter-dependent on one another or rather autonomous ?)
  • What is the workflow of merge followed by those projects (a simple one might indicate Subversion as a possible candidate, a more complicated one would require more serious tools for heavy merging)
  • What is the network typology (is a central repository always the best configuration, or a local repo with distribution/replication features would not be more adapted ?)
VonC
Agreed, I'm currently migrating a small, pure-Java team from SVN into ClearCase when I know it's probably the wrong thing from a development point of view - but will improve the interoperability with all the other teams who started in ClearCase (or so the architect wants).The size of the project is very important.
Spedge
@Spedge: "size of the project is very import": true, but also its merge workflow (for massive rewrite in parallel with current development and maintenance, UCM can really help)
VonC
A: 

Cheryl, without attempting to solve your solution - CCRC is obviously an option for your remote developers, but there also exists ClearCase Multisite. If there is a process issue, perhaps providing local rather than remote access to the infrastructure would be a short-term solution, rather than moving SCM.

Spedge