Alles, was wir uns über einen längeren Zeitraum vornehmen, unterliegt Unsicherheiten. Bei vollständig bekannten Herausforderungen sind wir in der Lage, diese Unsicherheiten aufgrund unserer Erfahrungen zu reduzieren. Wir wissen, was vermutlich passieren wird, und reagieren vorab und intuitiv, damit ein von uns gewünschtes Ziel erreicht wird. Ist der Weg weniger klar sichtbar, neigen wir zu iterativen Vorgehen. Wir springen gedanklich zwischen verschiedenen Teilproblemen hin und her und bearbeiten sie nach Lust und Laune. So reduzieren wir Risiken allmählich über den Verlauf eines Vorhabens.
In diesem Artikel möchte ich eine Alternative vorstellen, die als Komponenten-Denken bezeichnet wird. Im Gegensatz zur obigen Herangehensweise werden sinnvolle Teilaspekte einer Herausforderung möglichst zu deren Beginn (also sehr früh) bearbeitet. Die Ergebnisse werden anschließend in wiederverwendbare “Komponenten” zusammengefasst, die später wie Lego-Bausteine zusammengesetzt werden können.
Wie funktioniert die herkömmliche Arbeitsweise?
Wir empfinden oft Angst, wenn wir uns neuen Projekten und Herausforderungen widmen, die nicht komplett absehbar sind. Es ist die Angst vor dem Unbekannten, die wir spüren. Um ihr entgegenzuwirken, versucht unser Gehirn, der Welt einen Sinn zu geben. Es erstellt ein Modell der Realität und füllt sie mit Anforderungen, Erfahrungen sowie Vorwissen. Diese Modelle sind in der Regel hierarchisch. Wir gehen von abstrakten Kategorien aus, verfeinern sie stufenweise, bis wir zu einem Ergebnis kommen, das für uns Sinn ergibt.
Hierarchie ist die Rangordnung der Menschen, Tiere oder Sachen untereinander (wikipedia)
Das Denken in Hierarchien ist tief in unserer Natur verwurzelt. Wir kategorisieren etwa intuitiv Objekte, die wir sehen, in Gruppen und setzen diese unbewusst, in Abhängigkeit ihrer Wichtigkeit, zueinander in Beziehung (z.B. Ball ↔ Rund ↔ Farbe).
Hierarchien helfen uns, dem scheinbaren Chaos in der Welt Sinn zu verleihen und daraus neue, strukturierte Werte zu schaffen.
Man findet sie überall und kann sie in verschiedenen Bereichen beobachten:
- Organigramme
- Gliederungen
- Projektplanung
- Mindmaps
- Dateisysteme (Ordner, Dateien …)
- u.v.m
Es ist unter anderem üblich, langfristige Ziele in kurzfristige Ziele herunterzubrechen und erst einmal “klein” anzufangen. Oder ein Problem in kleine, lösbare Teilprobleme zu zerlegen, die man wiederum zusammensetzt, um das große Problem zu lösen.
Grundsätzlich ist dieses Vorgehen effizient und energiesparend. Je tiefer wir in unseren Denkhierarchien gehen, desto klarer wird, was wir machen müssen. Wir benötigen weniger Kraft, um das nötige Wissen in unser Gehirn zu laden und damit zu arbeiten. Auf höhere Ebene denken wir in abstrakten Begriffen und versuchen einen allgemeinen Sinn zu erkennen. Wir tun dies aufgrund unserer begrenzten mentalen Ressourcen.
“… we have to do so, because, compared with what could be known, we have very, very small heads. …” - E.W. Dijkstra: On the role of scientific thought (EWD447)
Allerdings hat dieses Vorgehen auch einen potenziellen Nachteil.
Um eine große Herausforderung zu bewältigen, springen wir in unseren Denkstrukturen hin und her, arbeiten mal hier und mal dort, je nach Laune. Das resultierende Gesamtbild entsteht schrittweise, ähnlich wie beim Malen eines Gemäldes. Dieser Ansatz ist keineswegs schlecht, sondern sogar wünschenswert, da er Kreativität und freien Willen fördert. Dennoch treten immer wieder Déjà-vus auf, die sich mit “So etwas Ähnliches habe ich doch schon mal gemacht” umschreiben lassen. Trotz aller Bemühungen, das frühere Arbeitsergebnis ins Bewusstsein zu holen, scheitern wir und erledigen die Aufgabe meist erneut.
Natürlich könnte man argumentieren, dass dies einfach unserer menschlichen Natur geschuldet ist und wir mit dieser Einschränkung leben müssen. Ärmel hochkrempeln und durch. Dieser Ansatz ist nicht falsch, aber es sollte doch bessere Strategien geben.
Eine neue Form zu Arbeiten
Das Komponenten-Denken nutzt unserer Tendenz, hierarchisch zu denken. Haben wir alle Teilaspekte einer Herausforderung isoliert, beginnen wir intuitiv in unsere Denkhierarchie abzusteigen. Allerdings stoppen wir diesen Vorgang bewusst, wenn wir einem Teilaspekt begegnen, der von den anderen isolierbar erscheint.
Diesen Teilaspekt trennen wir von der Herausforderung ab und bearbeiten ihn völlig unabhängig von der ursprünglichen Herausforderung. Wir fokussieren uns ausschließlich auf dieses Thema, optimieren es und entwickeln es zu einer wiederverwendbaren Komponente weiter. Das Ziel dabei ist, diese Komponente in verschiedenen Kontexten einsetzbar zu machen, sodass wir die damit verbunden Unsicherheiten möglichst in allen Herausforderungen eliminieren können, indem sie auftritt. Erst, wenn die Komponente abgeschlossen wurde, gehen wir zurück zur Ursprungsaufgabe – diesmal jedoch mit dem Wissen des gesamten Teilbaums.
Dieses Vorgehen ist aus zwei Gründen vorteilhaft. Erstens sammeln wir zu Beginn einer Herausforderung wertvolles Wissen, erkunden frühzeitig den Lösungsraum und erhalten damit Erkenntnisse, die sonst viel später verfügbar wären. Dadurch läuft unsere Arbeit reibungsloser, gezielter und vor allem schneller ab. Zweitens schaffen wir uns einen Fundus von Komponenten, die wir immer wieder einsetzen können. Wenn man ein komplexes Problem allein durch Komponenten lösen kann, wirkt dies von außen betrachtet fast wie Magie.
Deinen Fundus an Komponenten kannst du ständig erweitern. Dies erhöht deine Flexibilität in hohem Maße. Deine Arbeit wird strategischer. Was setzt zu ein, was nicht?
Wie definiert man eine gute Komponente?
Eine Komponente definiere ich als unabhängiges, wiederverwendbares Wissen, das zur Lösung eines spezifischen Problems geeignet ist (ähnlich einer Library für Programmierer, nur allgemeiner). Dadurch ist sie aber noch nicht gut. Folgende Eigenschaften verbinde ich mit einer guten Komponente:
- Feedback: Eine Komponente sollte möglichst früh anderen Leuten gezeigt werden. Feedback zu Komponenten einzuholen, ist einfach und ermöglicht rechtzeitige Verbesserungen. Den Wert von Feedback erkennend, suchst du aktiv nach Meinungen anderer, um eine Komponente zu verfeinern.
- Dokumentation: Eine Komponente sollte umfassend dokumentiert sein. Erstelle die Dokumentation mit dem Ziel, dass du sie auch in einer ungewissen Zukunft schnell und einfach verstehst. Eine kurze Zusammenfassung kann dabei sehr hilfreich sein.
- Auffindbarkeit: Eine Komponente muss gut auffindbar sein. Plane und organisiere die Information in einer Komponente so, dass du sie in einer ungewissen Zukunft leicht finden kannst. Hier kann insbesondere eine Stichwortliste hilfreich sein.
- Unabhängigkeit: Eine Komponente sollte möglichst wenig Abhängigkeiten zu anderen Komponenten, Unsicherheiten oder Unklarheiten aufweisen. Sie sollte möglichst für sich allein stehen und in sich schlüssig sein.
- Separierbarkeit: Eine Komponente sollte möglichst nur eine spezifische Aufgabe lösen oder Frage beantworten.
- Nützlichkeit: Sie sollte möglichst mehrfach angewendet und dabei iterativ verfeinert worden sein. Bedenke, Wissen, das nicht angewendet wird, ist nutzlos.
Das alles sind natürlich keine Gesetze, sondern eher grobe Richtlinien, die mal mehr, mal weniger angewendet werden können oder sollten. Pragmatismus ist hier das oberste Leitprinzip. Denn wenn etwas umständlich und schwer wird, wenden wir es nicht an.
Zusammenfassung
Der Artikel beschreibt das Konzept des “Komponenten-Denkens”. Hierbei werden sinnvolle Teilaspekte einer Herausforderung zu Beginn bearbeitet und in wiederverwendbaren Komponenten zusammengefasst. Dies ermöglicht eine frühere Reduzierung von Unsicherheiten und die Schaffung eines Fundus an Komponenten, die in verschiedenen Kontexten eingesetzt werden können. Eine gute Komponente zeichnet sich durch Feedback, Dokumentation, Auffindbarkeit, Unabhängigkeit, Separierbarkeit und Nützlichkeit aus.
Bibliografie
- Elon Musks’ “3-Step” First Principles Thinking: How to Think and Solve Difficult Problems Like a Genius
- A Case For Hierarchical Thinking: Solve Complex Problems The Easy Way
- Just-In-Time PM #13: Component Thinking
- Just-In-Time PM #14: Personal Productivity Networks
- EWD447 - On the role of scientific thought. - Edsger W. Dijkstra
- Intermediate Packets in the Wild.