In kurz
- Es gibt in der Philosophie grob zwei Strömungen zum Erkenntnisgewinn: Deduktion und Induktion.
- Deduktion findet man bei der “arm chair philosophy”, das Ableiten von Erkenntnissen ausgehend von ersten Prinzipien. Von einer Regel auf alle Fälle ausweitend.
- Induktion ist umgekehrt das empirische Vorgehen anhand von Hypothesen und Experimenten. Von vielen Fällen allgemeine Regeln ableitend.
- Beim Design und der Entwicklung von IT Systemen braucht man beide Denkmuster.
Exkurs Philosophie
Deduktion: Man hat Prämissen, die man als gegeben und wahr annimmt. Außerdem gibt es Axiome, die die Regeln festlegen, wie neues Wissen aus den Prämissen abgeleitet werden kann. Und vielleicht gibt es sogar erste Theoreme, also Aussagen, die man anhand der Prämissen und Axiome als wahr ableiten kann. Von dieser Basis aus wendet man formale Logik an, um stichhaltig neue Erkenntnisse abzuleiten. “Wenn dies, dann das.” Und das alles im reinen Geist, während man mit Zigarre und Whisky in einem Arm Chair sitzt. Daher der Bregriff “arm chair philosophy”.
Induktion hingegen verwendet Empirie, also das Ableiten von allgemeinen Erkenntnissen aus konkreten, vielfachen Beispielen, die man in der realen Welt beobachten kann. Dazu gehört das klassisch wissenschaftliche Vorgehen mit Hypothesen und Experimenten: Eine Hypothese formuliert eine Idee über die Realität. Dazu denkt man sich ein Experiment aus, um diese Hypothese zu widerlegen und führt dieses Experiment (und weitere) aus. Solange man keine Experimente findet, die die Hypothese widerlegen, kann man davon ausgehen, dass sie praktische Nützlichkeit hat. Wohlgemerkt “Nützlichkeit”, nicht “Wahrheit”. Nützlichkeit misst man anhand der Vorhersagen einer Hypothese: Treffen sie zu, ist die Hypothese nützlich. Ob etwas objektiv wahr ist, kann man auf diesem Weg nicht beweisen oder widerlegen. Es geht also in erster Linie und praktischen Erkenntnisgewinn, den man anderweitig nutzen und anwenden kann.
Beide Denkarten: deduktiv ausgehend von Annahmen über fundamentale Wahrheiten hin zur Erkenntnis, oder induktiv anhand von Beobachtungen der Umwelt und dem Formulieren und Testen von Hypothesen, haben ihre Daseinsberechtigung. Und erst das Zusammenspiel von beiden macht sie besonders hilfreich und schlagkräftig.
IT Systeme
Das Konzipieren und Entwickeln von IT Systemen ist ein gutes Beispiel aus der realen Welt, das beide Denkarten benötigt. Angenommen, man will sich Gedanken über die System- und Software-Architektur einer neuen System-Komponente oder eines neuen Features machen, so stellen sich folgende Fragen:
Deduktive Fragen
Ausgehend vom Wissen über das bisherige System, die Landschaft, in die es eingebettet ist und die notwendigen Integrationspunkte, kann man deduktiv fragen:
- Was weiß ich bereits?
- Welches zusätzliche Wissen kann ich daraus ableiten?
- Welche Annahmen habe ich? Und sind sie belastbar?
- Wo habe ich blinde Flecken?
- ..
Induktive Fragen
Man kann sich ebenfalls induktiv Gedanken machen, bspw. basierend auf existiernden Architekturentscheidungen, die man während der Konzeption entwirft:
- Welches Verhalten erwarte ich vom Ergebnis?
- Wo hat es Grenzen?
- Welche Alternativen habe ich?
- Wie skaliert es?
- Welche Implikationen und Konsequenzen haben die getroffenen Annahmen und Entscheidungen?
- ..
Aber hier hört es nicht auf, sondern man formuliert automatisch Experimente aufgrund der Antworten auf diese ersten Fragen:
- Wie kann ich die Belastbarkeit testen?
- => Last- und Stresstests
- Wie kann ich die Korrektheit testen?
- => Testpyramide, QA
- Wie kann ich Sicherheitsanforderungen gewährleisten?
- => Threat Modeling, Asset Libraries, STRIDE, ..
- Wie kann ich sicherstellen, dass meine Entscheidungen regulatorischen Anforderungen genügen?
- => IT Security und Datenschutz Reviews, regulatorische Audits
- Wie kann ich sicherstellen, dass ich im Betrieb das Wohlverhalten beobachten und messen kann?
- => Logging, Monitoring, Alerting - alles rund um Observability
- Wie kann ich prüfen, ob die gewünschten Ziele erreicht werden?
- => Metriken, KPIs, Reporting
- ..
Fazit
Philosophische Methodik hat einen zentralen Platz in der IT, vor allem, wenn es um das Design und die Konzeption von Systemen, Features oder Prozessen geht. Manchmal hilft es, sich Gedanken über das Denken zu machen und sich bewusst zwischen den Ebenen zu bewegen, um auf neue Fragen zu kommen. Das beste Ergebnis integriert beide Ebenen.