Within the Modelsward conference held at ESEO in Angers, France, the warm up session has been delegated to a panel on the state of modelling, where panelists Bran Selic, Mark Van Den Brand and myself discussed about their vision on modelling.
Plenty of good points came up both from the panelists and the audience.
The main message from Bran Selic was:
- Non-functional modelling is wrong, both in terminology and semantic senses
- the so called “ities” are more than 50, and still each of them needs to be covered with different techniques and tools
- The term implies a second-order importance, and a negative definition which are bad by themselves
- Furthermore, you cannot cover them separately wrt functional requirements, because it’s not true you can cover them through aspect-oriented or separation of concern. For instance, you cannot put in “reliability” to a system after you have covered the functional aspects only
- So, best to call them “qualities” of the system. Even in ancient Greece, quality was undistinguishable from the thing itself
On the other side, Mark Van Den Brand was pointing to:
- the risk for software engineers to become obsolete, because every domain expert is going to build his own tools and languages by himself
- the software engineers then should become more interdisciplinary, while not delve into becoming domain experts of some sort.
- Modeling is dead! In the sense we cannot expect
- We should move to Un-Modeling Practices, that is: remove modelling as a tool for everybody, using modelling tools as experts, and let people enjoy only the little bit they deserve, without forcing MDD frameworks, which are usually not easily accepted
- Modeling should be used under the hood and each actor should be shown the proper tool (including programmers, who are not easily buying the model-driven approaches at all)
- This will not be possible until language and tool designers will be software engineers only (just think at the terrible modelling tools we are able to build).
- Here is the slides I used for my pitch: