Author Archives: ggreiter

Hat Markus Gabriels Erkenntnistheorie wissenschaftlichen Wert?


Markus Gabriel – Philosoph und Inhaber eines Lehrstuhls für Erkenntnistheorie – ist eine recht spannende Persönlichkeit:

Er schafft es – und sieht es als eines seiner erklärten Ziele -, Philosophie unters Volk zu bringen.

Das ist zu begrüßen, hat aber seinen Preis:

Gabriels Startpunkt als Professor für Philosophie war seine – gewollt oder ungewollt – überaus werbewirksame These:

    • “Alles existiert, nur die Welt als Ganzes existiert nicht”

Wer nun aber versucht, Gabriels Argumentation hin zu diesem Denkergebnis zu verstehen, wird bitter enttäuscht, da sich schnell zeigt, dass sie ganz gravierende handwerkliche Mängel aufweist:

Sie basiert auf dem Begriff » Sinnfeld «, für den Gabriel aber versäumt, eine Definition zu geben.

Er geht aus von der Annahme, die Welt sei das Sinnfeld aller Sinnfelder.

Da er sehr belesen ist, und so natürlich auch Bertrand Russels Schriften kennt, ist ihm aufgefallen, dass Russel zeigen konnte, dass der Begriff » die Menge aller Mengen « nicht wohldefiniert ist, genauer: dass es die Menge aller Mengen nicht geben kann.

Wohl nur in Analogie dazu behauptet Gabriel, die Welt (als Sinnfeld aller Sinn­felder), könne nicht existieren.

Er übersieht dabei, dass Cantor Mengenlehre vom Axiom ausgeht » Keine Menge ist Element ihrer selbst «. Erst dieses Axiom hat zur Folge, dass die Menge aller Mengen nicht existieren kann.

Gilt Analoges, wie Gabriel ohne Begründung annimmt, aber auch für Sinnfelder?

Dies zu entscheiden, müsste der Begriff des Sinnfeldes erst mal genau definiert sein. Gabriel versäumt, in genau zu definieren. Welchen Wert kann dann aber seine Schlussfolgerung haben, dass die Welt – als Sinnfeld aller Sinnfelder – nicht existiere?

Wem diese Argumentation als allzu theoretisch erscheint, bedenke Folgendes:

Gabriel verkündet:

    “I point out that the world does not and cannot exist!

    It is a bit like the biggest natural number: once you know what a natural number is, you know there is no such thing as the biggest natural number — once you know what existence is and what the world is, you know that the world does not and cannot exist.

Er übersieht dabei, dass, in seinem Gleichnis, die Welt nicht einer natürlichen Zahl entspricht, die größer wäre als alle anderen, sondern dass sie der Menge aller natürlichen Zahlen entspricht. Sie aber ergibt sich (und existiert) als Vereinigung all ihrer endlichen Teilmengen.

Mit der Welt ist es ebenso: Selbst wenn man davon ausgeht, dass kein einziges Sinnfeld die ganze Welt umfasst, existiert die Welt eben doch als Vereinigung aller jemals gedachten Sinnfelder.

Gabriels Fehler also:

Er vergleicht die Welt mit etwas, das nicht existiert (eine größte natürliche Zahl) und glaubt dann, dies sei ein Beweis dafür, dass die Welt nicht existieren könne.

Kann man derart schlampige Argumentation dem Inhaber eines Lehrstuhls für Erkenntnistheorie durchgehen lassen?

Warum mich Markus Gabriel — als Professor der Philosophie — ein wenig an Boris Johnson erinnert


Im Interview MARKUS GABRIEL wird Markus Gabriel, ein noch sehr junger Professor für Philosophie, wie folgt zitiert:


    Since Kant, many philosophers have realized that there is no single point of view, no view from nowhere, from which we could possibly observe the world in the sense of absolute totality.

    Hence, the prevalence of certain forms of skepticism: how can we ever know the real, given its infinite complexities? Instead of arguing that we cannot have a theory of everything because of some kind of human or scientific limitation, I point out that the world does not and cannot exist!

    It is a bit like the biggest natural number: once you know what a natural number is, you know there is no such thing as the biggest natural number — once you know what existence is and what the world is, you know that the world does not and cannot exist. In order to get there, I first came to the con­clusion that to exist is for something to appear in a field of sense, as I put it.

    The idea is quite simple: Germany exists, the number three exists, nightmares exist, and unicorns exist (in movies, for instance). What this really means is: Germany appears in the history of Europe; the number three in the series of natural numbers; nightmares in our everyday lives or in psychoanalysis; unicorns in movies and our accounts of what happens in them. There is no single, general feature of existence that is shared by Germany, the number three, nightmares, and unicorns, yet they all exist! The world, had it existed, would have been a field of sense of all other fields of sense. But what notion of existence would be required for the world?

    Let me put this basic idea I spell out in various ways a little bit more intuitively, with the help of a thought experiment I call “Google Universe.” Imagine you use Google Earth and first see your street. You push minus and then see your city, your country, your continent, and ultimately Earth. If you could continue this with “Google Universe,” you would see the Milky Way, then a galaxy cluster, then more galaxies and in the end, the universe. But where do you stand if you see the universe as a whole? Well, nowhere! This is why this is impossible. “Google Universe” cannot exist.

 

Hieraus geht klar hervor, dass Existenz, wie Gabriel sie versteht, nur Dingen zukommen kann, die durch Menschen beobachtbar sind oder mindestens gedacht werden.

Dass ist ein sehr merkwürdiger Existenzbegriff, da er ja impliziert, dass nur existenz sein kann, was Gegenstand menschlicher Betrachtung ist.

Nun wissen Astrophysiker aber ganz genau, dass ständig Sterne über unseren Beobachtungshorizont hinaus wandern (und das sogar mit Lichtgeschwindigkeit). Da nicht anzunehmen ist, dass sie sofort hinter unserem Horizont aufhören physisch zu existieren, nur weil es uns ganz prinzipiell nicht mehr möglich ist, sie zu sehen, macht solcher Existenzbegriff keinerlei Sinn.

Noch mehr irritiert, dass Markus Gabriel — nicht nur als Philosoph, sondern auch als Inhaber eines Lehrstuhls für Erkenntnistheorie — uns offenbar gar nicht klar machen möchte, was sein Existenzbegriff bedeutet. Er lässt seine Zuhörer im Glauben, dass er und sie unter Existenz ein und dasselbe verstehen.

Das einzige, was Gabriel ständig — recht werbewirksam und nun schon seit 2009 — wiederholt, ist seine spektakuläre Aussage (Zitat):


    The idea is quite simple: Germany exists, the number three exists, nightmares exist, and unicorns exist (in movies, for instance). What this really means is: Germany appears in the history of Europe; the number three in the series of natural numbers; nightmares in our everyday lives or in psychoanalysis; unicorns in movies and our accounts of what happens in them.

 

Nur die Welt als Ganzes aber – die doch auch Gegenstand unseres Denkens sein kann – existiert seiner Meinung nach NICHT. Den Beweis bleibt er schuldig, denn soweit er ihn bisher versucht hat zu geben, war seine Argumentation alles andere als schlüssig (mehr dazu auf Seite Logischer Realismus — die gut begründete Gegenposition zum Neuen Realismus: eine Kritik, auf die Gabriel bisher nicht reagiert hat).

Wie also ist Markus Gabriel einzuordnen?

Will er nicht verstehen, dass Existenz immer nur Existenz in einer bestimmten Rolle sein kann (dass es also Dinge gibt, die in einer Rolle existent, in einer anderen aber nicht existent sind)?

Da ich Gabriel für einen sehr intelligenten Menschen halte, gehe ich davon aus, dass er das sehr wohl weiß. Warum aber verschweigt er es und setzt sich so dem Verdacht aus, dass es ihm einfach nur darum gehen könnte, möglichst werbe­wirksam spektakuläre Aussagen in die Welt zu setzen, von denen er ganz genau wissen sollte, dass die Mehrzahl all seiner Zuhörer sie wörtlich nehmen werden. Würde das dann aber nicht schon an ganz bewusste Lüge grenzen? Wäre sie eines Wissenschaftlers würdig?

Logischer Realismus — die gut begründete Gegenposition zum Neuen Realismus


Markus Gabriel, seit 2009 Inhaber eines Lehrstuhls für Erkenntnistheorie an der Universität Bonn, beschreibt sein bisher wohl bemerkenswertetes “Forschungs­ergebnis” in eigenen Worten wie folgt:


    “Die Welt kann nicht existieren, weil sie nicht in der Welt vorkommt. Aber mit Ausnahme der Welt gibt es alles — auch Polizeiunform tragende Einhörner auf der Rückseite des Mondes”.

 
In seiner Antrittsvorlesung [AV] begündete er diesen seinen Standpunkt mit der — wie wir gleich zeigen werden keineswegs schlüssigen — Argumentation, dass die Welt, da sie nicht auflistbar ist, nicht existent sein könne.

In seinem Buch » Warum es die Welt nicht gibt « , Ullstein 2013, argumentiert er auf Seite 96-126 deutlich anders, aber keineswegs überzeugender: Die Welt, so schreibt Gabriel dort, könne nicht existieren, da sie ja in einem Sinnfeld auftrete, somit als Teil ihrer selbst auftrete, was ein Widerspruch zur Annahme sei, sie existiere.

Sein Denkfehler: Er übersieht, dass nichts, was in einem Sinnfeld auftritt, dort dann notwendigerweise auch schon in vollem Umfang auftritt.

Es lohnt sich also, Markus Gabriels Neuem Realismus als Gegenposition folgende Argumentation entgegenzustellen, die man dann als Beginn des Zeitalters des Logischen Realismus sehen kann:

Logischer Realismus geht von folgender Grundposition aus:

    Ein Ding D existiert — wenigstens als Sinnfeld —, sobald ihm jemand Sinn S zugeordnet hat mit dem Effekt, dass (D,S) sich dann als widerspruchsfreies Sinnfeld darstellt.

    Sinnvoll sprechen lässt sich nur über Dinge, denen der Sprecher schon Sinn zugeordnet hat.

    Existenz kann ihnen nur zukommen, wenn jener Sinn sie widerspruchsfrei interpretiert.

    Daher sei definiert:

    Die Welt eines Denkers besteht aus allen ihm bewusst gewordenen, widerspruchsfreien Sinnfeldern (D,S).

    Unter der Welt generell verstehen wir die Vereinigung der Welten aller Denker, die je geboren wurden. Sie ist eine ständig wachsende Klasse (oder gar Menge?) widerspruchsfreier Sinnfelder.

    Konsequenz daraus:

    Die Welt, als Sinn machendes Konzept, wird erschaffen und wächst durch unser bewusstes Denken.

    Sie existiert, soweit die darin enthaltenen Sinnfelder (= widerspruchsfreien Konzepte) Instanzen haben.

    Ein sinnbehaftetes Ding ( D2, S2 ) gilt als Instanz eines Konzepts ( D1, S1 ), wenn die Aussage » ( D2, S2 ) ist ein ( D1, S1 ) « Tatsache ist.

    Würde die Welt nicht existieren, gäbe es — nach dieser Definition — kein einziges Konzept mit Instanzen. Das aber ist falsch, da es jede Menge mathematischer Konzepte gibt, die ganz klar Instanzen haben (das Konzept » natürliche Zahl « ist das wohl wichtigste Beispiel hierfür).

    Wir sehen also: Die Welt existiert. Genauer noch: Sie existiert als eine durch die Relation » ist ein « geordnete Menge widerspruchsfreier Sinnfelder.

Nebenbei noch:

Markus Gabriel, letzlich aber auch der Logische Realismus, kennt die Welt als die Gesamtheit aller Dinge, Tatsachen und Sinnfelder.

Beide, der Neue Realismus wie auch der Logische Realismus, verstehen unter einem Ding neben allem, was materieller Art ist, natürlich auch Gedanken, Aus­sagen etwa, oder z.B. physikalische Kräfte, eben alles, was sich uns über unsere Sinne mitteilen oder in unserem Gehirn erzeugt werden kann.

Damit grenzen beide sich ganz entschieden ab vom Materialismus, über den Markus Gabriel schreibt (S. 43-45 in seinem Buch):

    “Der Materialist meint, dass es unsere Einbildungen von nicht-materiellen Gegen­ständen nur gibt, weil wir uns in bestimmten materiellen Zuständen befinden.

    Seine Behauptung, dass der Gedanke » Es gibt nur materielle Zustände « wahr sei, kann man nicht dadurch verifizieren, dass man sich alle Gegenstände (und damit auch alle Gedanken) ansieht und überprüft, ob sie materiell sind.

    Doch woher weiß der Materialist dann, dass alle Gegenstände materielle Zustände sind? Wenn er uns dies nicht mitteilen kann, haben wir keinen Grund, uns dem Materialismus anzuschließen.

    Der Materialismus ist somt keine naturwissenschaftlich beweisbare Aussage. Aber nicht nur das, er ist auch schlicht falsch.”

Letzters — nämlich falsch zu sein (da er der Welt falsche Struktur unterstellt) — werfe ich, Gebhard Greiter, auch dem Neuen Realismus vor.

Es sei nun jeder ernsthaft an Philosophie Interessierte aufgerufen, zu überprüfen, in welchem Umfang er meine oben skizzierte » Logische Sinnfeld-Ontologie « als schlüssig anerkennen kann.

Warum Homo Sapiens die Krone der Schöpfung wohl nicht ewig tragen wird


Der Mensch und seine Psyche sind nicht ganz so einzigartig, wie man zunächst denken mag. Auch höher entwickelte Tiere kennen Bewusstsein, Emotionen und intelligentes Verhalten.

Sie – aber letztlich auch der Mensch – sind ganz sicher per Evolution entstanden.

Das bedeutet aber nicht, dass dazu nicht doch ein Schöpfer notwendig gewesen sein könnte, den man dann gut als » den Gott der uns erschaffen hat « bezeichnen könnte.

Soweit wir heute sehen können, hätte er uns dann indirekt geschaffen, eben dadurch, dass er das Vakuum geschaffen und die Naturgesetze in Kraft gesetzt hat, welche dann ihrerseits dazu führten, dass aus dem Vakuum heraus der dort vorhan­denen brodelnden Energie wegen zunächst Strahlung, dann auch Materie und schließlich per Emergenz und Evolution sogar Leben auf immer höherer Entwicklungsstufe entstand.

So gesehen sollte man keineswegs zwingend davon ausgehen, dass der Mensch auf immer Krone der Schöpfung sein wird.

Man kann nicht ausschließen, dass es schon in wenigen Millionen Jahren auf der Erde eine so hoch entwickelte Art bologischer Lebewesen geben könnte, dass ihnen Menschen als ähnlich primitiv erscheinen wie uns heute Hund, Katze oder Kanarienvogel im Vergleich zu uns.

Reptilien z.B. sind auch intelligent, sind evolutionstechnisch gesehen, als Art also, deutlich älter als Homo Sapiens, und doch gibt es sie – wieder nur als Art – heute immer noch. Wie aber vergleicht sich ihre Intelligenz mit der von Menschen?

Die Wahrscheinlichkeitstheorie jedenfalls lehrt uns, dass – hinreichend viel Zeit gegeben – alles, was möglich ist, auch tatsächlich eintreten wird.

Und was sind schon wenige Millionen Jahre im Vergleich zur Zeit, die die Erde noch extistieren wird?

Erfolgreiches Software Engineering erfordert mehr als nur mittelmäßig gut ausgebildete Programmierer und Tester


In der Computerwoche vom 30.8.2016 liest man:

Kurz- und mittelfristig erföffnet die Digitalisierung Softwareentwicklern gute Aussichten: Sie werden für die Ablösung der Altsysteme gebraucht. Um sie voranzutreiben, braucht es Softwareentwickler. Besonders im deutschsprachigen Raum ist der Beruf des Programmierers aber nicht so angesagt wie er sein sollte.

Meine Meinung dazu:

  • Nur wenige Programmierer sind das, was ich als kompetente Software-Entwickler bezeichnen würde.
     
  • Ihren Chefs scheint das selten klar zu sein.

    Zudem glaubt man allzu oft, als Software-Entwickler schlecht ausgebildete Programmierer & Tester einsetzen zu können (um so Geld zu sparen).
     
  • Diese Fehleinschätzung wird sich rächen.
     
  • Erste Anzeichen dafür, dass ich recht haben könnte, gibt es schon.

 
Mein Eindruck:

Wenn man heute von Programmierern spricht, sind damit nicht selten nur noch Leute gemeint, die mehr oder weniger kompetent an Code rumfummeln können und SCRUM für ein Synonym modernster Projektabwicklungsmethodik halten.

Für die Beseitigung kleiner Fehler mag das ja gerade noch ausreichen. Komplexe unternehmens­kritische Legacy Software auf neue Technologie zu migrieren reicht es aber keinesfalls. Was dabei herauskommt sind Desaster wie das in Kalifornien: Beim Versuch, das Payroll System des Staates neu zu implementieren hat man gleich zwei Mal Schiffbruch erlitten. Der zweite Auftragnehmer (immerhin SAP) musste sich schließlich bereit erklären, Schadenersatz in Höhe von 59 Millionen Dollar zu zahlen und auf weitere 23 Millionen Dollar eigener Forderungen zu verzichten.

Wie wenig kompetent Software-Entwicklungs-Teams gelegentlich sein können, zeigt auch ein Beispiel aus 2012.

2011 wurden nicht weniger als zehn ähnlich umfangreiche Projektkatastrophen bekannt. Alle hatten ERP Software zum Gegenstand, Software also, welche die Existenz der Unter­nehmen, die sie einsetzen, gefährden kann, wenn sie nicht richtig funktioniert.

Besonders lehrreich ist der Fall in Großbritannien, wo ein Schaden von 11 Mrd. Pfund entstand u.A. deswegen, weil die mit der Implementierung des nationalen Verwaltungssystems für Patientendaten beauftragten Software-Entwickler (in diesem Fall CSC) bis zuletzt nicht erkannten, dass sie mit der Realisierung der Software überfordert waren: [B].

Über falsch verstandene “Agile” Methodik


Wer mich kennt der weiß:

Ich bin ein erklärter Gegner der im Agile Manifesto postulierten Methodik und der daraus entstandenen — völlig ungeeigneten — Software-Entwicklungs-Modelle, für die heute SCRUM schon fast als repräsentativ gilt.

Am deutlichsten habe ich meine Warnung vor solch verwerflichen Formen von Agile wohl zusammengefasst auf den beiden Seiten

Man sollte daraus nun aber nicht schließen, dass ich ein Gegner heute notwendig gewordener Agilität wäre.

Ganz im Gegenteil: Mir ist klar, dass spätestens ab der Jahrtausendwende agiles Vorgehen unverzichtbar geworden ist — die im Manifesto vorgeschlagene Lösung allerdings kann nur ins Verderben führen (denn sie ist undurchdacht und beispiellos naiv).

Meine Ansicht darüber, wie Agilität verstanden und gelebt werden sollte, ist definiert auf den beiden Seiten:

Um zu zeigen, dass ich keineswegs der einzige bin, der “Agile” und SCRUM für absolut ungeeignet — ja sogar gefährlich — hält, seien hier Links hin zu Meinungen Dritter aufgelistet, die ebenso denken wie ich und die aus eigener negativer Erfahrung heraus zu dieser Einstellung kamen:

  • Gartner fand heraus …
     
  • Michael O. Church — heute bei Google — sah durch Umstieg auf SCRUM ein schon börsen-notiertes Startup-Unternehmen zugrunde gehen. Er schreibt wörtlich: “This shit is toxic, it needs to die yesterday.”
     
  • Erik Meijer, ein mehrfach preisgekrönter Fachmann für Software-Entwicklung, nennt SCRUM ein “Krebsgeschwür”.

Weitere Meinungen:

Historisch gesehen, gilt:

Die extrem bürokratisch angelegten Vorgehensmodelle, die

  • zunächst in den USA durchs DoD (Department of Defence) zur Pflicht gemacht wurden,
  • dann aber — in Nachahmung davon — auch in Deutschland als sog. V-Modell (entwickelt von der IABG) sogar Behördenstandard wurden,

mussten irgendwann zu einer Gegenreaktion, zu einem Befreiungsschlag führen. Er kam in Form der Agilen Bewegung, war aber nicht durch entspre­chende Forschung unterstützt, und hat daher zu einem geradezu lächer­lichen Modell geführt, dessen Aushängeschild sich SCRUM nennt und fast schon als verdammenswert einzustufen ist).

Erst nach 2000 wurde einigen wenigen klar, wie ernst man die Gefahren dieser neue Bewegung nehmen muss. Weltweit anerkannte Methodiker des Software-Engineerings, die ihre Stimme hätten erheben können, waren da aber just schon alle aus dem aktiven Berufsleben ausgeschieden.

Nur so ist erklärbar, dass diesem ganzen Unsinn bis heute kein Einhalt geboten wurde …

Erfahrene Software-Entwickler wissen: Um agil zu sein, reicht es völlig

  • das klassische Wasserfallmodell spiralförmig anzuwenden (sprich: zuzu­geben, dass jede seiner Phasen erst zu Projektende abgeschlossen sein kann)
  • und allzu bürokratische Regeln des V-Modells einfach zu ignorieren (es also projektspezifisch zu verschlanken).

Natürlich wird, damit der Auftragnehmer auch im Kontext von Festpreisprojekten nicht ungebührend benachteiligt wird, jede Abänderung einer durch beide Parteien als zunächst fertig akzeptierten Version des Pflichtenheftes einer geeigneten Vertragserweiterung bedürfen (Change Management).
 

Fehlende Software-Qualität kann auch große Unternehmen gefährlich stolpern lassen!


Dass fehlende Qualität von Software ein Unternehmen in Krisen führen kann, bestätigt sich auf jeden Fall dann, wenn anhaltende Probleme mit einen unter­nehmenskritischen neuen System den CFO zu einer Gewinnwarnung zwingen und so auch die Aktionäre beunruhigen.

Sie glauben nicht, dass so was passiert? Nun, hier ist ein Beispiel:

Wie die Computerwoche berichtet, droht das misslungene neue Computersystem “New Forwarding Environment” (NFE) die Deutsche Post im Frachtgeschäft um Jahre zurückzuwerfen.

Deteils finden sich auf FinanzNachrichten.de in einer Meldung vom 29.10.2015:
 

    Larry Rosen, der Finanzchef der deutschen Post, erklärt, NFE sei zu fehleranfällig und müsse wohl ersetzt werden, was Jahre dauern könne, denn eine neue, weniger komplexe Lösung stehe kurzfristig nicht zur Verfügung.

    Man überlege nun, schrittweise neue Komponenten zu integrieren und habe Rückstellungen in Höhe von 37 Millionen Euro gebildet für Ausgaben zur erwarteten Rückabwicklung des Systems in den bereits umgestellten Pilotländern.

    Der Bonner Konzern schätze die Wahrscheinlichkeit, aus dem derzeitigen System positive Effekte erzielen zu können, als sehr gering ein und habe deshalb auch Abschreibungen in Höhe von 309 Mio. Euro vorgenommen.

    Die bereits nach dem zweiten Quartal 2015 schon einmal korrigierte Prognose sei nun nicht mehr zu halten.

 

Nachdenklich macht: NFE basiert auf Software von SAP und wurde mit IBM Global Business Services als Implementierungspartner umgesetzt.

Da sollte man sich schon fragen, wie es zu einem solchem Unglück kommen konnte.

Eines dürfte klar sein:

Obgleich zu akzeptabler Software-Qualität weit mehr gehört als nur die Abwesen­heit von Programmierfehlern, wird sie doch (vom Software-Lieferanten) gerne auf genau solche reduziert gesehen. Dem Auftraggeber fällt das zunächst gar nicht auf.

Doch können denn wirklich nur Programmierfehler so ein Desaster verursachen, wenn das System auf Code beruht, den SAP und IBM entwickelt haben (Firmen also, von denen man erwartet, dass sie kompetentes Personal einsetzen)?

Meine etwa 30-jährige Erfahrung mit Software-Entwicklung sagt mir, dass ein System, dessen Anforderungen vor Beginn der Programmierung genau und vollständig schriftlich spezifiziert und entsprechend gründlich durchdacht worden sind, von erfahrenen Programmierern auf keinen Fall derart verkorkst werden kann, dass es nicht gelingt, alles wesentliche Fehlverhalten innerhalb weniger Monate, wenn nicht Wochen, beseitigen zu können.

An was aber mag es denn dann liegen, dass selbst weltweit bekannte Software-Lieferanten wie IBM — solche, denen man größtmögliche Erfahrung unterstellt — ein System abliefern, welches seine Anwender und Betreiber als kaum nutzbar, auf jeden Fall aber als nicht länger tragbar einstufen?

Mein Verdacht: Man wird wohl versucht haben, nach dem Agilen Manifest zu arbeiten — nach dem Vorgehensmodell also, das seit der Jahrtausendwende unter dem Label “Agile” hochgelobt wird, weil junge Entwickler sich nicht mehr die Mühe machen wollen, die klassischen Verfahren des Software-Engineerings wirklich zu verstehen und der inzwischen neu hinzugekommenen Notwendigkeit, maximal flexibel zu sein, erfolgreich anzupassen — auch und gerade unter der Neben­bedingung, dass heute fast alle Entwicklungsaufträge zum Festpreis vergeben werden.

Wenn die Deutsche Post jetzt plant — und sich sogar gezwungen sieht — “eher evolu­tionär” vorzugehen (wie Rosen sich ausdrückt), klingt mir das schon fast nach einer Wiederholung des von mir vermuteten Fehlers.

Will man wirklich riskieren, dass ich recht habe? Will man nicht zuerst über die Ursachen des Mißerfolgs nachzudenken?

Oder will man einfach nicht einsehen, dass der klassische Weg, Software zu ent­wickeln, eher Erfolg garantiert als SCRUM-artig gestaltete Prozesse in Kombination mit dem blinden Glauben an die Effektivität der allzu naiven Prinzipien des Agilen Manifests?

Ist uns denn nicht bewusst, dass Agile, SCRUM und dieser ganze verhängnisvolle, viel zu wenig durchdachte Trend auf eine kleine Gruppe von Wartungsprogram­mieren zurückgehen, die dachten zu wissen, wie man wirklich große Software-Entwicklungsprojekte so durchführt, dass (fast) nichts mehr schief gehen kann?

Wer glaubt, man könne die Wahl des Prozessmodells zur Entwicklung einer umfangreichen IT-Lösung einfach der Mode oder nur an ihren Code denkenden Programmierern überlassen, der irrt gewaltig.

Dem CIO der Deutschen Post jedenfalls kann man nur raten, die Ursachen seines Desasters genau zu identifizieren.

Versäumt er das, könnte die Deutsche Post in einer eher noch folgenreicheren IT-Sackgasse landen. Ob es dann noch reichen würde, einfach nur eine Gewinn­warnung herauszugeben, kann bezweifelt werden.
 

Softwarequalität — erwarte sie nie vom Auftragnehmer (!)


Im Dzone Guide to Software Quality and Software Agility, Edition 2015 findet sich auf den Seiten 4-5 das Ergebnis einer Umfrage unter 600 IT Professionals (von denen die meisten im Umfeld der Implementierung Java-basierter Enterprise Applikationen arbeiten dürften: denn auf dieses Umfeld konzentriert sich Dzone).

Und dieses Ergebnis ist erschreckend (in Englisch gehaltene Aussagen sind Zitate aus dem Bericht):


    DZone surveyed more than 600 IT professionals for our Guide to Code Quality and Software Agility to discover how organizations should prioritize various quality metrics as they mature, and to reveal how the types of software they produce inf luence their testing strategies.

    Starting with the basics, we asked respondents whether their team does testing at all. 87% said they do, leaving 13% who don’t. 95% of respondents said they believe that testing is necessary on all the software they develop, meaning 8% of respondents don’t do testing, but believe they should.

 
Man kann dieses Umfrageergebnis auch so lesen:


    13% aller Entwickler testen gar nicht, was sie implementiert haben.

    Einer von 20 denkt sogar, Test sei überflüssig (!).

 
Wen will es bei solcher Einstellung noch wundern, dass Software häufig deutlich zu schlechte Qualität hat?

Die Auftraggeber bezahlen das mit zu hohen Wartungskosten (und hohem Risiko) über den gesamten Lebenszyklus der Anwendung hinweg.

Erschreckend ist, dass selbst Entwickler, die wissen, dass Test notwendig ist, ihn — je nach Unternehmen mehr oder weniger — viel zu früh beenden (oft sogar im vollen Bewusstsein, dass bisher durchgeführter Test nicht ausreicht).

Dies belegen folgende Aussagen des Umfrageergebnisses:


    The Definition of Done Varies Significantly Among Organisations:

    The most basic definition of done for software products is also the most common for respondents:

    79% say its when all code compiles and builds for all platforms.

    Other common answers were [ Prozentzahl auf jeweils ein spezifisches Unternehmen bezogen? ]:

    • Features reviewed and accepted by Product Owner (65%),
    • New features are system-tested (59%),
    • Acceptance/story tests are written and passing (52%).

    We also asked whether respondents had ever had deadlines in their current product team that caused them to release with less testing than they thought was necessary. 72% said yes.

 
Es wundert mich immer wieder, wie wenig Auftraggeber versuchen zu erzwingen, dass sie für ihr Geld auch wirklich Qualität bekommen. Sind Einkäufer auch großer Unternehmen derart inkompetent? Oder gibt man ihnen einfach nur falsche Zielvorgaben?

Zu ungenaue Dokumentation von Software-Anforderungen kann enorme Schäden verursachen


Anforderungen an unternehmenskritische Software müssen schriftlich, genau und vollständig dokumentiert sein.

Welch gewaltiger Schaden entstehen kann, wenn man das nicht beherzigt, zeigen die folgenden beiden Beispiele:

  • The Mars Climate Orbiter space probe failed to land on Sep 23, 1999, because its thruster control software was based on English units while the team responsible for adjusting its trajectory was using the metric system!
     
  • A few months later, the Mars Polar Lander also experienced a setback during its landing. It was still 40 metres above its final landing point when its feet deployed, as expected, but the software interpreted it as an imminent event. As a result, the computer shut down the descent engines, leading to an abrupt crash and total loss of both mission and hardware. System engineers had advised the software developers to not rely on the transient signal from the legs of the lander as they were deploying but, apparently, they failed to document this information in the software specifications.

Quelle: Software Quality Issues, 22 Jun 2015, by Claude Y. Laporte

Beide Beispiele zeigen klar und deutlich, dass keine Anforderung

  • als selbstverständlich gelten
  • oder auch nur undokumentiert bleiben darf.

Es reicht auf keinen Fall, Anforderungen nur mündlich zu kommunizieren — schon allein deswegen nicht, weil später hinzukommende Tester sie dann ja nicht kennen und deswegen auch nicht gezielt verifi­zie­ren werden.
 
 
Dass guter Ausgang eines Projekts, in dem es nicht einfach nur um Prototyping gehen soll, höchst genaue Dokumentation sämtlicher Anforderungen noch vor Beginn der Implementierung zwingend voraussetzt, zeigt auch ein Projektdesaster, das SAP erlitten hat beim Versuch für die Firma Waste Management (in USA) ein neues ERP-System zu implementieren. Das Projekt endete in einem Zustand, in dem Waste Management SAP vor Gericht sogar des Betruges bezichtigte [E].

Zu welcher Komplexität sich diese juristische Auseinandersetzung schon während der ersten 2 Jahre aufgeschaukelt hat, geht hervor aus SAPs Statement We’ve spent millions so far on the Waste Management suit.

Da der Prozess schließlich mit einem Vergleich endete, der vorsah, dass SAP an Waste Management eine nicht öffentlich gemachte Summe zu überweisen hatte, kann man sich vorstellen, welch enormer Schaden in diesem Projekt für SAP, wahrscheinlich aber auch für den Auftraggeber entstanden war.

Dass das Desaster ganz wesentlich auf viel zu ungenaue Anforderungsdefinition zurückführbar war, lässt sich ablesen an folgenden 3 Fakten:

  • Der Kunde (Waste Management) argumentierte: SAP gave Waste Management software that it knew was “unstable and lacking key functionality”, …
     
  • Der Auftragnehmer (SAP) konterte: Waste management breached its contracts with SAP by failing to “timely and accurately define its business requirements”.
     
  • Der Prozess endete mit einem Vergleich, was ja wohl nicht anderes bedeutet, als dass es Versäumnisse auf beiden Seiten gab.

Schrödingers Katze: Warum das Gleichnis hinkt


Schrödingers Katze dürfte das am meisten missverstandene Gleichnis in der Welt der Physik überhaupt sein.

Kaum ein Sachbuch und kaum ein Physiker, der es zu erklären versucht, erklärt es wirklich richtig. Schrödinger selbst fiel das auch auf, und so klagte er einmal:

    Ich mag sie nicht, und es tut mir leid, dass ich jemals etwas mit ihr
    zu tun hatte.

Warum aber hinkt das Beispiel denn nun? Und warum gibt es den Überlagerungs­zustand — wenn man ihn wörtlich nimmt — nicht wirklich?

Betrachten wir dazu ein Photon, dessen Polarisierung man messen möchte.

Solche Messung kann nur erfolgen mit Hilfe einer Messapparatur, die ausschließ­lich Fragen stellen kann, die das Photon mit JA oder NEIN beantwortet.

Wird Polarisierung gemessen, so bedeutet die Messung stets nur

  • das Auswählen einer Richtung R (durch Justierung des Messgeräts M)
  • und dann das Stellen der Frage M(R) = Liebes Photon: Bist du in Richtung R polarisiert?

Wenn die Messapparatur das Photon durchlässt (also in Richtung R polarisiert), interpretiert man das als Antwort JA, ansonsten aber als Antwort NEIN.

Was aber bedeutet so ein JA oder NEIN?

  • Das JA bedeutet: Nach der Messung ist das Photon in Richtung R polarisiert. Ob, und gegebenenfalls wie, das Photon vor der Messung polarisiert war wissen wir dennoch nicht — mit einer kleinen Ausnahme allerdings: Wir können dann sicher sein, dass es vorher nicht senkrecht zu R polarisiert war.
     
  • Das NEIN bedeutet: Ob, und wenn ja in welcher Richtung, das Photon vor der Messung polarisiert war, wissen wir nicht — die Antwort sagt uns nur, dass es nicht in Richtung R polarisiert gewesen sein kann.

Ganz gleich also, welche der beiden Antworten man als Physiker erhält: Für den Polarisationszustand des Photons vor der Messung gibt es weiter ebenso viele Alternativen wie es reelle Zahlen zwischen 0 und 1 gibt: unendlich viele.

Und genau deswegen versteht man unter dem sog. Überlagerungszustand, in dem das Photon sich vor der Messung befindet, eben NICHT zwei Zustände, die gleichzeitig vorliegen.

Wirklich gemeint mit dem Begriff ist einfach nur die Tatsache, dass das Mess­ergebnis uns so gut wie nichts über den Zustand des Photons unmittelbar vor der Messung sagen kann.

Dass dem so ist, mag beim Photon erstaunen, da wir im Fall der Katze ja nicht erwarten würden, dass erst unser Hineinsehen in die Box das Tier in den Zustand versetzt, in dem wir es dann vorfinden.
 
Man kann es auch so ausdrücken (und genau das wollte Schrödinger mit seinem Gleichnis klar machen):

Wo man über Quantenzustand spricht, wird tatsächlich immer nur über unser Wissen über jenen Quantenzustand gesprochen. Nur Messergebnisse können es aktualisieren.