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.'"
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.
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.
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..
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?
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
Did it ever occur to you that a language that needs auto-generated code is fundamentally flawed (too low-level)?
Linux is not Windows