Metamodelling is not an end in itself; it is a means to achieve a different end, namely, in the context of this book, the delivery of methodologies that are as useful as possible within any given set of constraints. The usefulness of a methodology is given by a combination of, at least, two elements: its content and its form. The content aspect refers to what the methodology says; for example, a methodology that prescribes a waterfall lifecycle for a four-person team used to agile development is unlikely to be highly useful. Similarly, an extremely agile and coding-oriented methodology would be of little utility to a large, formal organization that works with highly distributed teams of dozens of people. As we said, methodologies must be fit for purpose; adjusting the contents of the methodology to the characteristics of its users is essential for this. Since the characteristics of the users vary from time to time, from organization to organization and even from project to project, it is impossible to “freeze” methodological content; as we have discussed, one size does not fit all.

1.2.1 Language

There is a second aspect to utility: the form of the methodology. This means how the methodology is expressed, regardless of what it says. A linguistic simile can be used. The content of a methodology is like the meaning of what I utter; since I utter different sentences at different times, depending on myriad conditions, it is impossible to predict what I will ...

Get Metamodelling for Software Engineering now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.