UML is like a collection of tools, a craftsman's toolbox which provides the skilled craftsman the ability to work on different aspects of a task. The domain specific language approach seems to be working towards what some in the industry term "Software Factories". In this vision there are no craftsman, no master tradesman, journeyman, only task specific production line workers. The following blog entry by Alan Brown, who is responsible for future product strategy of IBM Rational's Design, discusses both software development models and shares whats best suited for overal quality of a SW solution.