Rational’s open, industry-standard tools for developers can improve the speed, quality, and predictability of application development on J2EE, .NET, Linux, and other platforms. Rational Software is a founding member of Eclipse and has taken a leadership role in the growth of Eclipse as the Open Source standard. Take a look at the new resource center for Rational software, and what they are creating for the Open Source community.
The Big Beast of Software Complexity is now going to take on the Open Source world and bring it to its knees. Lovely, I say, just lovely!
UML = Unlimited Money Laundering
Rational has proven capable of designing the highest cost software development processes ever known outside of the DoD.
Adding a process company to IBM is like giving the government the ability to create new taxes. This road only goes to a bad place.
> Rational has proven capable of designing the highest cost software development processes ever known outside of the DoD.
DoD? Dungeon of Dragons?
Yes, Rational’s products are expensive for small devs or for hobbyists (not for professionals though), but they are the best you can find. You get what you pay for.
the people who hate Rose are the developers who don’t have the discipline to use it properly. Granted, Rose is extremely complex and not exactly intuitive, but it can be incredibly valueable if you stick with it.
Yes I hear that Clearcase is nice. But for those of us who aren’t born with a silver spoon in our mouths, is there anything a bit more reasonable?
I have yet to see a full implementation of Rational’s Unified Process work anywhere.
And Rational Rose is a pile of crap. It generates enormous volumes of noise. UML is far more complex than it needs to be and is getting more complex every day. If the goal is to make software development simple, no one stands up and shouts “the best app I’ve ever seen is Rose!”. No one. There are some great IDEAS in Rose, but they are shackled down by a punishing UI and a giant load of process bureaucracy.
There is a reason that more and more software projects are failing… and it is because adding 50 layers of process and complexity to building the software is not the answer.
However, RUP+UML is the perfect answer for how to make lots of consulting dollars.
I do like Purify and Quantify, though. Those are useful tools. The rest of it can go rot in a swamp.
Since IBM is pro-linux/OSS I’m hoping that they will write a Rational Rose add-in for Qt, KDE and GTK/Gnome. Rational already has a plugin for MFC. Although I’d probably rather not use Rational Rose, some of us are *Required* to use Rational Rose on our projects and really have a tough time with properly modeling/generating code with these tool kits.
Department of Defense
Have to agree with most of the above posters – UML is highly convoluted, bloated and wasteful of developer resources. It gets in the way far more than it helps, IMHO.
I believe that our saviour is going to be the Object-Process Methodolgy (OPM). Even though the OMG seems to be busy grafting it into UML, it is also stand-alone and very, very different in philosophy from UML. Details and specs are available here:
Sight Code
http://www.sightcode.com/
If your interested in Design Led approaches to development which are practical then you may be interested in the discovery method which is being developed by one of my colleagues. see: http://www.dcs.shef.ac.uk/~ajhs/discovery/
“a good engineer does for a penny what any engineer can do for a dollar”
all these methodologies and processes are ‘make work for brother’
they turn good engineers into mediocre engineers and everything soon starts costing a lot more money
there’s nothing in them that helps developers build real software.
if you are working on government contracts and stealing money, though, they are great
if you are consulting and need your own special guru-lingo for confusing customers while you lighten their wallets, they are great
but methodology-driven-software… is really just for criminals, not for creating great software
All of the “methods” and “models” I’ve seen are based on the assumption that programming is a production-line type of activity. Given the right tool, a monkey could do it.
What makes programming interesting is that it is an intellectual, creative, and artistic challenge. Of course, that means it’s inherently hard to manage, which makes the PHBs of your company very nervous.
These tools are to a good programmer what an electronic keyboard is to a good pianist. If it really makes the job easier, it wasn’t very interesting to begin with.
I think that some methodology is useful for aiding the development process, but it shouldn’t completely try to take it over like UML does. And I agree that this behaviour with UML is rooted in the counterfactual idea that software “engineering” should be some kind of uncreative assembly-line process, like Sander mentions.
A clean, concise and elegent annotation model like OPM is ideal for programmers as an aid to describe complex elements of their code to each other and especially to their non-programmer requirements people (i.e., the customer). In effect, OPM is very much in the tradition of a “whiteboard” diagramming tool, only more formalized, and we all know that the whiteboard rules in software development, don’t we. 😉
In most situations this can be much better than trying to figure out how a system works by staring at thousands of lines of code that someone else has written. Our industry needs a good way to model code properly, but for limited uses only.