login
Blurts on the Art of Software Development

Today | RSS | RDF | Atom | Other Tags
Categories : All | All | CI | .NET | General | Humour | Java | Personal | Reviews | Ruby | SW Eng

I'm consulting an unnamed high-tech company where someone once decided that it would be a good idea to pay millions of dollars a year for the second-worst version control tool in existence (the worst is called "no version control at all"). I don't mind company A being arm-deep in company B's pockets but I do mind the fact that the developer's life in company B is made a living nightmare.

For example, how long a time would you consider a reasonable wait for a seemingly simple operation such as "show me the version control status for all four text files in directory X"?

How does 30 seconds sound to you?

Enterprise?

Very.

Not to mention that it takes 4 commands to add a file or a folder under version control from the command line.

*Sigh*

Fortunately we've been able to adopt Subversion on some projects and there is some movement within the organization to make Subversion an officially supported version control system.


I'm familiar with systems like this. The ones that know about not only cost a ridiculous amount, and are not only insanely slow, but they also require an entire team of people -- all trained in arcane and proprietary languages and APIs -- to feed and care for them. How anyone can buy into something like this, I'll never know (even though I know some of these people...)
C'mon Lasse, spill yer guts: what was this monstrosity? I've come across some horrors in the past (PVCS being my current pet hate). 8-) On the plus side, I really rate Subversion. It's my favourite VC system by far at the moment. I'm actually busy embedding it in another product I'm building, and it works great.

I'm sorry, Joe.

The EULA on that product is likely saying something along the lines of me getting beheaded if I say anything bad about it in public. And I don't like the idea of getting beheaded by a large, multi-national software and hardware vendor in the habit of buying out smaller large software companies ;)

Oh, and I just realized that it's probably not the second worst but the third worst product out there. (I had completely forgotten Visual SourceSafe existed...)

Talking about "enteprise-grade" version control systems, ClearCase is the most infamous of them all, and unfortunately very wide-spread in Finland. It's usually brought in by the management in an attempt to improve software development process. The end result is quite the opposite, when SCM sucks, people learn to work around it. It's quite common for people to share code via email or other means when SCM gets in the way. So in a sense, ClearCase is as bad as "no version control at all."
If your version control system can be integrated with CruiseControl then I have an alternative system that I'd like to recommend for the number two spot. AllChange.

Oh, right. I forgot the CI part altogether.

The old version of the product was indeed possible to integrate with CruiseControl (although not quite as easily as CVS or SVN, for example) but the new version is apparently not that friendly. I believe there's been some effort doing just that but so far without success...

Beyond having a CI server, this particular product makes CI in general nearly impossible simply because it takes so much effort to share your changes with the rest of the team. With Subversion you can do a full edit-merge-commit cycle in a matter of a couple of minutes whereas with this POS it takes a couple of minutes to just do the checkin operation and you have to effectively checkin twice because the setup enforces the use of private integration streams in addition to private development streams. Pure overkill for my way of working and nowhere near what I would call continuous integration.

I'm fairly certain I know what you're using and just wanted to say I sympathise - I've worked on a project that didn't use the same "product" but it was simulated. We had to create a new branch for each change/feature/etc and when it was time to check-in, you needed to do the following...
  1. Check-in your code to the branch.
  2. Update the code in your branch to that it reflected the head of the trunk.
  3. Perform your integration tests.
  4. Check-in/merge from your branch back onto the trunk.
As you say, overkill for many projects.
Hey... they are all weak. They are all based on 1970's and 1980's thinking. ClearCase came from Apollo DSEE, all the RCS and SCCS based systems derived from late 70's early 80's thinking. I've been working in OS development shops since the mid 80's (HP-UX, SunOS, Solaris) and as of late embedded shops. Development tools in general don't map to what developers have to do... I can't think of many development tools that can handle variants... I have to build, test and package 5 variants of foo, not to mention change management... Looking back over the past 20 years at how software is developed and comparing it to today... I don't see a single significant improvement, we still develop, build and test software the same way today as we did 20 years ago... Subversion... oh that's a big step forward... SVK w/Subverison, that's nice... GIT has potential... Hey how many people are still stuck with 80 char code style rules... We need some new thinking applied to this... I see people ranting about SDLC models like Agile... 20 yrs old, Extreme Programming, new really... top teams have been doing that for 20 yrs too. Here is what is missing in our industry. We have architects of technology. That's it! We don't have arhictect of product. It's a coincidence when software comes together as a product. In your company or companies you've worked, who owns the product. Yeh there are a bunch of arc committees and such, but no one owns it... It's not arhictected... And either are the tools and infrastructure required to build the product... Most big shops are matrix managed, and a bunch of engineers from each group run around with their heads cut off and cobble together an infrastructure, and SDLC, and products. That's why year after year our industry gets no better at this effort than the year before. Any colleges have classes in this? In masters programs... Hey it's really sloppy. I get a laugh out of all these books on software development... I've worked in some of these shops these authors talk about... the books are more about what they wish would occur, not what really occured...

One great thing about the commercial products we complain about! They generally pay alot of money to help dig people out... If we as a profession where 1/2 competent, we'd only make 1/2 as much as we do today. Like open source is any better.... Go take a peak at OpenSSL... start by looking at the details of how to build it... look at the configure script, and then look at the code... Sheeeesh-ka-bob it's like holding back the ocean!

As a profession we create a lot of great results... it's just whats under the cover and how we arrived that ain't too pretty.

Did you happen to see the article in the Economist that displays a graph of the number of people writing code over the last number of years for Apache.org. The number has only increased a trickle... Those folks, and folks that belong to communities like that are the ones that have the largest impact on HOW we develop software these days. From a Java perspective, looking at both Eclipse.org and Apache.org and their influence on our day-to-day work style and work flow is huge. Those are the people that need to be influenced to look at problems differently... And it ain't to pretty of a future...


Add a comment

Title
Body
HTML : b, i, blockquote, br, p, pre, a href="", ul, ol, li
Math Quiz 3 + 10 = (Helps stop blog spam)
Name
E-mail address
Website
Remember me Yes  No 

E-mail addresses are not publicly displayed, so please only leave your e-mail address if you would like to be notified when new comments are added to this blog entry (you can opt-out later).

TrackBack to http://radio.javaranch.com/lasse/addTrackBack.action?entry=1141050936194