About Software Maintenance

You can develop software at the level of the software-language itself (coding) or at the tool-level (generating). When you use a tool the complexity of the software-development-process is reduced but the complexity of the coding increases.

When you use a tool the software-language is generated but the coding of the generator is not readable. You need the tool to understand what the software is doing. If you use a tool you have to change the software on the tool-level. If you adapt the generated coding the tool is not usable anymore.

The big problem arises when a software-vendor abandons his tools. This happens often. Software-vendors go broke, are sold and merge or they simply don’t want to maintain the software of the tools.

When a software-vendor has stopped to maintain his tools he also stops to adapt his tools to the underlying hardware, the target-environment of the tools. The target-environment changes because hardware-vendors improve their software, go broke, are sold and merge or simply stop the maintenance of their hardware.

It is very easy to develop new software with a new software-tool. The software-development process becomes very complicated when you want to connect the new software to the old software and the old software is generated by obsolete tool-sets generating obsolete coding that is used by obsolete hardware.

In practice every new software-language, every software-tool and every piece of hardware becomes obsolete. This means that you always have to maintain a huge incomprehensible set of software-components.

Many companies wait until the last moment to replace an obsolete software-environment. At that moment the skills to adapt the software-environment are gone and the only thing that is left for them is to cope with the current situation.

What has happened?

The software-industry is still in its infancy. About fifty years ago the industry was born and it took a very long time to understand what was right and wrong. During that time many companies became highly dependent on immature software.

Why do 70% of the IT-projects fail?

The main approach is to define a new system “out of the blue”. When the project has to face the reality of the installed base things go terribly wrong.

How do you Face Reality?

You are able to face reality when you have made an inventory of all the software components, their relationships (the syntax) and the semantics, the meaning, of the components and their relationships. This sounds simple but it is a very complicated and expensive activity to describe the so called “installed base”. When you have never spent enough time to create a reliable inventory you have to do a lot of work. Most companies postpone this activity until eternity.

They know “everything” about their personnel, their assets and their financial situation but they are “in the blind” about the software that is keeping the books about their personnel, assets and finance. If they don’t know what the software-systems are doing how do they know that their databases are reliable? The answer is simple. They don’t.

What is Software?

A Tool, Software, generates Software but Software generates another type of Software called Machine-code. Software generates Software until the software has reached the lowest layer, bits and bytes. At a certain level the generated software is not understandable.

When the lowest level is reached the bits and bytes activate a processor that is controlled by a clock (the CPU). The processor moves the bits and bytes and sends the end-result (other bits and bytes) to the Outside. At the outside the bits and bytes are transformed into human readable symbols that are presented on a user-interface (Screen, Paper).

Why is Software Changed?

Software has to Change because something Happens in the Outside World, an Event. The Event is propagated until the lowest level, bits and bytes.

So Software (N) = Software (N-1) + Event (N-1) and Software (N, Level (L)) = Software (N-1, Level (L-1)) + Event (N-1, Level (L-1)).

If You write out both sequences the end result is a long sequence of Events.

Software = Event (1) + Event (2) + Event (3) + ………………

Problems arise if you let every Event happen at the moment it happens. If a software vendor creates a new version of its software there is no need to implement this version immediately. Sometimes it is much better to wait until the new release is stable. To prevent chaos you have to Manage the Events that are entering your Software-environment (Change & Release-management).

What is an Event?

An Event is Happening when Something is Set into Motion by Pressure (Tension). Most of the time an Event is associated with a Very Short Duration, an Explosion, but An Event can take much longer. A Movie is an Event. The Great Pyramid in Egypt is an Event.

An Event changes its Intensity all the time. A Concert has a Start and an Apotheosis. An Event is a Wave or a Vibration and every Event has its Unique Pattern.

An Event extends and compresses in Space/Time (A Hurricane). An Event is Born, Expands, Compresses, Dies and Disappears. It follows a Life-Cycle.

Software = Wave (1) + Wave (2) + Wave (3) +

If Events are Born, Mature and Die You can wait until the Event has reached the stage of Maturity. Many Events in the Software World never reach maturity. They die before they have reached this stage.

What is the next stage in the Software Wave?

To predict the Software-Cycle we have to define the Level and the Periodicity of the Wave You want to explore. Every Wave moves through five stages. At a certain point the wave moves to another level (Up or Down) and starts to cycle again.

The simplest way to describe the stages is to use the Four Seasons (Winter, Spring, Summer and Fall) in combination with a Fifth Stage called Indian Summer. This is the stage of the Whole or the Centre. It lies between Summer and Fall.

At this moment the Software Wave is in the Stage of the Centre and is preparing to Jump to another Level. In the Fifth stage the Centre, The Infrastructure, The Foundation, itself is on the Move.

What is the new Centre?

It is very clear that we are moving to a world-wide-software infrastructure. The Foundation of the Infrastructure is the Internet.

What to do?

When a new infrastructure is created the old infrastructure will become obsolete. If the old infrastructure becomes obsolete every layer on top of the infrastructure will become obsolete. This means that the best thing you can do at this moment is “wait and see”. Try to maintain the current situation as much as possible and prepare for the next step.


About the Foundation of IT

About the Cycle of the Seasons

About Software and the Cycle of the Seasons

About The Device Paradigm

The Internet shows everything Chaos-Theory is talking about. When the Internet was working on full speed connections were made between people and systems that were never connected.

Out of the Internet something New is Emerging.

The Internet is also a major Force against everybody who wants to take over the power. Everything everybody is doing in secret appears on the Internet and although many people are trying to block the Freedom of Press it will take a major effort to do this.

Even the manipulation of the Search Engines by companies like Google want help because people mainly in the Open Source Community will always create new ways of searching.

Behind the Internet is a phenomenon called Abstraction. Abstraction is a method to Compress a Lot of Information. Abstraction is the Process of Moving UP.

There are two ways to Abstract. The first one just Moves Up but is never able to Come Down. When we have abstracted something we are unable to move to the source of abstraction without loosing information. The only way to this is to use Self-Reference (Fractals).

The American philosopher Albert Borgmann wrote many books about the problems of Abstraction. His main concept is called the Device Paradigm.

In Borgmann’s terminology, a device is an artifact or instrument or tool or gadget or mechanism, which may be physical or conceptual, including hardware and software.

According to Borgmann, it is a general trend of technological development that mechanisms (devices) are increasingly hidden behind service interfaces. Technology is thus regarded as a means to an end, an instrument or contrivance.

The effect of the Device Paradigm is that everything becomes the Same. In the end Every Thing is mapped into “Bits and Bytes“. If this happens we have been moved into Virtual Reality.

What we have to Understand is that Abstraction is a Tool of the Mind. We are now already in a state were we don’t realize this is the case. The Mind is disconnected from the Emotions.

When we Play in Virtual Reality we are able to Kill Virtual People without any problem. If we are in the Army we are using Devices that shield us from Reality. A pilot pushes a button and on his User-Interface the Bomb explodes. He is totally unaware of the effects in Reality.

The Device Paradigm also shows that in the end everything becomes a Commodity. We are not burning wood to produce warmth. We are using Energy and we really don’t know where it came from. Our relationship with Reality, Nature, is disconnected.

By applying technology as a means to an end we have given the Objective Cold Mind the possibility to Move UP. We have created The System.

The System generates the feeling of powerlessness. When we feel Powerless we become Aggressive and because we are unable to fight the System we find others who become the Target of our Aggression.

So we have to bring down the Level of Abstraction again. George Lakoff and many others have already discovered where Abstraction ends. It ends when we are unable to Imagine (make pictures of) what is abstracted.

When we imagine (Spirit) we are able to feel Emotions (Soul). When a Pilot is able to imagine what a Bomb is really doing to others he will think twice before he pushes the button. If we imagine that children are misused to produce our textile we will think twice before we buy.

Borgmann is highly influenced by Heidegger.

In our time, things are not even regarded as objects, because their only important quality has become their readiness for use. Today all things are being swept together into a vast network in which their only meaning lies in their being available to serve some end that will itself also be directed towards getting everything under control.”


About the Device Paradigm

About the System

About Koestler and Lakoff

About Russell and Lakoff