Slashdot Mirror


IBM Donates Parts of Rational to Open Source

slashbob22 writes "IBM has decided to contribute portions of the Rational Unified Process to the Eclipse Foundation. From the article: 'RUP is a vast collection of methods and best practices for promoting quality and efficiency throughout software development projects. IBM's donation will also provide a foundation architecture and Web-based tools for the industry to engineer, collaborate on, share and reuse software development best practices.'"

44 of 168 comments (clear)

  1. heh by Ooblek · · Score: 4, Funny

    If you can't sell it....DONATE IT!!!

    1. Re:heh by Clevershutter · · Score: 2, Informative

      Yes. We donated the original code for Eclipse, which included features from our VisualAge family of products.

      --
      Simplicity if the hallmark of truth.
  2. This is VERY GOOD news by Work+Account · · Score: 2, Interesting

    I've used Rational(tm) before and thought it was great at what it claimed to do. Much like UNIX(tm) and GNU/Linux(tm) applications, it did one thing and it did it well.

    Now, combining Rational with Eclipse(tm) should make the latter even better!

    --

    If you "get" pointers add me as a friend (116)!
    1. Re:This is VERY GOOD news by Anonymous Coward · · Score: 4, Informative

      You DO know that this is about the "Rational Unified Process" and NOT Rational Rose, right? RUP is the development process that Rational tries to sell you on when you sell you the Rose UML tool. If you buy into RUP, they can manage to send you tons of consultants and sell you even more costly software.

      RUP is a step up from the Waterfall model, but it's certainly not the greatest thing out there.

    2. Re:This is VERY GOOD news by MAXOMENOS · · Score: 2, Informative

      Actually they're part of IBM now .. and their flagship product (Rational XDE) was taken off the market by IBM for whatever reason. This move on IBM's part restores some of the functionality to the market, but not all of it. In particular the UMLcode pieces are still missing.

    3. Re:This is VERY GOOD news by cadams500 · · Score: 3, Funny

      RUP is a step up from the Waterfall model, but it's certainly not the greatest thing out there.

      It's obvious you have a limited view on what the RUP process is... RUP is in the Agile category of develpment processes and can be tailored from basically no ceremony (design documents, traceability, etc.) to high-levels of ceremony. The problem with RUP is that it's been heavily used in the Government sector, which historically has been at the far-right on the ceremony scale; many people have a vast misconception that RUP is "just a step-up" from the waterfall model. When in fact, RUP is not even in the same category as the Waterfall model.

      I believe IBM releasing the RUP standards to the Eclipse project is going to go a lot of good in getting RUPs current "label" turned around from being just a "modified waterfall" method, to being known as a full-blown Agile method.

    4. Re:This is VERY GOOD news by AuMatar · · Score: 3, Funny

      In otherwords, its a buzzword generator with no real content.

      --
      I still have more fans than freaks. WTF is wrong with you people?
    5. Re:This is VERY GOOD news by crt · · Score: 2, Funny

      That's because the code stage is handled in India.

    6. Re:This is VERY GOOD news by kpharmer · · Score: 2, Informative

      > RUP is in the Agile category of develpment processes

      got to disagree here

      RUP is heavy as hell, it's just that since XP took off at the same time the RUP folks have tried to make RUP do it all. So, sometimes they'll tell you that it can encompass agile methodologies - even though their iterations have so much overhead they really are more like waterfall phases than agile iterations.

      Anhow, the way it pans out is that you typically end up with is a $100k consultant bill as well as months of work to chop all the useless artifacts out of the framework to be agile.

      Then you'll still end up with mostly model-driven process with artificial roles and hand-offs. About that time you'll be seriously wondering why you left the agile path!

      I think it's really a dead-end - there are quite a few folks exploring completely new methods for working together - that actually seem to work. And these methods don't look anything like RUP.

    7. Re:This is VERY GOOD news by sammy+baby · · Score: 2, Interesting
      I mean it has been analysed and designed, and documented, and modelled, and designed again until no stone is left unturned, and BAM! suddenly we are implmenting software? Am I the only guy who thinks this is too good to be true? Nowhere in the Rational Unified Process can I find any diagram, reference to, or project plan, about the "Build" or "Code" stage. Yes, I know there is a "Construct phase" but nothing inside it actually talks about putting hands on keyboard and coding.


      You're probably confused by RUP's use of the term "implementation." When a software architect considers what the functional requirements of the software are, then starts describing classes and subsystems that are supposed to meet those requirements, he's performing one of the disciplines, analysis. When you take into account nonfunctional requirements, performance requirements, et cetera, and further refine the description, you're performing the "design" discipline. The person in the "implementation" role is the one actually developing - and often testing - the components.

      So, the "bam" you're referring to - implementing software - in RUP, that refers to actually writing the damn stuff. If it seems like you magically skipped from analysis and design over the whole meat of the process, it's because you're probably confusing the term "implementation" with "deployment."

      Incidentally: if you look at a diagram of the Phases vs. Disciplines of RUP (there are a lot of them to choose from, and they depend on the type of project you're working on), you'll see the third phase is called Construction. In Construction, there's a lot of "implementation" which starts to taper off right near the end of the phase, and a bunch of "testing" which ramps up right near the end. That's the part you're thinking of.

      But since you asked: the part right near the end of construction is usually where people start to realize it if something is seriously going wrong. So yes, if expensive consultants are going to be summoned, that's probably where.

      (sorry if this is rambling and incoherent - I'm up way past my bedtime)
  3. Hard to Understand by someguy456 · · Score: 3, Interesting

    As an intern at IBM this summer, I found that some of the regulars themselves didn't know what RUP was. In particular, some claimed it was simply a process to follow, some linked it with a special program, others claimed complete ignorance, and others simply waved it off as labeling the pre-existing procedures. I still wonder what RUP is all about...

  4. Depends on the "Subset" by Deinhard · · Score: 3, Informative

    I've been a RUP user/proponent for several years. This may be, as the article alludes, a shot in the arm for improved processes. However, it remains to be seen just what the "subset" of RUP entails. RUP can be an unwieldy process that, if used in the (lowercase "e") extreme, make development slower and more "process-laden."

    However, from what I've seen lately out of some shops that are using more "modern" approaches (and failing miserably) this could be welcome relief.

    --
    Successfully condensing fact from the vapor of nuance since 1998.
  5. Don't be offensive buddy by Work+Account · · Score: 2, Insightful

    Opera is the best browser out there and has been for years, but no one was buying it so they first gave free coupons away for it here on Slashdot a couple months back. Then they enjoyed the press so figured let's just give it away for free with no ads.

    Granted, Firefox is excellent but Opera has been amazing for at least half a decade and is useable on everything from PCs to cell telephones.

    --

    If you "get" pointers add me as a friend (116)!
    1. Re:Don't be offensive buddy by caluml · · Score: 2, Funny
      Then they enjoyed the press so figured let's just give it away for free with no ads.

      I hear they're planning to use volume to make a profit.

  6. The Rational Unified Process is excelent by ElMiguel · · Score: 4, Insightful

    That's why Rational Rose is such an efficient, consistent, bug-free software.
    </sarcasm>

    I don't know about other people's experiences, but some of the worst pieces of software I've ever used have been CASE tools (you know the type: UML, lifecycle, etc). Kinds of make you question the usefulness of those tools and processes.

    1. Re:The Rational Unified Process is excelent by arudloff · · Score: 4, Insightful

      Kinds of make you question the usefulness of those tools and processes.

      If your relying on the tools, then your probably missing the point of the process. Tools can aid you in the process, but a process doesn't require tools (not even a commercial 'product' like RUP).

  7. OK OK I'll admit it -- coders are LAZY my friend by Work+Account · · Score: 4, Interesting

    Look, we are and I'll admit that. I'm not afraid to criticize myself and other developers:

    - Me and other coders are often eager to jump right into projects instead of designing them thoroughly (using RUP for example)
    - Other coders and I often get bored after I figure out the hard part and say the rest is trivial

    It's more of a work ethic. Also, my friends in the gaming industry (Electronic Arts(tm) for example) work 60-80 hour weeks, so it's understandable that they seek out shortcuts.

    Let's agree to work a little harder and/or smarter and not skimp on design! USE RATIONAL!

    --

    If you "get" pointers add me as a friend (116)!
  8. Huh? by 0WaitState · · Score: 3, Interesting

    IBM is "donating" the methods of RUP to open source projects? I thought IBM liked open source?

    As far as RUP goes, it's kind of like communism. Looks good in theory, but goes all pear-shaped when real human beings get involved. Pull the UML out of RUP and leave it at that--the rest is madness, enobling "process" over productivity.

    --

    Remain calm! All is well!
    1. Re:Huh? by arudloff · · Score: 5, Interesting

      People try to make RUP into more than it is. The idea is to take and leave what works for your organization, and build a loose process around it. It's a framework for generating your own applicable process, and all too often companies want to do everything that RUP tells them to do (ignorning the fact that RUP tells you not to do everything..)

      What really needs to be taken from RUP is the idea that an iterative approach reduces risk of failure. The concept of "roles" is helpful, but thats just basic teamwork.

    2. Re:Huh? by supabeast! · · Score: 3, Insightful

      They didn't do this because they thought the open-source community needs or deserves Rational, they did it because a lot of US Government Agencies require Rational procedures (Or at least write documentation claiming they will) for any project with a budget above a few million dollars. IMHO, IBM did this to put a positive spin on OSS in the minds of those important people, since there are still a lot of them that assume OSS is crappy shareware, a communist plot, etc..

    3. Re:Huh? by at_slashdot · · Score: 2, Insightful

      "As far as RUP goes, it's kind of like communism. Looks good in theory..."

      Actually, communism looks awful in theory if you understand a little bit what that theory means.

      --
      "It is our choices, Harry, that show what we truly are, far more than our abilities." -- Prof. Dumbledore
  9. Open Source - Oh My Gawd! by Nom+du+Keyboard · · Score: 3, Funny
    is a vast collection of methods and best practices for promoting quality and efficiency throughout software development projects.

    OMG! Now Microsoft will be able to use it and write good products.

    [[SLAP]]

    Oh, never mind. Everyone knows MS would never be caught dead touching anything OSS.

    --
    "It's the height of ridiculousness to say for those 9 lines you get hundreds of millions."
  10. Not really by fprog · · Score: 2, Informative

    Well, maybe, but IBM Rational Rose XP is worst usability wise
    then the old Rational Rose.

    Also, if Rational Rose XP is a plug-in for Eclipse, but Rose is 30x the size of eclipse...
    which one is really the plug-in?

    And why do you need Eclipse?!
    I think it was just a fast way for them to bloat up Eclipse,
    and reuse existing Eclipse parts to recrate Rational Rose XP.

    It crash less often than the old, but it eats way more memory.

    For instance, you cannot create some non-implementation abstract specification scenario diagrams with ease, it force you to create "implementation classes", especially when you have to dupe the classes to remove some "not meaningful" associations, instead of having a "hide association" boolean config.

    It also add some freaking slash: /action/(/a/,/b/)
    instead of just action(a,b) for scenarios.

    Some configuration settings are no more available.
    Changing colors/font of some items is no more possible in some cases.

    Coordinates on infinite planes are just weird...

    If you prefered to have text below the use case that's no more possible,
    which sometimes makes use cases diagrams looks odds
    with some having large and other small ovals or having
    to put a large ovals on everything just to make it similar,
    reducing the amount of stuff you can fit on a page.

    It force you to include association to be displayed,
    even though it is "not meaningful" in the current displayed context.
    Especially, if you try to create a higher abstraction view.

    The cool class diagrams private/protected/public icons
    are no more replaced with boring text symbols.

    It force you to use some "templates" and completely ignores
    "what you actually want to do". Also, it display all
    unmeaningful icons on the left using a non intuitive
    hide/show menu and then prohibits you to use them,
    instead of having a simple toolbar like in the old
    to draw your diagram and remove non-usable one.

    Basically, give me back a bug-fixed Rational Rose (non-XP) app.

  11. Two best practices for security by G4from128k · · Score: 2, Funny
    1. Thou shalt check thy inputs for malformity

    2. Thou shalt not let thy buffers overflow.

    I hope those are in the Rational Unified Process (perhaps the construction phase of RUP).

    --
    Two wrongs don't make a right, but three lefts do.
    1. Re:Two best practices for security by einhverfr · · Score: 2, Insightful

      1. Thou shalt check thy inputs for malformity

      2. Thou shalt not let thy buffers overflow.

      I hope those are in the Rational Unified Process (perhaps the construction phase of RUP).


      If that is your method for preventing security problems, I will *never* use your software.

      Security starts with the following best practices:

      1) Thou shalt write modular software
      1a) Each module shall not run with more priveleges than absolutely necessary
      2) Thou shalt rely on platform permissions enforcement wherever possible.

      Then we can get to buffer overrun prevention. But if you don't try to manage the possibility before you get there you are lost at the beginning.

      --

      LedgerSMB: Open source Accounting/ERP
  12. Re:OK OK I'll admit it -- coders are LAZY my frien by SlowMovingTarget · · Score: 5, Insightful

    First, I have personally used the RUP successfully. The success was in spite of the process, not because of it. The excellent people I had on my team made the work a success, and not a paperwork-on-rails approach to software development.

    On the upside, the RUP is geared toward control of iterative projects. On the downside, it treats every diagram you draw as though it were as valuable as the working software you really intend to produce. It also adds artificial divisions between roles in the process (the architect sends X to the analyst who elaborates it and sends it on to the developer who extrudes Y...). It tends to reduce communication among team members, and between team members and stakeholders. It's original intent seems to have been to give all the diagrams in the UML a reason for being (and by extension, Rose).

    Show me a failing unit test and I'll show you a low-level design awaiting implementation. Running code trumps "managed artifacts" any day.

  13. Irrational by yintercept · · Score: 4, Funny

    Giving away half a product away may not seem rational, but it is shrewd. You have the engine, would you like to buy the key.

    As for for the decision to give half the product away, I understand IBM was thinking of giving away the square root of the product away ... Now, THAT would have been irrational.

  14. Don't plagiarize buddy by Work+Account · · Score: 3, Interesting

    Look at the 80 character line lengths in the parent post and thus the premature line breaks.

    You obviously copy+pasted this post from somewhere, which isn't cool to do unless you properly attribute it.

    --

    If you "get" pointers add me as a friend (116)!
  15. Re:OK OK I'll admit it -- coders are LAZY my frien by steve_l · · Score: 2, Informative

    yeah, unit tests kick RUPs overbloated process into the wilderness

    I cannot get over the idea that OSS projects have been suffering from a lack of the RUP. We have been making do with distributed SCM, email and wiki collaboration, bugzilla, xUnit testing and plaintext artifacts. Oh, and well documented code.

    Now that we have the RUP, we can stop all that and do fancy UML pictures showing how use cases are implemented instead. I am so overjoyed,.

  16. Comments on RUP/RUPP by vectorian798 · · Score: 2, Insightful

    I don't know too much about RUP (read here) but here is what I do know. With RUP comes the RUPP, a set of RUP Products that are meant to facilitate the development process that RUP is supposed to be all about.

    However, some of IBM's products that are part of RUPP are shit. Rational Software Architect (the 'visual modeling' part of the RUP process) is the most bloated piece of crap I have ever used. It is unintuitive, a massive memory hog, slow, and overall just a bad piece of software. About the only thing it gets right is that it is UML 2.0 compliant and has all the different models...but I have found that there are many cheaper UML modelers that are better.

    Heh in a way it is just like Eclipse (which is what RSA runs on top of) - too much crap that is inaccessible. The trend in software for a while has been adding new features that people don't know about. I believe MS had the same issue with Office in a survey they conducted, where they asked people what features they wanted to see in Office and 95% of the features were already there, but people didn't know about it. For every feature added for functionality, there should be two more added for usability!

    Similarly, for a programming process/paradigm to take hold, developers need to be provided with (process-related) tools that are lightweight and approachable. A process that is too rigid, too heavy-weight, etc. will never be adopted - worse yet, some team will start using that process then slowly become lazy and soon they will be in a middleground of incomplete requirements, specifications, design docs, etc.

    1. Re:Comments on RUP/RUPP by Evangelion · · Score: 2, Interesting


      I use Rose at work, and I find it to be fine to work with -- all I'm trying to do is create a few diagrams, and it makes it relatively easy (relative to Visio) to piece together a class or use case diagram with as little work as possible.

      It's bloated, but as long as your company furnishes you with decent hardware to run it on, that's hardly an issue.

      It needs some work on exporting the diagrams to a useful format (a vector-based diagram export, such as SVG or eps, would be a nice addition) but in general it does a good job of... doing whatever it is it does.

      I can't comment on using it as part of the entire RUP, as we just use it for diagrams.

  17. Pardon me for asking a stupid question, but... by lenmaster · · Score: 3, Insightful

    What exactly does it mean to donate a software development process? Wasn't the Eclipse Foundation already free to use RUP for the development of the Eclipse environment? And couldn't companies using RUP already use the Eclipse environment for their projects?

    1. Re:Pardon me for asking a stupid question, but... by afaik_ianal · · Score: 2, Insightful

      It really depends on what you mean by "free to use RUP". RUP is a customisable, end-to-end process, which I suppose anyone can follow if they can remember all of the bits. As with any end-to-end process though, it is not much use unless it is documented. The software to tailor the process, and the actual process documentation are not free.

      While TFA does not really make it clear which bits of RUP are donated, I imagine IBM is at least donating some instantiation of the process, which includes documented procedures and workflows, along with document templates, etc.

      Without this donation, Eclipse could probably use something similar to RUP (I suppose they could use some version of it that happens to be in someone's head - but remember, IANAL), however it would be like Chinese whispers: Like all organisations who define their own processes, they are going to make the same mistakes that everyone else has made time and time again. Very few people are able to simply remember everything that needs to be done from the original idea for a software project, through to the packaging of a product.

  18. RUP in practice by Is0m0rph · · Score: 2, Interesting

    My company decided to go with RUP a few years ago. It took months of classes and basically just an iterative process that has very heavy on process and paperwork and is based on UML. Very unproductive in the environment I worked in. A few lines of code changes could result in 40+ hours of paperwork and reviews. So I saw in practice you start with RUP, strip out what you don't like, and you end up with simple iterative process we could have thought of ourselves rather than spending a ton of money on Rational consulting. The Rational products for doing the modeling were crap. Couldn't stand them. I like Rational's ClearQuest for bug tracking and ClearCase for source control but other than that the rest was junk.

  19. What about purify? by branchingfactor · · Score: 2, Informative

    The only valuable piece of software owned by Rational is purify. Does anyone know if IBM donated purify to open source or did they keep it to themselves?

    1. Re:What about purify? by notwrong · · Score: 2, Informative

      ClearCase is pretty neat too, once you're used to it. I no longer work for the company where I used it, but there are some very nice features, eg having version control transparently part of the filesystem, actually useful branching and labelling schemes, decent merge/conflict resolution, and multi-site support. This meant we were mainly dealing with the genuine complexity in making 50 or so developers work together, rather than fighting against version control and each other.

  20. Re:OK OK I'll admit it -- coders are LAZY my frien by jdray · · Score: 4, Insightful

    While what I understand of RUP is that it tends to go overboard with extreme implementation of basic ideas, the root of their labor division is in the excellent practice of not allowing one coder to push his code changes all the way through to distribution without some amount of validation by another set of eyes.

    I'm part of the enterprise change control staff at my company, and I can tell you that the more tightly we implement controls, the more often we discover that the problems that arise are from developers implementing untested changes without authorization. If you force them to submit change documents, and don't let the changes get into the code base until the change has been authorized (for that matter, don't let them code until the change has been authorized), then have someone else test the changed software before the code gets pushed up, you've got a three-legged stool to stand on, and you have an auditable process that maintains accountability.

    I bet if you look at the submission process of any successful open source project, you'll find the same constructs, maybe just not called out so formally. The basic ideas aren't bad, just some implementations. RUP gives you a framework to design your procedures with.

    --
    The Spoon
    Updated 6/28/2011
  21. Re:+6 insightful if you will by Taladar · · Score: 4, Insightful

    Did it ever occur to you that a language that needs auto-generated code is fundamentally flawed (too low-level)?

  22. Didn't they use the process to create the tools? by bluGill · · Score: 2, Insightful

    The tools stand for the process though. If they used RUP to create the tools, then you would expect the quality of the process to be reflected in the tools. If they did not use the process to create the tools you need to ask why not.

    So while I agree you don't need the tools for the process, I judge the process itself (I have never used RUP for a project) in part by the tools created with it.

    Though really all this proves is the process isn't a silver bullet, something Fred Brooks predicted years before it was dreamed up.

  23. Re:OK OK I'll admit it -- coders are LAZY my frien by kpharmer · · Score: 3, Interesting

    > I'm part of the enterprise change control staff at my company, and I can tell you that the more tightly
    > we implement controls, the more often we discover that the problems that arise are from developers
    > implementing untested changes without authorization. If you force them to submit change documents, and
    > don't let the changes get into the code base until the change has been authorized (for that matter, don't
    > let them code until the change has been authorized), then have someone else test the changed software
    > before the code gets pushed up, you've got a three-legged stool to stand on, and you have an auditable
    > process that maintains accountability.

    don't forget "The Law of Unintended Consequences" which shows that:
    1. as accountability goes up attitude, morale, productivity, and efficiency go down
    2. once you hit critical mass on paperwork, process, etc you destroy motivation - there's some point on the curve at which point everyone just says 'who cares' and 'why bother'
    3. it's impossible to really anticipate everything upfront, which means that minor changes that in a system and organization that embraces agility & resilence can be easily handled in stride take 40x as long in an organization afraid of blame.
    4. most of the work is done by the motivated and talented 10% of the staff. these people leave rather than put up with the bureacracy designed to hinder the 90% that are unproductive.

    RUP is a disaster, I've seen it absolutely wreck companies.

  24. As someone who has supported RUP, Rose, XDE at IBM by Burz · · Score: 2, Insightful

    ...I actually agree with you.

    However, I always saw RUP presented as an array of smaller, compatible processes within the iterative process. IOW you adopt an iterative cycle in your collective workflow (very easy by itself) and pick what you need out of the (admittedly large and overspecific) RUP. Or you take the whole RUP and 'knock-out' what you don't need. RUP the standard anticipates this, even though RUP the product could provide more help in this regard.

    With that said, I believe that FOSS projects have suffered greatly by not formally recognizing and docucmenting use cases. Excepting Mozilla and OpenOffice, the evidence abounds. It probably flows from historically "scratching our own itch" and often not maintaining requirements in the first place.

  25. Your first answer was correct. by sammy+baby · · Score: 2, Informative

    RUP is, in fact, a process to follow. It stands for Rational Unified Process, and defines a set of Roles, Activities, and tools used to write software. It goes into extremely exacting detail, which is, in my opinion, it's biggest weakness: unless you've memorized huge chunks of RUP, you spend a lot of your time trying to remember how to follow it. Once you have, you've spent too much time.

    The activities described by RUP are supported to varying degrees by the various Rational tools: Rose for modeling, ClearCase for source control, and ClearQuest for issue tracking.

  26. Re:The title should have read by OneSmartFellow · · Score: 2, Interesting
    I agree completely. I am forced to use two Rational products in my job here. Clearcase is an abomination. The server seems half-way decent, but the GUI is absolutely attrocious. The only app I use that is worse is Lotus Notes.

    The other Rational product is 'Rose', which as far as I can tell is little more than a collection of graphics. The reverse engineering tool is all but useless. The types of projects you really need to reverse engineer are far too complex for Rose to handle, it dies after chewing up all available memory, and CPU on a quad processor Opteron. The code generation tool is OK, but that's about the only good thing I can say for it.

  27. Re:OK OK I'll admit it -- coders are LAZY my frien by SlowMovingTarget · · Score: 2, Interesting

    If the development team is undisciplined enough to require a formal process, then RUP is one of the least harmful heavyweight processes. But make no mistake, it is heavyweight.

    The truth of the matter is that you can automate much of the gating needed to keep "unauthorized" code from making it into production. The key to your statement is that developers were adding "untested" changes to the code base. Part of the demand of agile processes is that you write code to make a test pass (whether this be an acceptance test or a lower-level unit test). The net effect of this is that disciplined developers write code that is required by the nature of the system, and the nature of the tests. Even at an architectural level, you can automate verification of architectural styles. This tends to require a more significant effort, however.

    With regard to open source, the issue is one of communication. Developers may be in different time zones and may rarely have the opportunity to speak to each other face to face. There is a minimum of process, but it is to coordinate general direction for the project, and even in these cases, working code, proven with tests makes the strongest argument in favor of a particular approach.

    My suspicion is that you are catching the issues you are because people are sitting in a room, face to face, and talking about it. The change documents simply set the agenda for the discussion.