Thursday, June 29, 2006

Complexity and Stockholm Syndrome

What is it about us human beings that we have this bizarre tendency to exhibit behavior consistent with Stockholm Syndrome when we work with technologies that are more complex then they need to be?

I have been guilty of this several times and will no doubt be guilty of it again. For all I know I'm guilty of it right now.

I saw this a lot with EJB. I was certainly guilty of it. Having achieved some success and decent understanding of EJB, I became an ardent defender of it even though it was terrible technology.

I see this same phenomena today with WS-*. I like to think that I learned to spot this trend with EJB and am wiser now, but for all I know I have Stockholm Syndrome with my messaging bias. I don't really think I do because I keep challenging myself to look past messaging in its current proprietary form.

I now think that I also had Stockholm Syndrome when I was an advocate of Rational ClearCase (sorry Sarge). Everyone new to ClearCase runs kicking and screaming from it because it is so complex. Once you suffer through the arduous learning curve, however, it is common to become a ClearCase zealot. I know, I was one for years! I'm dealing with this currently at work. Note to coworkers - I mean to offense by this and this is just my opinion. I think you are used to me by now.

Maybe I am just getting old and dumb and can only handle simple things.


Sarge said...

You need to put things in perspective. EJB wasn't perfect but it was better than everything else we had at the time. If we had Hibernate or something like it, we might have been less likely to jump on the EJB bandwagon. You're being a little too harsh. The thing isn't whether you jump on the bandwagon; it's whether you jump off before it gets to the cliff.

As to Clearcase, I still dare you to find another CM solution that's better. Does that mean the Clearcase is da bomb? Nope. But everything else sucks worse. Yeah, yeah, I know that's hard to believe. But when it takes a couple of hours to tag our code or create a branch with CVS, our entire development process gets screwed up. Every tool does something better than Clearcase, but they also do more things worse.

I saw a demo for a for-pay product (I don't remember the name other than it was meaningless) that looked like it had the power of Clearcase's branching without all the complexity. But it was a demo and could have been wholly vaporware.

fuzzy said...
This comment has been removed by a blog administrator.
fuzzy said...

Yeah I probably spazzed out a bit, sorry.

But EJB was bad from the beginning. Pretty much all ORM is more trouble then they are worth in the end I think. But you are right, we live and learn. I just don't like the tendency many of us have to be apologists for technology is fatally flawed.

I am a fan of some of the things ClearCase does - it branches/merges very well and dynamic views are cool, but it’s just too complicated.

I’m hoping that Perforce or BitKeeper will prove to be as good at branching and merging, but work well in the very distributed environment I have suddenly found myself in.

zpope said...

Investment, .... you just spent 3 months getting good at something. That something turns out to be arcane but now you're something of an expert. Others come to you for information and advice. You're feeling pretty good about understanding the complexities of your new found love. Someone suggests that this something may not be the best choice, or even a good choice for the task at hand. The horror!! Infidel! Cast them out.

That may be part of it ....

Oliver Watkins said...

Had to use CC on a previous job - totally sucked. Agile and XP advocates that you shouldn't really use branching that much when developing. Dev team should be tight knit and respond quickly to change. Use subversion guys.