The current generation of programmers are doing what Edsger Wybe Dijkstra hoped not would happen.
They are the cause of the mess we are in. They forgot to keep the balance between structure (Thinking) and meaning (Emotion).
The Managers of the Programmers are “out of tricks” and have become cynical.
They don’t believe there is a way out. They are “muddling trough”, reacting on every major critical event with an impulsive re-action. It will be hard to convince them that there is a solution to their problems.
The major target are the Users within or the Customers of the companies. They feel very stressed and don’t have a clue why this is happening to them.
Their asset is that they Know How they are doing their job and they are able to Articulate What they are Doing. The only thing they don’t see is the Cycle. They are Part of a Whole without seeing it. This is normal.
When we ask the User what they are doing we give them a simple tool to paint a picture of the flow of their activities. If they have done this we generate the processes that are supporting them instantly. This will motivate them to go on.
In the next step we make a connection between Action and Meaning. We ask the user to define the meaning of the terms they are using. We could use Wiki. Wiki makes it possible to start a dialogue about the meaning.
This dialogue will create mutual understanding (Consensus) and in the end a Shared Convention, a mapping of meaning from person to person, culture (community, context) to culture (community, context). The next step is to transform Meaning into Structure.
The person that was an expert in the transformation of meaning to structure was Sjir Nijssen. He developed a method called NIAM. NIAM has generated many dialects called ORM, FORM, RIDDLE, FCO-IM and DEMO.
The basic idea of all these methods is to analyze human communication in terms of the sentences we speak and the commitments humans make to the each other.
NIAM takes out of a sentence the verbs (Action) and the nouns (Structure) and of course the numbers and creates a semantic model (the so called Universe of Discourse).
What Nijssen understood was that a computer is able to register Facts (reality we agree upon). The facts are stored in memory. If we all agree about the facts we can use them to start reasoning.
When we know what the user is doing and what he means we can move to other actors he has defined in his activity-diagram. We just perform the same process over and over again. Every time a new user (actor, role) is added we restart the dialogue about meaning.
At a certain point in this process of inquiry we will notice that the meaning in the context is stabilized. It has turned into a shared convention. What we also will notice is that a faint cycle (or a cycle in a cycle) becomes visible.
It will be full of strange loops and useless activities. Some people in the context will produce and others will just throw away what the others are producing. They don’t know because they don’t communicate on the level of their community.
This is the moment to start a new dialogue. The dialogue of Reflection (Why?). We are able to show to the actors in the community the whole. We call this tool a Monitor.
We will give them the opportunity to start a shared process of innovation (using the imagination). We can give them tools to Explore, to Design new activities and to Analyze the Facts (find patterns). We can even give them tools to Play with (games, simulator). All the time the Monitor will show them the state of their joint effort. I am certain the community will clean itself, get into balance, with joy.
In communities and organizations and of course society there are many stable invisible infrastructures. The visual activities of the users have to be connected to these layers. This has to be done by programmers. They have to define interfaces. User-Data is converted into messages that jump out of the layer when a human interference (mostly a decision) is really needed.
The consequences of this approach will be enormous. Many people will be out of work but they will be needed in the next step of Collective Innovation.
Want to read more about Dijkstra