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.
but very expensive. I hope IBM sells the licenses for cheaper.
Consensus is good, but informed dictatorship is better
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.
Can this be expressed as a fraction?
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?
Omigod, I guess there still are some .com managers on the loose. Who in their right mind would spend 2.1 billion on a money losing company that has $154 million in SALES???
IBM must be planning to integrate the Rational process into a LOT of their products to justify this.
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
IBM bought Tivoli in 1996. The rapid infusion of talented personel from IBM, who brought with them a set of skills honed over decades of wasting millions of dollars developing worthless products, turned the aggressive young company into the dismembered, meaningless WebSphere hanger-on it is today. Rational employees should look forward to eager smiling IBM managers showing up wearing Rational t-shirts and spouting their love and respect for everything Rational stands for. Shortly will follow the working groups, the process groups, the import of random dinosaur projects from elsewhere in IBM into the Rational product suite, and best of all a decision-making mechanism that will ensure no useful new products will ever be created.
In two years, "Rational" will be little more than a second-level menu off some VisualAge product.
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.
The biggest problem CMVC encounters is that developers are usually looking for a software versioning repository like RCS or SCCS. CMVC tackles not only software versioning, but defect/request tracking, and correlation of code deltas to defects.
If developers don't accept the benefits of that tracking, they'll never consider it to be anything but an irritant. If project management doesn't actually use the additional information to control the project development, then CMVC is a poor fit if the project just wants a source code repository.
I haven't set up a CVS server yet, but I keep my own code in an RCS repository. Everything I've read indicates that CVS is a means of publishing a read-only image of an RCS-managed project, and of accepting suggested code changes for review. CVS does not track defects/requests AFAIK, so if developers are used to working with CVS and RCS, they'll likely find CMVC frustrating as it requires them to coordinate an extra piece of information (the defect/request ids they are working on.)
I do not fail; I succeed at finding out what does not work.
Rational is the latest in a series of products touted to revolutionize the way software is created. It is not a drawing tool, although it does have that capability. They also have a versioning component, an automated test tool (formerly Team Test I think) and a whole bunch of other things added in by acquisition. As a true believer in Client/Server methods it is clear that these tools can do a great deal of good when used properly, or a great deal of harm (at a high price) when used by "amateurs".
.Net for all future development and they behave as though they are sleeping with the Microsoft sales reps. Forget that the selection itself makes no sense (Java a language vs .Net a loosely designed framework), I'm sure they will pick .Net. again missing the chance to go with a language (Java or C++) that will be around almost forever. They'll send 100 people to C# classes, and they'll try and figure out how to pretend that they used Rational to design it all. Anything that goes wrong will be blamed on bad advice from consultants, anything that miraculously works will be claimed as the bright idea of a government employee who has never coded a line of either code or design specs.
A history of blunders:
I worked at a shop that several years ago decided to go the "Client/Server" route to save money over the old mainframe methods. As far as they were concerned "Client/Server" mean "lets buy a bunch of PCs and play games on them during lunch". The application was a secondary consideration. This was a worldwide highly distributed application. Being a government organization, they had tons of money to spend though, so the reasons for switching had more to do with what the top people were reading in PC/Week and such than any concern about the money involved. The Clipper code was a disaster, with data constantly being lost for no apparent reason. The mainframe/mini approach consisting of a few hundred minicomputers was replaced with several thousand PCs, in reality the hardware costs went up. This all happened during a time when you had to replace all your PCs every year or two to still be able to even run the latest version of Windows and Office.
On top of this the number of people involved in the process soared, network bandwidth had to increase substantially, not to cope with the application, but with the increased size of prettily formatted Word documents that were flying around. In fact when the network folk decided to project future traffic, they ignored the application altogether (since there wasn't a design from which they could work anyway) and simply did a statistical analysis of e-mail traffic. As dumb as this seemed at the time, the results actually worked pretty well.
About the time the Clipper programs were fully deployed, Powersoft came along claiming to be best buddies with Microsoft. The company President even visited and told us that they and Microsoft were going to work together to make Powerbuilder the ultimate programming language of the future. The folks I worked for bought this BS hook, line, and sinker. The crappy Clipper programs were replaced (over a several year period) with crappy Powerbuilder programs who's design specs looked something like: "Make it look like the old minicomputer programs we had before". In other words, nobody really understood the original programs and didn't want to do the homework to figure them out either.
Realizing this last fact to some extent, the organization bought into another product called System Engineer (I forget the vendors name). SE was a high level design tool that claimed to actually be able to generate full-blown applications if given sufficiently detailed design specs. The only catch was that it only generated C++ or Cobol, and generating Powerbuilder was a "future feature". Just as well, because none of the programmers involved had the skill or patience to use the product, so they just did their database diagrams with a bootleg copy of Erwin. When pressed to do so they would run Systems Engineer in "reverse engineering" mode to produce the "artifact" documents needed to demonstrate what a great idea this client/server stuff was after all.
It was no surprise at all to me that about a year ago they asked someone (not me) for advice about where to go with this technology. Whoever did the research must have spent about 2 hours reading the trade rags before calling the sales reps to start convincing them that Rational was the "next big thing". In addition to the software being expensive, you almost have to agree to sign up for training in order to use the product. The training is VERY expensive, and with the bloated development staff that we had, this was made even worse.
The good news is that they have finally realized they went down the wrong path with Powerbuilder. They at least in that process got their data into a real RDBMS (Oracle).
The bad news is that they have decided to pick between Java and
In about 4-5 years they will start the process all over again. And, by the way the mainframe is still there, doing the hard parts of the application, cleaning up the messes that the PCs have made, with large parts of it written in *sigh* COBOL.
Your tax dollars at work again.
Back in the 80's IBM failed to understand a very important concept: That whatever gadget or technology finds its way onto peoples desks at home will eventually find its way into solving business problems too. Whether it works or not will be decided so far in the future that nobody will get blamed or lose their job for not really thinking things through.
I think IBM has learned its lesson though. They have their fingers in hundreds of pies, some of which are strategic, others seemingly nonsensical. They are positioned to make money both in hardware sales and consulting services whenever an organization gets so wrapped up in whiz-bang technologies that they can't extricate themselves. They have all the tools at their disposal to do mainframe/mini/or totally decentralized solutions and they are not dependent on any one vendor be it Oracle, Microsoft, Intel or even their own hardware divisions to come up with a solution that fits.
For some it may seem like technology has moved rapidly, but we are just now accomplishing things that were predicted as being right around the corner when I was in college in the 70's. I blame a lot of this on clever marketing by Microsoft, Intel and a few others (Powersoft, Rational among them) that substituted nicely packaged products (and games) for products that actually did something useful. I have high hopes that the Open Source movement will end this nonsense. A steady stream of products that "just work" and don't cost anything to try will keep the sales reps of the future a lot more honest than those of the past. I have more to say about this, but I guess this is too long already. IBM will conceivably Open Source parts of the product suit that are not particularly unique, but nothing they do is about charity, nor should it be. I hope that creating the Microsoft and Intel duopoly was the last act of charity that they engage in.