Zielkonflikt Datenschutz und Big Data

Daten sind der Rohstoff des 21. Jahrhunderts. Big Data ist das Sammeln von Daten auf Vorrat. Der Einsatz und die Auswertung ergibt sich meist später. Häufig entstehen neue Anwendungsfälle erst, wenn sich Datenmassen angesammelt haben. Wertschöpfungsketten erschließen sich erst, wenn ein gewisser Datenmengenschwellwert überschritten wurde. Auch wenn die Gegenwart keinerlei Anzeichen für die Möglichkeit solcher Wertschöpfungsketten zeigt, so können sie dennoch bereits morgen gelebte Realität sein. So ist es vielfach geschehen bei Google, Facebook, Whatsapp, AirBnB und wie sie alle heißen.

Das deutsche Datenschutz-Gesetz will die informationelle Selbstbestimmung und damit demokratische Grundwerte sichern. Jede Datensammlung soll nur erfolgen, wenn vorher der Zweck festgelegt wurde. Alle Auswertungen sollen auf diesen Zweck reduziert sein. Keine anderen Datenverarbeitungen und Informationsgewinnung sind erlaubt. Dadurch verbietet man Wertschöpfungsketten, die man nicht vorher geplant, angemeldet und mit dem User, Bürger, Kunden, Opfer, Täter per Datenschutzvereinbarung vereinbart hat.

Hier liegt ein offensichtlicher Zielkonflikt vor: Will Deutschland ins 21. Jahrhundert aufbrechen und den neuen Rohstoff erschließen – oder klammert es sich an seine Vorstellungen informationeller Selbstbestimmung in der „German Angst“ vor Demokratieverlust?

Im kommenden Internet der Dinge wird die Datensammelei noch einmal um Größenordnungen gesteigert. In einem Auto erfassen z.B. ca. 80 Sensoren das Nutzungsverhalten wie Geschwindigkeit, Beschleunigung, Abgas, Richtung und Ort. Diese Daten sind zunächst auf ein Auto bezogen, aber über den Fahrzeughalter dann doch personenbezogen (oder schwächer nur personenbeziehbar). Welcher Autofahrer hat dem jemals bewusst zugestimmt? Dabei muss jeder, der in Deutschland Daten sammeln, auswerten oder verwerten will, das vorher ankündigen und strengen Auflagen genügen. Die Datensammelei im Internet der Dinge ist offensichtlich nicht mehr mit dem strengsten aller Datenschutz-Gesetze vereinbar. Da geht einiges nicht mehr zusammen. Der Zielkonflikt wird immer drastischer.

Nach Prof. Dr. Rainer Kuhlen ist der alte Datenschutz-Begriff zu defensiv. Daten sind zunächst nutzlos. Sie zu verteidigen hilft niemandem und es ist im 21. Jahrhundert auch nicht mehr möglich, als Einzelperson die Kontrolle über seine Daten zu behalten.

Erst durch ihre Verarbeitung werden Daten zu Informationen. Also müsste es Informationsschutz statt Datenschutz heißen. Dieser Informationsschutz ist aber nicht mehr auf der individuellen Ebene erreichbar, sondern nur noch gesellschaftlich. Die Gesellschaft als Ganzes muss die Kontrolle über die Informationsverarbeitung und die damit verbundenen Wertschöpfungsketten behalten, um sich gegen Missbrauchsketten und Demokratieverlust wehren zu können. Das kann man nicht neoliberal dem Markt überlassen. Es reicht auch nicht, Missbrauchsketten den deutschen Firmen allein zu verbieten. Dann würden globale Konzerne die Nutzungslücke schließen und es ergäbe sich nur ein Wettbewerbsnachteil für deutsche Firmen.

Offenbar lässt sich Demokratie nur noch global schützen.

Schneller reagieren dank Open Source

Eine Open Source-Erfolgsgeschichte steht unter heute.de: „Flüchtlinge registrieren: Es könnte einfacher sein„: Während die öffentliche Hand und die ihr zuarbeitenden Firmen noch rätseln, wie man die Registrierung der Flüchtlinge softwaretechnisch schneller hinbekommt, hat Peter Kusterer in Mannheim auf der Open Source-Basis des Sahana-Projektes in nur vier Tagen zusammen mit einem Freiwilligen-Team eine Lösung erstellt, die auch funktioniert und nun eingesetzt wird. Die Mannheimer Aufnahmestelle für Flüchtlinge wird nun damit komplett verwaltet.

Weiter heißt es auf heute.de: „Im Bundesministerium des Inneren will man diese Vorteile allerdings nicht sehen. Zu stark sind die Vorbehalte gegen Open Source Software. Die Ministerialen setzen lieber auf teure kommerzielle Lösungen.“

Produktivitätsparadoxon

Das Produktivitätsparadoxon besagt, dass die Produktivität trotz aller Verbesserungen, trotz aller Mobilität, trotz aller Computer und Handys nicht gestiegen ist. Paradox deswegen, weil sie, die Produktivität, eigentlich hätte steigen müssen, wo wir doch viel schneller miteinander kommunizieren können, reisen können, berechnen, ordnen, sortieren können.

Warum ist das so?

Die Digitalisierung wirkt als Verstärker.
Aber von was?
Was wird verstärkt?
Alles!

Das Gute ebenso wie das Schlechte.
Das Ordnende ebenso wie das Verwirrende.
Das Helfende ebenso wie das Verhindernde.
Das Moralische ebenso wie das Unmoralische.
Das Ethische ebenso wie das Unethische.

Es wird alles einfach nur schneller.
Der Informationsumsatz wird größer,
der Qualitätsgewinn jedoch nicht.

Mehr Wissen ist noch keine Weisheit.
Mehr haben ist noch kein besseres Leben.
Mehr Gesetze ist noch kein besseres Funktionieren.
Mehr Sicherheit ist noch keine bessere Gesellschaft.

Damit ist die Ursache für das Produktivitätsparadoxon klar.

Vielleicht ist es daher weise,
mal inne zu halten,
nicht weiter auf´s Gaspedal zu treten,
und in Ruhe die Sinnhaftigkeit des Ganzen zu betrachten.
Was nützt erhöhte Schnelligkeit und ein höheres Niveau,
wenn es doch nur Unsinn ist, was sich da schneller und höher umtreibt.

Software oder Organisation anpassen?

Wenn man Informatik-Systeme neu in eine Organisation bringt oder bestehende migriert, stellt sich immer die Frage, wer sich wem anpassen soll:

  • Soll die Software an die Gegebenheiten der Organisation angepasst werden?
  • oder…

  • Soll die Organisation an die Gegebenheiten der Informatik-Systeme angepasst werden?

Letztendlich ist dies eine Kostenfrage:

wpid-PastedGraphic2-2016-01-20-08-46.png

Dort, wo eine Softwareanpassung preiswerter ist, ist diese vorzuziehen. Dort, wo eine Organisationsanpassung preiswerter ist, ist jene vorzuziehen. Jedoch sind bei dieser Betrachtung auch die versteckten Kosten und die Folgekosten mit einzubeziehen. Das wiederum macht die Entscheidung komplex. Die Reduktion der Betrachtung auf eine betriebswirtschaftliche Größe war nur eine Pseudoreduktion.

Dennoch ist das Bild hilfreich: Es gilt die goldene Mitte zu finden: Software dort anpassen, wo sie sich einfach anpassen lässt und ansonsten die Organisation anpassen.

Aber was ist „einfach“? Für ein Genie ist vieles einfach, was für einen Normalo schwierig oder gar unmöglich ist. Daher kann man Programmierung eben doch nicht nach Indien auslagern („Outsourcing“, „Offshoring“). Wir brauchen auch Informatik-Genies im eigenen Land.

Ausschalten von Bewusstheit durch Methode hat Methode

Methodisches Vorgehen ist das Markenzeichen von Akademikern.
Sie haben für alles eine wiss. anerkannte Methode.
Um alle diese Methoden kennen zu lernen,
muss man erst einmal jahrelang studieren.
Das ist die Eintrittshürde in die akademische Welt.

Es werden immer nur die Vorteile methodischen Vorgehens angepriesen,
nie objektiv sachlich auch die Nachteile,
die Schattenseite der akademischen Sonne.

Akademiker sind dann auch bloß Verkäufer,
weil sie ihren eigenen Denkansatz als den besten verkaufen,
anstatt sich unvoreingenommen mit der Sachlage auseinander zu setzen,
neutral und sachlich, wie es der akademische Ethos verlangt.
Aber wenn es um sie selbst geht,
werden Akademiker höchst unakademisch.
(siehe auch „Homo academicus“ von Pierre Bourdieu, 1984)

Methodisches Vorgehen kann auch Nachteile beherbergen:
Methodisch Vorgehen kann auch bedeuten,
dass man sich nach einer Methode richtet und Bewusstheit ausschaltet,
Empfindsamkeit, Fühlen,
das Gefühl, dass sich die Welt um uns herum massiv verändert,
Gewissen,
denn das ist ja alles subjektiv und daher als unwissenschaftlich verpönt.
Bewusstheit wird ausgeschaltet,
wenn das sklavische Befolgen der Methode wichtiger wird als Bewusstheit.
Ein Computer läuft nach einem Algorithmus,
das Befolgen einer Methode ist ebenfalls algorithmischer Natur.

Ausschalten von Bewusstheit durch Methode hat Methode,
nämlich die akademische Methode des methodischen Vorgehens.

Bewusstheit ist etwas inhärent Subjektives,
Methodisches Vorgehen dagegen scheinbar so viel objektiver.

Dabei war einer der Gründerväter des wiss. Ansatzes,
Galileo Galilei, mit genau dem umgekehrten Vorsatz angetreten:
Glaubenswahrheiten waren damals nicht hinterfragbar,
und wenn das religiöse Dogma vorschrieb,
dass die Erde im Mittelpunkt des Universums stünde,
so setzte er seine eigenen, subjektiven Messungen und Erklärungen dagegen.
„Habe den Mut selber zu denken“ (und zu messen und zu erklären)
war dann der Wahlspruch des Zeitalters der Aufklärung.

Methodisches Vorgehen und frische Bewusstheit, immer wieder neu:
Gerade das Spannungsverhältnis zwischen beiden macht den Reiz aus.
Immer wieder neu aus der subjektiven Wahrnehmung heraus
bestehende Methoden zu hinterfragen und neue Methoden zu entwerfen
ist eine große Herausforderung, die niemals enden wird,
denn es gibt kein „Patentrezept“, keine „Weltformel“,
keinen „Silver Bullet“ und keine „eierlegende Wollmilchsau“.
Das Ringen darum ist legitim und eines der Hauptantriebskräfte der Wissenschaft,
jedoch sollte klar sein, dass dieses Ringen unendlich ist.
Letztendlich ist es eine Art Zielkonflikt zwischen der Subjektivität der Bewusstheit
und dem Streben nach Objektivität und Systemfestigung,
das die Entwicklungsspirale voran treibt.

Informatik ist eine interessante Wissenschaft,
weil sie diese Phänomene aus dem Allgemeinen,
aus dem Philosophischen und Psychologischen,
in die konkrete Zeile Software-Quellcode bringt und dort
ganz konkret als Phänomen erfahrbar und sogar messbar macht:
Ist die Software, die nach einer Methode X erstellt wurde,
oder die Software, die nach einer Methode Y erstellt wurde,
besser?
Oder gar solche Software,
deren Entwicklung sich an keiner bekannten Methode orientierte
und möglicherweise die Geburt einer neuen Methode ankündigt?

klarprogrammieren

Neben dem „klarlernen“ gibt es auch das „klarprogrammieren“, eine meiner Wortschöpfungen, die dem Programmieren eine Nuance verleiht, eine Richtung gibt, Reifegrade erkennen lässt. Beim „klarprogrammieren“ geht es um folgende Beobachtungen und Einsichten:

  • Programmieren ist wie Schreiben: Klares Schreiben ist besser als verschnörkeltes Schreiben. Diese Ansicht vertrat auch einer der Gründerväter der Informatik, der Stanford-Professor Donald Knuth mit seinem Ansatz „Literate Programming“. Er ging sogar so weit, dass er den Quellcode einiger seiner Programme als Buch publizierte, das von einem renommierten Verlag auch tatsächlich verkauft wurde. Fazit: Quellcode muss gelesen werden und ist daher gut lesbar zu verfassen.
  • Klarheit ist gut. Klarheit sollte das Ziel Nr. 1 beim Schreiben ebenso wie beim Programmieren sein, nicht Testabdeckung oder Testgeschwindigkeit oder andere Sekundärziele. Klarheit gibt der Entwicklung eine Trajektorie: Wir wissen, wohin es sich entwickelt.
  • Klären (etwas klarer gestalten) ist Wertschöpfung (sowohl im Schreiben als auch im Programmieren). In unserer Zeit wird dies erkannt und die entsprechenden Wertschöpfungsstrukturen und Wertschöpfungsprozesse entdeckt und gestaltet. Z.B. Refactoring als wesentliche Programmiertätigkeit.
  • Refactoring ist ein Klärungsprozess in Agilen Vorgehensmodellen. Refactoring ist die Überarbeitung der Namen, Begriffe und der Struktur des Geschriebenen (des Quellcodes), ohne an der Aussage des Textes (der Funktion des Programms) etwas zu ändern. Refactoring kostet Ressourcen ohne neue Aussagen (neue Funktionen) zu liefern und ist daher für das Management unproduktive Arbeit, die man nicht messen kann. Für die Programmierer ist es wertvolle Arbeit, die über die Qualität der eigenen Zukunft und der Zukunft der späteren Weiterentwicklung, wer auch immer diese übernehmen wird, entscheidet. Refactoring ist Wertschöpfung.
  • Programmieren ist eher wie Kreatives Schreiben als eine Wissenschaft mit Absolutheitsanspruch. Donald Knuth nannte seine Buchreihe „The Art of Programming“, obwohl er als Wissenschaftler strenge Massstäbe anlegte.
  • Wittgenstein: Alles was man schreiben kann, kann man klar schreiben.
  • Einstein: Wenn man es noch nicht klar schreiben kann, dann hat man es noch nicht genug verstanden.
  • Ein guter Programmierer zu werden ist vergleichbar mit dem Anspruch, ein guter Schriftsteller zu werden.
  • Ebenso wie beim Schreiben ist die beste Übung, um ein guter Programmierer zu werden, viel zu programmieren, viel Quellcode zu lesen und dabei immer um Klarheit bemüht zu sein.
  • Es geht eher um Gestaltung eines „Noch-Nie-Dagewesenen“ ohne Vorbild, ohne Beschränkung, ohne Gestern — als um Engineering mit bewährten Methoden, altgedienten Bausteinen und jahrzehntelangen Erfahrungswerten nach immer den gleichen Mustern. Konstruktion neuer Software und Brückenbau sind eben doch grundsätzlich unterschiedlich.

Damit soll nicht Willkür Tür und Tor geöffnet werden. Die genannten Argumente sollten nicht dazu missbraucht werden, fehlende Tests zu entschuldigen. Den Wertschöpfungsprozess der Klärung selbst klarer zu strukturieren, Meilensteine zu setzen, Indikatoren zu nennen und messbar zu machen, ist ein großes Ziel. Controller hätten gerne SMART-Kriterien, um messen zu können, ob auch wirklich gearbeitet wurde und ob man dem Ziel der Klarheit näher gekommen sei. Einige Indikatoren sind bekannt (Testüberdeckung, SOLID-Prinzipien, Clean Code Development-Prinzipien, Patterns und Anti-Patterns, Bad Smells), entheben einen jedoch nicht des Selber-Denkens. Da es um Zukunft geht, kann es durchaus sein, dass man sich im eigenen Projekt über manche Grenze, Indikatoren und SMART-Kriterien hinweg setzen muss. Dabei sollte es sich jedoch um eine bewusste Entscheidung handeln.

„klarprogrammieren“ ist auch eine Form des „klarlernens“.

Die Diskussion ist schon sehr alt und rund um das Thema „TDD is dead“ wieder neu entflammt, siehe „Examining the ‚TDD is Dead‘ Controversy
by Shane Hastie on Jun 04, 2014.

Was die meisten Schulen einem NICHT beibringen

In dem Video „Was die meisten Schulen einem NICHT beibringen
erklärt Mark Zuckerberg, dass sein Studienziel
NICHT die „Beherrschung“ einer Wissenschaft war,
sondern etwas tun zu können,
überhaupt etwas anfangen zu können,
etwas Einfaches praktisch machen zu können,
was Spaß macht, ihm selbst und seinen Geschwistern.

Er schrieb ein kleines Programm
und fügte immer nur eine Kleinigkeit hinzu.
Wenn etwas neu war,
hat er sich in einem Buch oder im Internet darüber informiert.
So kam eines zum anderen.
Sein Wissen wuchs mit seinem Programm.

https://www.youtube.com/watch?v=Q0z-C8Ke2FQ

Viele kleine Schritte, die Spaß machen,
weil jeder Schritt klein und überschaubar ist
und man nicht mit monströsen Überbauten
(die eigenen übertriebenen Wunschvorstellungen
oder Vorstellungen der anderen)
zu kämpfen hat.

Das ist in der Softwareentwicklung
kennzeichnend für „Agile Methoden„,
die sich gegenüber „Big Design Upfront“ immer mehr durchsetzen.

Aus den praktischen Erfahrungen und Erkenntnissen
der Softwareleute kann man auch für das Lernen lernen:
Agiles Lernen„.

Was ist Programmierung?

Was ist Programmierung?
Erste, naheliegende Antwort: „ein Programm schreiben“.
Da ist diese doofe Maschine
und man muss ihr haarklein vorschreiben,
in welcher Reihenfolge sie was zu tun hat.
Was für eine stupide Tätigkeit!

In seinem Vortrag „The Future of Programming
warnt Bret Victor davor, sich mit den oberflächlichen
Antworten zufrieden zu geben:

„Das Gefährlichste, was Dir passieren kann,
ist, dass Du glaubst zu verstehen was Du tust.“

Selbst wenn man Programmieren erfolgreich
gelernt hat, besteht immer noch die Gefahr
der zu frühen Fixierung auf das zu kleine Verstehen,
oder der zu frühen Fixierung auf die zu kleine Meisterschaft.
Dann entgeht einem der Reichtum der vielen anderen Aspekte:

wpid-PastedGraphic-2015-03-7-08-133.png

Selbst wenn man sich in die Tiefen der Programmiersprachenparadigmen begibt, begegnet man noch einer Fülle unterschiedlicher Betrachtungsweisen:
wpid-PastedGraphic1-2015-03-7-08-133.png

Es handelt sich also nicht um wissenschaftliche Wahrheiten,
sondern um Sichtweisen.

Wenn eine Sichtweise jedoch zur Wahrheit erhoben wird,
dann wird sie zum Dogma.

Was ist wirklich wissenschaftliche Erkenntnis?
Was ist in Wirklichkeit nur Dogma?
Diese Frage müssen wir uns nicht nur in der Informatik immer wieder stellen.

Programmierer

Steve Jobs: „Jede/r in unserem Land sollte lernen,
wie man einen Computer programmiert …
weil es auch eine strenge Schule des Denkens ist.“

Das Video „Computer Programming | A short interesting film

https://www.youtube.com/watch?v=OWsyrnOBsJs

zeigt jedoch, dass Kinder zu dem Beruf des Programmierers
keine Beziehung aufbauen. Wie sollten sie auch?!

Mark Zuckerberg: „Bei der Programmierung
kann man völlig Neuartiges erschaffen – aus dem Nichts heraus.
In welchem anderen Beruf kann man das schon?“

Wer kann mit so großer Freiheit schon umgehen?
Wer fühlt sich mit so großer Freiheit wohl?

In unseren Schulen wird gelehrt,
welche Reduktionismen es gibt
und wie man damit umgeht,
nicht aber Freiheit.

Niklas Luhmann: „Was ist Gesellschaft?
Gesellschaft ist ein Codex von Regeln zur Wahrnehmungsreduktion.“

Genau dieser Codex wird gelehrt.

Wer bestimmt den Codex?
Diejenigen, die mit der Freiheit umgehen können
und das Glück haben,
zur richtigen Zeit an der richtigen Stelle zu sein.