IBM Buys Rational Software
An anonymous reader writes "Rational Software is going to be taken over by IBM. More info on Rational's website. RIP Rational. This is what rational is sending it's customers:
To our valued customers:
We are delighted to tell you that IBM and Rational Software have announced a definitive agreement for IBM to purchase Rational. This is a very exciting time for both companies and builds on the extensive business relationship IBM and Rational have had for over 20 years. Most importantly, it will provide significant benefits to you." Other readers submit links to the story in InformationWeek and the Mercury News.
After record losses this past quarter and a stock plunge from 70 dollars to 4 in the past year, Rational was on its way out. I'm not sure how much of Rational IBM is really planning on keeping around or whether they simply bought them for their software they wanted and planned on burying the rest of the company, but here's hoping they don't all get canned. I've been using ClearCase on Solaris for years, and it's really an excellent product.
It seems it's about time for IBM to demonstrate their loyalty to Free Software and Open Source by open sourcing Rational Rose -- the free software world is severely lacking in UML diagramming tools. So, what do you say IBM?
I used to use Rational about 3 years back. Has any progress been made on Rational diagrams being stored as XML? It would be nice if all the Rational files would be in XML, and then use some kind of SVG browser to look at the diagrams, and make small changes directly from a web browser.
Consensus is good, but informed dictatorship is better
Best configuration management software I ever used was CMVC from IBM. It was then replaced by TeamConnection and then canned because IBM made an agreeement with Rational to promote their ClearCase product, which everyone I know who had use CMVC found ClearCase to be inferior.
Now that Rational is being bought, IBM, can you make CMVC/Team Connection open source? God I would like to work again with CVMC...
Remember the year 2000? They promised us flying cars. They delivered the PT Cruiser...
I hope IBM's intention is to keep Rational evolving UML/RUP and not to strip out Clear Case, Req Pro, and Rose. A lot of the time, this is what happens when a big company buys a company like that, and it would be a real shame if this happened to Rational. Personally, I think UML and RUP continue to gain mindshare when it comes to Software Engineering Methodology.
Grady Booch recently spoke at our company, and his enthusiasm was infectious! It is obvious that he and the other Rational Fellows have a pretty good vision of where UML and RUP should go, and it would be a real shame if that was lost.
Anyone looking for similar functionality in an open source package may want to check out Valgrind. It is "an open-source memory debugger for x86-GNU/Linux". I've used it for a short while and its great.
Valgrind:
http://developer.kde.org/~sewardj/
"Of all days, the day on which one has not laughed is the most surely the one wasted." -Sebastian Roch Nicol
I don't have all that much to add, except -- God, Rational Rose was one of the buggiest, worst-designed pieces of software I've ever used. The one time I had to use it I prayed that someone over there would buy a copy of Visio to learn how a diagramming tool SHOULD be designed.
I always found it hysterically ironic that a tool that was touted by its makers as the ultimate way to develop software demonstrated so poorly its own usefulness.
Maybe after buying it IBM will run it into the ground ala Lotus. We can only hope.
Sometimes it's best to just let stupid people be stupid.
What is this some type of cult now?
Instead of coming up with weird 'royalty' reasons, come up with good business reasons for IBM to open source this product.
Hey, I'd love if they do that, and you could argue that there could be some benefits financially to IBM. However, from IBM's perspective, I don't see this is a great move, or something you do right off you buy a company.
- sigs are for wimps.
Here, let me help:
Google
Rational Rose is the shittiest piece of software I have ever had to use. We have to use it in some CS and SE classes to draw UML diagrams and it is total crap. Not only that but the program costs like thousands of dollars from what I hear.
By judging the one piece of software they make that I have used I can tell you that Rational was not a very good company. Hopefully IBM will fix them so another CS student need not suffer.
ROSE is one of those packages like say I-DEAS that is very frustrating if you don't already know how it works and what to use it for. It does a hell of a lot more than "draw UML diagrams" - if that's all you wanted to do, you should have been using Visio.
If you ever work on a project with a development team of a hundred or more OO developers, then you need what Rational's tools like ROSE have got, there's really nothing else that can manage projects that complex. Harsh as this may sound, if you're an undergraduate you really don't qualify to have an opinion on ROSE either way.
Rational software is some of the worst designed examples of user interface out there. There are two types of people that like rational software:
1. They haven't used anything better like togethersoft or visio.
2. They are management and don't actually have to use it.
Rational and IBM should get along great. Neither company produces good software. But both companies produce incredible salespeople. Working for a large bank, I have a great deal of respect for these guys. How would you like to try selling IBM or rational products? As engineers we are usually too honest. I'd never get anywhere.
Rational sells a process. The process is great for business people because it produces visible artifacts. (Aptly named, as they don't get used and are only good in the archeological sense.)
Togethersoft (recently bought by Borland) has much better software but it is very expensive, and they don't have the quality salesforce IBM has.
So if you think that salespeople don't matter, think again. In this case, they can take a barely functional product and have it dominate that sector of industry. Even in the face of better products.
Clearcase is another of rational's products. I'm curious about other people's experiences. Things I don't like:
1. Network dependent. Since the code is on a 'mounted' drive, everything is slower. I have to go to the network for everything.
2. Integrates into Windows OS. If clearcase or the network has problems, I have to reboot.
3. Takes to long. The whole integration stream, delivery, etc. takes about 10 button pushes and a good minute of time.
4. Costs too much. CVS works better, and is free.
Advantages of Clearcase:
1. Has salespeople.
...otherwise there would be nobody challenging Microsoft in the spreadsheet arena, and we would probably all be forced to use Excel for want of a credible alternative.
I'm sure IBM's acquisition of Rational wlll be equally successful.
"How to Do Nothing," kids activities, back in print!
fucked company internal memo here was it so hard to provide a link to it?
I have used clearcase under two environments:
1) My last job: an all-unix network, where all the vobservers and clients were Solaris/linux, with a network administrator who knew what he was doing. The performance was excellent and clearcase really made a difference to the teams productivity. It was certainly better than CVS, which it replaced. Actually, comparing clearcase to CVS is like comparing Matlab to a 5-dollar pocket calculator.
2) My current job, where the vobserver is on Solaris, but all the clients are Win2000, with a drooling windows monkey for a network administrator. While the clearcase GUI on windows is excellent and much better than the unix equivalent, its performance is infinitely worse, with the performance of a view degrading in proportion to the amount of time the windows machine on which the view was created has been left turned on. Finally, we instituted a policy that all win2K machines have to be rebooted every monday morning.
It would be aweseome if IBM would make rational release a linux/unix GUI that is comparable to their windows version.
Magnus.
I seem to remember that MS Visual J++ was transfered to Rational. Was it transfered with a "hot potato" clause and Microsoft gets it back? Or can IBM pull the plug and bury it?
From what I've heard, this purchase of Rational by IBM can only be good news since the Rational products need some major tuning.
I also wonder if this doesn't have anything to do with Borland purchasing TogetherSoft( and getting TogetherJ )?
LoB
"Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
All that irrational software they've been buying lately.
:-)
I just see the meeting now...
BoardMember1: So we are going to purchase Rational software?
BoardMember2: Don't we always purchase rational software?
BoardMember1: No, we've never purchased Rational software, we've purchased other software before.
BoardMember3: Other software? What, we've been running on irrational software for years?
BoardMember1: No, no, no! The other software we buy isn't irrational, it's just not Rational software.
BoardMember2: Isn't non-rational software irrational?
BoardMember3: I think he's right Bob.
BoardMember1: Okay, okay whatever... We've always bought irrational software.. Now all those in favour of purchasing Rational Software say aye.
Everyone: Aye.
** Meeting Ends **
BoardMember3 to BoardMember2: We're going to have to talk with the older board members... No wonder we've had to much problem.. with all that irrations software we've bought.
*** thank you... thank you... I'll be here all night people. ***
~ kjrose
I've used Rational Rose for a year and a half now. Here is my assement of the tool:
1) No affective undo; in fact there really is no undo or multilevel undue. This omission is stunning. Try undueing a deletion of several classes, the moving of classes: you can't. Try undueing changed relationships, you can't.
2) No ability for concurrent development. If one programmer is modifying a model, no others can do so at the same time because there is not merge tool. This serializes development, and what you find is that developers will start having to resort to tricks to allow them to work concurrently. Foremost among those is to not use rose.
3) You cannot express all the relationships that exist in your software using Rose. For instance, you cannot represent macros and standalone functions. ( At least in the C++ package I use; there is more than one C++ package for Rose - the other is the 'ANSI' package I believe.) This leads to model skew; where what you are representing in Rose is not complete and correct with respect to what your code is doing. This causes developers to always "check the code" and ignore the Rose model.
4) You cannot modify source directly and have Rose automatically regenerate the model relationships. I'm sure some would argue that this is a violation of the process for using rose; but what about when you introduce a third party library and start using it?
5) Rose relationships are based on UML. A detailed UML diagram is has hard to understand as source. It turns out that having sophisticated UML does not communicate the design of you software any better or more clearly then just relying on source code alone, or some tool such as doxygen - which is fee and won't suffer from the limitations and expenses of Rose.
6) Rose is windows bound product. If you are developing on other platform, you developers must have access to a windows box to enter in the Rose model information.
7) Rose will not format its code to meet your coding requirements: it wants code formatted its way. This means if you have an existing source base with comments in perhaps doxygen format, then you will have to rework all that to support or overcome what rose will introduce.
(Evaluation) People looking to use Rose for softare development should first define what the problem is that they are looking to solve with Rose. Then test Rose directly against that problem. For instance, if you are hoping that having a UML model of you software makes it easier to communicate its design, then ask your developers to read a detailed UML model, preferrably from a software project that they are unfamiliar with and that is as complicated as they will be working with when using Rose. When they are reading the UML, have them answer these questions: ( In asking these questions, do not allow access to the source. )
What is the overall architecture, organization, of the model?
What design patterns are being used?
What problem is being solved?
To add a feature ( do this with several different features ), what would you modify?
To modify existing functionality ( choose several ) how would you modify the software.
What disegn decisions have been made here?
What have the designers choosen to comprise or leave out?
The Rose tool should allow them to determine the answers quicker than if the developers where using another tool (doxygen) or just the source.
You then ask the developers to use Rose to add functionality to the software. Use it for real here; have multiple developers working independantly on different parts. See how Rose performs here, again putting it against something like doxygen or just realying on the source. Key here is using your configuration management tools (cvs or whatever) to manage the Rose model changes while the developers are working.
Now take into account the cost interms of dollars of the Rose license, the restrictions it incures on the organization of your code, the complexity in introduces into your development process, and the model skew difficulties it may introduce, the lack of features like undue, and other difficulties you encounter when using it and make your decision by comparing Rose to a tool like doxygen.
From my experience, Rose is a poor performere that does not justify its cost; and here the cost I'm talking about is the impact on your development process and productivity not just the liscenses.
If you mean real hacker as lone genius who releases software as he sees fit then sure, there isn't much use for UML there. But in a situation where you need to capture business processes and sort out the difference between what sales, finance, and marketing say they want and what they actually want UML is useful. And getting a sign off on a UML use case diagram is very useful for avoiding being the scapegoat when things go wrong. It eviscerates the ability of people to hide behind imprecise language in system descriptions.
That, in the real world is a very useful feature and pro-geek as geeks tend to get knifed in the back for building what people say they want.
SuperKendall wrote:
.h file and modified something. Pretty much everything in his view will rebuild. For a large project having tens of thousands of files, this could take hours (if not days).
>> 6. Smart 'make' routine which can take advantage of compiled object files in other people's views.
> Oh yeah, I'll bet a LOT of people really make use of that one.
Have you any idea how incredibly useful this feature is? For example: let us say a developer checked out a heavily used
But once he checks his stuff in, no other developer in his team will have to go through the compile, since clearcase winks in all the object files from the first developer's view!
Suffice to say that this is one of the biggest selling points of Clearcase to people who know about this feature.
Magnus.
Point for ClearCase, though how many people really take advantage of this feature (we do not).
A large number of ClearCase installations use MultiSite. It works very well over unreliable networks (I currently use it with a VPN between the US and India) or with no network at all (before we set up the VPN, we did updates via sneakernetted CDs). It also aids in disaster recovery because you can physically destroy one site without affecting any of the others. Lastly, it makes backups dead easy to do.
4. Built-in triggering system for file check-ins and check-outs. This allows you to build scripts and such to do things when you check out/in a file or set of files.
I think you can do that with CVS too.
Almost any ClearCase operation can have preop and postop triggers attached to it. The last time I looked (about six months ago), there was a very limited set of CVS operations that could be triggered, and expanding that set was near the top of the to-do list.
6. Smart 'make' routine which can take advantage of compiled object files in other people's views.
Oh yeah, I'll bet a LOT of people really make use of that one.
In very large (>5 million LOC) projects, ClearCase's wink-in facility is essential. With something that big, you can't just work on your own little corner of things without regard to what the other 1000 developers are doing around you. You've got to be able to regression test the whole thing with your changes applied, and that means building the whole thing.
If your makefiles are written correctly, you get 100% wink-in of everything that doesn't have to be rebuilt as a result of your source changes. If your ClearCase environment is tuned correctly, you can wink in objects somewhere between one and two orders of magnitude faster than you can compile them from scratch, plus you don't have the overhead of initially extracting all the source from the repository.
(Yes, I know about Mozilla. I'm not saying you can't manage large projects using CVS or whatever, but ClearCase has capabilities that CVS could never emulate.)
If you weren't using clearmake and wink-ins on your project, then you were definitely wasting your money on ClearCase.
8. Ability to create branches from the code base for program maintentance, and bug fixing of releases, etc.
Which pretty much defines source control in my mind, again I'd have to give a hand to CVS for much easier branching. I could quickly create branches in CVS whereas in ClearCase it is a Big Deal to create branches, and the SCM people don't like it one bit.
Creating branches in ClearCase is as natural as breathing. All you need is a cohesive branch strategy that you apply across your whole source base, like "I want my version; if that's not available I want the version from the latest official build". The free-for-all "I want 1.1 of this, 2.3.4 of that 5.10.15 of the other" non-strategy will cripple ClearCase, but it will also cripple any SCM practice you try to wrap around CVS or any other tool.
You also forgot that ClearCase can provide build audit trails that are way more comprehensive and reliable than revision strings embedded in the source files. The speed with which that lets me diagnose build failures and related problems wins us back a good chunk of the cost of ClearCase in engineer time savings.
For that matter, the richer set of metadata types that ClearCase provides lets you use know why something happened the way it did far more easily than you could with plan version control.
I've done SCM with a variety of tools for about 13 years now, and without exception, everyone who complained about ClearCase either a) was not using the tool to its fullest, b) was mad because it didn't work exactly like Their Favorite Version Control System, c) didn't know the difference between version control and SCM, or d) was really complaining about having to have any process at all beyond just barfing out code.
There's a new crop of tools coming along that may knock ClearCase off its perch, and ClearCase is far from perfect, but as SCM tools go, it's still the king.