Horses for courses.
When I (very repeatedly) have to explain how UML RUP EA Rose XDE etc fit together into a system design "factory" I use the following model.
There are 4 components that contribute to the success of my factory. These are:
- how we manage the factory
- the process we use to convert a request into product
- the techniques we use to design and build the product
- the tools we use to develop the design and to construct the product
Of these I will ignore the management component for the minute.
UML is a technique - it is a notation that let's skilled designers describe accurately the design of the product. It's just like the symbols used in an engineering design or an electronic design or a house design. UML can be done on a piece of paper with a crayon, on a whiteboard with a coloured marker or on a PC screen using a.....
tool such as EA, Rose, XDE, poseidon, etc etc etc etc etc. The tools let us construct these designs quickly and efficiently - and to some extent accurately within the "rules" for use of the notation. In addition, most of them allow for the production of the design artifacts in media suitable for communicating the design....
and arriving at an agreement with the stakeholders on its suitability through a process such as RUP, Iconix, OOSE etc etc etc. Such processes define where specific information is to be found as well as the "steps" we go through to ensure the design.
So, forgive me, but I find this argument tiresome. There is no EA is better/worse than RUP because its like asking whether a hammer is better than a recipe for cannelloni. Is BPMN better/worse than EA? Or is impressionist painting better than a food processor?
What do we (here) preach?
1) flexible and pragmatic use of UML as the notation for all system design - from single developer, single user systems through to enterprise solutions.
2) island solution, exploratory (paper prototype) design and component solution projects use EA as the tool, projects and programs over $2M use (guess which) heavyweight tools (only) in order to take advantage of existing infrastructure support.
3) the process is
totally and entirely dependent on the situation. In general we follow an Iconix variant because I personally like the use of collaboration models as a formal step in moving from the business/logical view into the design views. If the situation is big enough to warrant the use of a formal development process (our yardstick is quite complex but lets say "over $1.2M") then the RUP (actually the UP) framework is used as the basis for developing a project specific process.
Managing the game is quite another topic - just as the "rules" for managing a footbal team are quite different to the rules of the game itself.
So "should EA only be useld by those enlightened software developers building their own solutions"? Piffle!
.. and that's all I've got to say about that

Bruce