Master modelers: The Modeling Craftsmanship Camp #mcmscamp

Two months ago I already reported on the fact that I am organizing an event together with Stephan Dankers. Today I would like to say a few more words about it, because at the weekend we opened registration for the first Modeling Craftsmanship Camp unlocked.
Registration for the first Modeling Craftsmanship Camp on November 19, 2016 in Hanover is now open! ([tweetthis]Registration for the first Modeling Craftsmanship Camp #mcmscamp on November 19 in Hanover is now open![/tweetthis]) The early bird tickets (€20) are already sold out. Secure your ticket now >>
But I don't want to write a promotional article here, nor do I want to repeat what I said two months ago. Instead, I would like to discuss the question of what craftsmanship actually is.
Master craftsman or academic?
We live in a world that is strongly characterized by academics, at least in Germany. The importance of university education can already be seen in the figures: In the meantime over half of a year the university entrance qualification - In 1950 there were 5%. And if you look at the development of the country in the second part of the last century, this has not stopped economic development. The important questions here are: do we even need craftsmanship outside the "traditional" trades, and if so, is this taught in academic education?
What is craftsmanship?
As the name suggests, craftsmanship is working by hand. It is about carefully creating the end product, not as an industrial mass product but - precisely - by hand. In contrast to typical desk work, every movement in craftsmanship has to be right, otherwise the material is quickly ruined.
From this point of view, it seems understandable at first that academic work differs from this. In the past, anyone designing on a drawing board (and even more so today with CAD software) did not have to worry about manual dexterity at the time: There used to be appropriate tools for making corrections, and in the age of the computer, mistakes can be corrected without a trace. So we don't really need craftsmanship anymore, do we?
10,000 hours to the master
In his Book Outliers Malcom Gladwell repeatedly claims that you need 10,000 hours to become a master - regardless of the discipline. Even if this rule has its critics, I find it helpful. And it makes it possible to build a bridge to non-manual work again: because mastering depends on mastering, and mastering depends on practicing.
10,000 Hours to Become a Master (Malcom Gladwell) [tweetthis]10,000 Hours to Become a Master (Malcom Gladwell) #mcmscamp[/tweetthis]
Everything has to be practiced, even things that are not done by hand. A good example of this is programming, which almost every academic learns these days. However, you can only learn to program properly by programming, and it is therefore easy to tell the difference between the code of a beginner and that of a master. I have written almost a million lines of code in my lifetime, and many programmers confirm that programming is a craft. (Unfortunately, not everyone who practices a lot becomes a master. You have to have the will to surpass yourself).
The 70/20/10 rule states that only 10% of what we learn comes from theoretical training. [tweetthis]70/20/10 rule: only 10% of what we learn comes from theoretical training #mcmscamp[/tweetthis]
In systems engineering, the 70/20/10 rule This means that 70% of the learning success comes from the actual work, and only 10% from the actual training. The remaining 20% come from interaction with people.
The death of mass production makes craftsmanship all the more important
To summarize: Even if the "hand" loses importance in crafts, the aspect of "practicing for a long time" remains. What also remains is the aspect of "Masterpiece" or masterpiece: something really successful that has been produced by a master craftsman. And here we are back at the beginning: the opposite of craftsmanship is industrial mass production. But in order to create a mass-produced product, it must first be developed. And the artifacts of development themselves can be masterpieces. For example, the software that runs on a cell phone is only written once. It is a unique piece made by "hand", which is then copied millions of times.
There is a second aspect to this: traditional mass production is slowly becoming a niche. We are already seeing this in the automotive sector, where no two cars that roll off the production line are the same. Admittedly, the cars are still industrially produced, but the customer expects more and more customized products (mass customization), as well as a result instead of a product (post-industrial society). All of this means that the quality of the craftsmanship of the results is becoming increasingly important.
Craftsmanship in modeling
The circle closes when we consider what modeling actually is: an abstraction that serves communication. Modeling runs through all areas of life: even a text like this is the modeling of an idea. A requirements document is a model of customer needs.
Meet masters of modeling at the Barcamp (camp.modelingcraftsmanship.com) [tweetthis]Meet masters of modeling at the #mcmscamp[/tweetthis]
Our Modeling Craftsmanship Camp is specifically about system modeling. This is of course particularly important for us systems engineers, as it plays a central role in the development of complex and complicated systems. We have made exciting progress in the last ten years, and in particular invented our own language for this, SysML. Our camp is about exchanging ideas with other masters of modeling to create models we can be proud of.






This article addresses an extremely interesting social issue: The self-image of people who create system „models“. I hope you have had different experiences with SysML/UML users than I have, but in my personal experience this self-image is rarely that of a master craftsman.
This starts with simple observations. While a technical draughtsman generally observes the notation for technical drawings. This is not the case for many people who (pretend to) use UML or SysML. They tend to have the self-image of an artist.
In my understanding, notation is a tool of the trade: a set of rules that must be adhered to. With this understanding, I have mostly met with reactions ranging from incomprehension to amusement.
In my previous projects, UML/SysML was generally used in the „as scratch“ or „as blueprint“ form. There is usually no obligation to adhere to the UML or SysML notation in this type of application. No artifact generator insists on compliance and neither do the majority of tools.
A former client, who at that time employed around 800 people to create UML models, wanted to switch to a UML tool that strictly adhered to the UML notation. This led to a collective blockade of the employees. Fabulous issues were entered into the ticket system, which actually only showed that the „architects“ did not know UML. The introduction of the new modeling tool turned out to be a disaster, as virtually all the „architects“ continued to draw with the previous tool.
But I also have positive things to report:
On the other hand, BPMN is often used as a „programming language“, which means that more craftsmanship can be found here. In my current project - my role is consulting architect as a link between customer and contractor - even the error handling is masterfully modeled with BPMN tools.
Greetings,
Carsten Pitz
PS I attribute the classification into „... as scratch“, „... as blueprint“ and „... as programming language“ to Shlaer and Mellor. Who originally came up with this classification?
Thank you for the detailed comment. There's actually not much to add - after all, the aim of the barcamp is to exchange ideas on these topics: Precisely for the reason that there are problems there. Your contribution shows several facets of the acute problems.
> While a technical draughtsman generally uses the notation for
technical drawings, for many this is the (default) UML
or SysML is not the case.
That's right, there's a lot of „painting“ going on at the moment. There are certainly two reasons for this: Firstly, it is easy to succumb to the illusion of knowing UML/SysML („everyone understands boxes and lines“). On the other hand, it is still rare for models to be further utilized. Without utilization, the correctness of the model *seems* not to be important (i.e. „as scratch“ vs. „as programming language“).
> The self-image of an artist is more prevalent there.
I have also seen this mentality a lot among programmers: The craftsmen pay attention to correctness (e.g. design patterns), the artists build their own frameworks, which usually can't keep up with professional frameworks.
> I attribute the classification into „... as scratch“, „... as blueprint“ and „... as programming language“ to Shlaer and Mellor.
I don't know it, but it seems useful to me. It reminds me a bit of the SYSMOD Intensity Model in Tim Weilkien's book [1], with the stages „Communication“, „Traceability“ and „Specification“.
Greetings from Düsseldorf,
- Michael Jastram
[1] https://se-trends.de/rezension-model-based-system-architecture/