Spotted in Ralph Johnson's Blog
There is a history of CORBA that does a good job of explaining why CORBA is a failure. The problem is not so much technical as it is social. Design by committee doesn't work. Standards should come after implementation, not before. Just because you join the committee and can vote doesn't mean your opinion is correct, and in fact users often want things that are not possible.
This is an important lesson, and one the OMG probably hasn't learned. Their MDA is following the same path. The difference is that at least CORBA was trying to standardize things that had been done in research labs, and the early standards, though not particularly useful, were following along well-trodden paths. However, MDA is trying to break new ground. The odds of success are not high.
Ralph of course knows a thing or two about the design of frameworks. As Amazon put it, his book on Domain-Specific Application Frameworks talks about how "Frameworks provide generic software architectures that can be reused, indefinitely, to generate new applications. But they don't readily translate from one business or industry domain to another." Whilst a book that goes through a good number of different frameworks in detail is by no means an easy read, it's a worthwhile one. Few of us get the chance to work on the construction of several different major frameworks, so reading others' experiences may be the only way to come up with a general idea of good practice in framework design, rather than just something that happened to work in one particular case.
It's revealing that the frameworks in question were almost invariably built by a small core team, say 3-5 people. At that size, each person cares about the whole as well as their own pet area. By the time you have a committee the size of the OMG's, it's a lot harder for each person to thoughtfully consider the whole -- i.e. everybody else's individual areas. And it can become all too easy to just accept everyone else's deliverables, trusting them to do a good job rather than spending the time to understand their area and proposal properly. Especially if getting through the early items on the agenda means you get to your pet area with time to spare.
Juha-Pekka cites a case in point from the UML2 committee: "I know one person who claimed to write a relevant piece of the UML2 standard (it got accepted in the voting) out of the blue. Just like that: some ideas, no samples or reference implementation and it got accepted." Frightening. Not particularly surprising, but frightening nonetheless.