PROACT, Ulpian und Problemlösungszyklus in der Java-Softwarepraxis
Tragfähige Java-Entscheidungen entstehen nicht nur durch Code – sondern durch nachvollziehbare Begründungen, explizite Ziele, echte Alternativen und verantwortliche Trade-offs.
Ulpians Maximen liefern die normative Leitplanke, PROACT strukturiert Entscheidungen unter Unsicherheit, und der iterative Problemlösungszyklus (Diagnose, Zielformulierung, Analyse, Entscheidungsfindung, Umsetzungsplan) ordnet diese Mikrologik in einen belastbaren Prozess ein.
Anwendbar in: Architekturentscheidungen · ADRs · Performance- und Incident-Analyse · Security-Entscheidungen · Migrationen & Upgrades · Reviews & technische Dokumentation
Veröffentlicht: 19. Februar 2026
Aktualisiert: 19. Februar 2026, 18:45 Uhr
Mathias Ellmann – Autor, Trainer und IT-Sachverständiger an der Schnittstelle von Software Engineering, Kommunikation und Verantwortung.
Mehr auf mathiasellmann.de
1. Einleitung: Warum dieser Rahmen?
1.1 Ausgangslage: Warum gute Technik an schlechten Entscheidungen scheitert
In der Java-Softwarepraxis entstehen Fehlentscheidungen oft lange bevor eine Zeile Code geschrieben ist:
Begriffe bleiben unspezifiziert, Annahmen werden nicht ausgesprochen, Alternativen werden nicht ernsthaft geprüft,
Trade-offs werden implizit mitgekauft und Risiken zeigen sich erst im Rollout oder im Betrieb.
Das Ergebnis sind vermeidbare Konflikte, technische Schulden, Sicherheitslücken, Instabilität oder Vertrauensverlust.
Typisches Muster: Eine Lösung wird „technisch umgesetzt“, obwohl die zugrunde liegende Entscheidung nicht sauber
begründet, nicht auf Ziele referenziert und nicht gegen Alternativen getestet wurde. Später wird dann über Symptome
gestritten, obwohl das Problem in Wahrheit eine fehlende Entscheidungslogik und fehlende Explizitheit war.
1.2 Ziel: Nachvollziehbarkeit, Prüfbarkeit, Verantwortung
Ziel ist ein Vorgehen, das Entscheidungen im Engineering so strukturiert, dass sie
(a) nachvollziehbar dokumentiert,
(b) argumentativ prüfbar und
(c) verantwortbar gegenüber Nutzer:innen, Betrieb und Organisation sind.
Der Rahmen soll nicht bürokratisieren, sondern Diskussionen verkürzen, Missverständnisse reduzieren
und die Qualität der Begründungen erhöhen.
1.3 Aufbau: Norm – Prüfung – Entscheidung – Prozess
Der Rahmen kombiniert vier Bausteine:
- Ulpian (Norm): begrenzt den Lösungsraum durch Verantwortung, Schadensvermeidung und Fairness.
- Argumentenanalyse (Prüfung): macht Begründungen logisch sauber und schützt vor Denkfehlern.
- PROACT (Entscheidung): strukturiert Alternativen, Konsequenzen, Trade-offs und Unsicherheit.
- Problemlösungszyklus (Prozess): ordnet die Entscheidungsmikrologik in einen iterativen Ablauf ein.
1.4 Typische Java-Anwendungsfälle
- Architektur: Monolith modularisieren, Microservices schneiden, Eventing, API-Gateways.
- Performance: Caching vs. DB-Optimierung, Threading, GC-Tuning, Async/Reactive.
- Security: AuthN/AuthZ, Secrets, Input-Validation, Dependency-Risiken (CVEs).
- Plattform: Framework-/JDK-Upgrades, Migrationen, Observability-Stack, Cloud-Entscheidungen.
- Betrieb: Rollout-Strategien, SLO/SLA, Incident-Response, Runbooks.
Kerngedanke: Gute Java-Entscheidungen sind nicht nur technisch richtig, sondern nachvollziehbar begründet,
kommunikativ anschlussfähig und verantwortbar gegenüber Nutzer:innen, Betrieb und Organisation.
2. Ulpian als normative Leitplanke
Ulpians drei Maximen (aus Mitchell et al.) bilden den normativen Kern dieses Rahmens. Sie sind keine Dekoration und kein „Leitspruch“,
sondern ein verbindlicher Maßstab, der den Lösungsraum begrenzt: Was gegen eine Maxime verstößt, ist als Option
nur dann zulässig, wenn der Konflikt explizit benannt, begründet und durch Schutzmaßnahmen kompensiert wird.
Methodisch werden die Maximen als Quality-&-Ethics-Gate operationalisiert:
Am Ende jedes PROACT-Schritts und an jedem Meilenstein des Problemlösungszyklus erfolgt ein kurzer Check.
Dadurch werden Werte, technische Qualität und Verantwortungsfragen nicht nachträglich „moralisch bewertet“,
sondern von Anfang an in die Entscheidung eingebaut.
2.1 Rolle: Wertekompass statt Dekoration
- Normative Priorität: Ulpian steht logisch „vor“ Methode. Erst Grenzen und Verantwortung, dann Optimierung.
- Explizitheit: Maximen wirken nur, wenn sie in prüfbare Kriterien übersetzt werden (nicht als abstrakte Worte).
- Nachvollziehbarkeit: Jede Entscheidung muss zeigen, wie sie Ulpian erfüllt oder wo Zielkonflikte verbleiben.
- Revisionskultur: Wenn Annahmen kippen, wird der Ulpian-Check erneut gezogen (Iteration ist Teil der Methode).
Praktische Definition: Eine Entscheidung gilt als „verantwortbar“, wenn sie (a) begründbar,
(b) prüfbar und (c) ohne verdeckte Lastverschiebung auf Dritte umsetzbar ist.
2.2 Ehrenhaft leben (honeste vivere)
In der Java-Entwicklung bedeutet Ehrenhaftigkeit vor allem Redlichkeit in Begründung und Dokumentation:
keine Rhetorik, kein Verstecken von Unsicherheit, keine „stillen Wetten“ im Systemdesign.
-
Transparenz: Entscheidungen dokumentieren (ADR), inklusive Alternativen, Konsequenzen, Trade-offs und Revisionsdatum.
-
Keine Schattenentscheidungen: Architektur- oder Sicherheitsentscheidungen nicht „nebenbei“ im Code versenken,
sondern explizit machen (PR-Text, ADR, Ticket).
-
Saubere Evidenzbasis: Messwerte, Logs, Profilergebnisse, Benchmarks und Security-Findings als Grundlage statt Bauchgefühl.
-
Compliance und Integrität: Lizenzlage von Dependencies, SBOM, CVE-Bewertung, Dokumentationspflichten.
-
Revisionskultur: Fehler und Irrtümer werden nicht kaschiert, sondern als Lernschleife in Standards zurückgeführt.
Leitfrage: Könnte ich diese Entscheidung (inkl. Annahmen und Risiken) in einem Review, Audit oder Gutachten öffentlich vertreten?
2.3 Anderen nicht schaden (alterum non laedere)
„Nicht schaden“ ist im Software Engineering operativ: Schutz vor Sicherheitsvorfällen, Ausfällen, Datenverlust,
Fehlentscheidungen durch falsche Daten sowie vor vermeidbarer Überlast im Betrieb.
In dieser Maxime werden Risiken zu Constraints.
-
Security-by-Design: Threat Modeling, Input-Validierung, AuthN/AuthZ, Secret-Handling,
Dependency-Risiken (CVE), sichere Defaults.
-
Datenschutz und Datenintegrität: Minimierung, Zweckbindung, Verschlüsselung, Auditierbarkeit,
saubere Migrationen, konsistente Transaktionsgrenzen.
-
Stabilität und Resilienz: Timeouts, Bulkheads, Rate Limits, Circuit Breaker, idempotente Operationen,
kontrollierte Degradation statt Kaskadenausfall.
-
Rollout-Sicherheit: Canary/Blue-Green, Feature Flags, Rollback, Notfallpfade, Runbooks,
Observability (Logs/Metrics/Traces) und Alerting als Mindeststandard.
-
Vorhersehbare Schäden sind harte Grenzen: Wenn eine Alternative absehbar zu Datenverlust,
Sicherheitsvorfällen oder Systemausfällen führt, ist sie nur mit klaren Schutzmaßnahmen vertretbar.
Leitfrage: Welche Schäden sind bei realistischer Nutzung und realistischem Fehlerverhalten vorhersehbar – und wie werden sie verhindert oder begrenzt?
2.4 Jedem das Seine geben (suum cuique tribuere)
Diese Maxime schützt vor der typischen Verantwortungsdiffusion in Technikorganisationen:
Niemand ist zuständig, aber alle sind betroffen. In Java-Systemen betrifft das vor allem Ownership,
Betriebsverantwortung und die faire Verteilung von Risiko- und Wartungslasten.
-
Ownership: klar definierte Zuständigkeiten für Services, Libraries, Datenmodelle, CI/CD, Security-Aspekte,
Schnittstellen und Betriebsartefakte.
-
Fairness der Lasten: Komplexität, manuelle Arbeit und Risiko nicht auf Betrieb, Support oder andere Teams verlagern
(„Betrieb fängt es schon ab“ ist ein Anti-Pattern).
-
Verlässlichkeit: Zusagen an messbare Kriterien koppeln (Akzeptanzkriterien, SLO/SLA),
Schätzungen stets mit Annahmen, Unsicherheiten und Abhängigkeiten kommunizieren.
-
Stakeholder-Fairness: betroffene Gruppen sichtbar machen (Nutzer:innen, Betrieb, Security, Fachbereich),
insbesondere jene, die in Meetings typischerweise nicht am Tisch sitzen.
Leitfrage: Wer trägt nach der Entscheidung welche Last (Betrieb, Rufbereitschaft, Wartung, Risiko) – und ist diese Verteilung explizit akzeptiert?
2.5 Ulpian-Check als Gate (3 Zeilen)
Der Ulpian-Check ist bewusst kurz, damit er konsequent genutzt wird. Er gehört in ADRs, in PR-Beschreibungen
zu Architekturänderungen und in Incident-Post-Mortems.
Ulpian-Check:
1) Ehrenhaft leben: Sind Begründung, Annahmen, Evidenz und Risiken transparent dokumentiert?
2) Nicht schaden: Welche Schäden sind vorhersehbar (Security, Stabilität, Daten) – und wie werden sie begrenzt?
3) Jedem das Seine: Sind Ownership, Lasten und Zuständigkeiten fair verteilt und explizit akzeptiert?
Falls eine Alternative in einem Punkt negativ ausfällt, wird nicht „wegdiskutiert“, sondern operational beantwortet:
Welche Schutzmaßnahmen, welche Kompensation, welcher Rollout-Plan, oder welche Alternative reduziert den Verstoß?
3. Argumentenanalyse als Qualitätsgate
PROACT strukturiert den Entscheidungsraum. Ob eine Entscheidung tragfähig ist, hängt jedoch davon ab,
ob die zugrunde liegenden Begründungen logisch sauber sind. Argumentenanalyse leistet genau das:
Sie prüft, ob eine Schlussfolgerung tatsächlich aus den genannten Gründen folgt, ob Begriffe konsistent sind
und ob unausgesprochene Annahmen (Enthymeme) den Kern der Begründung bilden.
In der Java-Praxis ist Argumentenanalyse kein akademischer Zusatz, sondern ein Engineering-Gate:
Sie stabilisiert Architekturentscheidungen (ADR), erhöht die Qualität von Reviews (PR/Code/Design),
und macht Gutachten sowie technische Stellungnahmen methodisch belastbar.
3.1 Warum Argumente in Technikprojekten entscheidend sind
-
Entscheidungen sind Wetten auf die Zukunft:
Ohne explizite Prämissen werden Risiken nur verschoben, nicht gelöst.
-
Technische Sprache ist mehrdeutig:
„performant“, „fertig“ oder „machbar“ müssen operationalisiert werden, sonst entsteht Scheinkonsens.
-
Dokumentation ist Verantwortungsträger:
Ein ADR ist nicht nur Ergebnis, sondern Begründungsnachweis (für Team, Betrieb, Audit, spätere Teams).
Kurzdefinition: Ein Argument ist tragfähig, wenn die Konklusion klar ist, die Prämissen explizit sind,
die Begriffe eindeutig sind und die Evidenz die Prämissen stützt.
3.2 Deduktion, Induktion, Abduktion in Java-Kontexten
In technischen Diskussionen werden Argumenttypen häufig vermischt. Die folgende Unterscheidung schafft Klarheit,
welche Art von Schluss überhaupt beansprucht wird.
Deduktiv (zwingend, wenn Prämissen stimmen)
Deduktion ist typisch für Regeln, Standards und harte Constraints (Security, Compliance, Coding Guidelines).
Prämisse 1: Alle produktiven Services müssen AuthZ serverseitig erzwingen.
Prämisse 2: Service X ist ein produktiver Service.
Konklusion: Service X muss AuthZ serverseitig erzwingen.
Induktiv (wahrscheinlich, datenbasiert)
Induktion ist typisch für Beobachtungen aus Metriken, Incidents, Profiling, Load Tests und User-Telemetrie.
Prämissen: In 8 von 10 Lasttests steigt p99-Latenz bei hoher GC-Last stark an.
Konklusion: Es ist wahrscheinlich, dass GC/Heap-Pressure ein dominanter Engpass ist.
Abduktiv (beste Erklärung, hypothesengenerierend)
Abduktion ist typisch für Debugging, Incident-Analyse und Root-Cause-Hypothesen.
Beobachtung: Sporadische Timeouts + Thread-Pool-Sättigung + erhöhte Downstream-Latenz.
Konklusion: Plausibelste Erklärung: Downstream-Kaskade + fehlende Timeouts/Bulkheads.
Praxisregel: Induktive und abduktive Schlüsse dürfen nicht als deduktive Gewissheit verkauft werden.
Wenn Unsicherheit besteht, wird sie explizit gemacht und durch Tests/Spikes validiert.
3.3 Die 6 Prüfschritte (als Review-Schema)
Die folgenden Schritte nach Szudek et al. sind als einheitliches Schema nutzbar: in ADR-Reviews, Architekturmeetings,
Security-Entscheidungen, Incident-Post-Mortems und Gutachten.
-
Schlussfolgerung identifizieren:
Was wird entschieden oder behauptet? Was ist explizit nicht Teil der Entscheidung?
Java-Praxis: „Wir migrieren auf JDK 21 in Q2“ ist eine andere Konklusion als „Wir migrieren alle Libraries“.
-
Prämissen identifizieren:
Welche Gründe tragen die Konklusion? Ziele, Constraints, Annahmen, Evidenz (Messwerte, Security, Betrieb).
Java-Praxis: SLOs, CVE-Risiken, Support-Ende, Performance-Baseline, Teamkompetenz.
-
Nebensächliches eliminieren:
Entfernen von Prestige-Argumenten („modern“, „Best Practice“ ohne Kontext), Historie ohne Relevanz, rhetorische Nebelkerzen.
Java-Praxis: „Framework X ist angesagt“ ersetzt keine Konsequenzanalyse.
-
Begriffe klären (Operationalisierung):
Was heißt konkret „performant“, „fertig“, „skalierbar“, „wartbar“, „sicher“?
Java-Praxis: „performant“ = p95/p99, Throughput, CPU/Memory, GC-Pausen; „fertig“ = DoD + Observability + Runbook.
-
Terminologie konsistent halten:
Gleiche Begriffe in Ticket, ADR, Code, Runbook und Monitoring.
Java-Praxis: „Service“, „API“, „Endpoint“, „Job“ nicht beliebig mischen; gleiches Naming für Metriken und SLOs.
-
Unterdrückte Prämissen ergänzen:
Welche stillen Annahmen fehlen (Lastprofil, Datenwachstum, Failure Modes, Teamfähigkeiten, Zeitdruck)?
Java-Praxis: „Wir haben ein stabiles Lastprofil“ oder „Rollback ist jederzeit möglich“ sind oft unbewiesene Annahmen.
3.4 Bias-Check (typische Verzerrungen)
In Architektur- und Incident-Entscheidungen wirken kognitive Verzerrungen besonders stark, weil Zeitdruck,
Statusfragen und Unsicherheit zusammenkommen. Der Bias-Check ist daher ein fester Bestandteil des Qualitätsgates.
- Bestätigungsfehler: nur Evidenz sammeln, die die favorisierte Lösung stützt.
- Framing: gleiche Alternative wirkt „besser“ durch sprachliche Rahmung („Innovation“ vs. „Risiko“).
- Ankereffekt: erste Zahl/erste Lösung dominiert (erste Schätzung wird zur „Zusage“).
- Verfügbarkeitsheuristik: einprägsame Incidents übersteuern Statistik (ein Ausreißer wird zur Regel).
- Autoritätsbias: seniority ersetzt Evidenz; Kritik wird als „Widerstand“ gedeutet.
- Escalation of Commitment: an einer Lösung festhalten, weil schon viel investiert wurde.
Praxisregel: Jede starke Behauptung in einem ADR benötigt (a) klare Begriffe,
(b) explizite Prämissen und (c) überprüfbare Evidenz oder einen Validierungsplan.
3.5 Ergebnisartefakte (kurz und verbindlich)
-
ADR: Konklusion + Prämissen + Alternativen + Konsequenzen + Trade-offs + Revisionsdatum.
-
Review-Kommentar: „Konklusion/Begründung unklar, Prämisse fehlt: …; bitte operationalisieren: …“.
-
Gutachtenpassage: Trennung von Fakten, Schlussfolgerungen, Bewertung; explizite Annahmen und Unsicherheit.
4. PROACT als Entscheidungslogik in Java-Projekten
PROACT (Hammond et al., Levine) strukturiert Entscheidungen so, dass Alternativen, Konsequenzen, Zielkonflikte und Unsicherheiten explizit werden.
Für die Terminologie ist wichtig: PROACT ist der Kernrahmen
(Problem, Objectives, Alternatives, Consequences, Trade-offs).
In der Praxis wird er häufig operational erweitert um drei zusätzliche Prüfpunkte:
Unwägbarkeiten, Risikoneigung und Vorausplanung.
Im Folgenden wird diese achtteilige Operationalisierung verwendet, ohne den Modellnamen zu verfälschen.
Quellenhinweis: PROACT geht zurück auf Hammond, Keeney und Raiffa (Smart Choices, 2015).
Die hier verwendete achtteilige Operationalisierung übernimmt den PROACT-Kern
(Problem, Objectives, Alternatives, Consequences, Trade-offs) und ergänzt ihn
um Unwägbarkeiten, Risikoneigung und Vorausplanung als praxisnahe Prüfpunkte.
Implementationsregel: Jeder Schritt endet mit (a) einem kurzen Output-Artefakt, (b) einem Ulpian-Check (3 Zeilen),
und (c) einem Argumenten-Check (Konklusion, Prämissen, Begriffe, implizite Annahmen).
4.1 Überblick: Einsatzfelder in Java
- Architektur: Modulgrenzen, Monolith vs. Services, Sync vs. Async, Datenhaltung.
- Performance & Betrieb: Caching, DB-Optimierung, Threading, GC, Resilienz.
- Security & Compliance: AuthN/AuthZ, Secrets, Logging, Dependencies, Auditierbarkeit.
- Plattform: Framework-/JDK-Upgrades, Observability, CI/CD, Container/Cloud-Entscheidungen.
4.2 Schritt 1: Problem definieren (Problem)
-
Java-Artefakte:
Repro (JUnit/Integrationstest), Logs/Metriken/Traces, Heap-/Thread-Dumps,
Baseline (p95/p99), Error Rate, GC-Profile, Dependency-Graph, Security-Findings.
-
Output:
Problemstatement (1–3 Sätze) + Scope/Non-Scope + Ausgangsmesswerte + betroffene Stakeholder (Nutzer:innen/Betrieb).
-
Argumenten-Check:
Konklusion ist hier noch keine Lösung, sondern eine präzise Problembehauptung; Begriffe operationalisieren.
-
Ulpian-Check:
drohender Schaden für Nutzer:innen, Betrieb oder Daten? Falls ja: Schutzanforderungen als harte Constraints definieren.
4.3 Schritt 2: Ziele klären (Objectives)
-
Java-Artefakte:
Quality Attributes (z. B. Performance, Security, Maintainability),
Akzeptanzkriterien, Nicht-Ziele, SLO/SLA, Compliance-Vorgaben.
-
Output:
priorisierte, messbare Ziele (z. B. p95 < X ms, p99 < Y ms, Error Rate < Z, 0 kritische Findings, RTO/RPO erfüllt).
-
Argumenten-Check:
Prämissen explizit: „Warum sind diese Ziele relevant?“; Zielkonflikte offen benennen (z. B. Time-to-Market vs. Robustheit).
-
Ulpian-Check:
Balance von Geschwindigkeit, Sicherheit, Stabilität und Fairness (keine einseitige Optimierung zulasten Dritter).
4.4 Schritt 3: Alternativen entwickeln (Alternatives)
-
Java-Artefakte:
2–5 echte Optionen inkl. „Minimal Fix“ und „Do nothing“, grobe Aufwände,
Abhängigkeiten, Migrationsvarianten, technische Voraussetzungen.
-
Output:
Optionenliste mit Kurzbeschreibung + explizite Annahmen je Option + grobe Kosten (Aufwand, Betrieb, Risiko).
-
Argumenten-Check:
Keine Schein-Alternativen; jede Option muss unter den Zielen prinzipiell vertretbar sein.
-
Ulpian-Check:
Optionen dürfen nicht so formuliert sein, dass eine Lösung „automatisch gewinnt“; Fairness der Darstellung sichern.
4.5 Schritt 4: Konsequenzen analysieren (Consequences)
-
Java-Artefakte:
Konsequenzmatrix je Option: Runtime (Threads/GC/Heap), Wartbarkeit, Testbarkeit,
Deployment/Release, Observability, Security, Datenmigration, Betriebsaufwand, Kosten.
-
Output:
nachvollziehbare Folgen pro Option (kurz-/mittelfristig) + Worst-Case-Szenarien + betroffene Teams.
-
Argumenten-Check:
Welche Prämissen sind durch Evidenz gedeckt (Messwerte/Tests), welche sind Annahmen?
-
Ulpian-Check:
Welche Option minimiert vorhersehbare Schäden (Security, Verfügbarkeit, Datenintegrität)?
4.6 Schritt 5: Trade-offs explizit machen (Trade-offs)
-
Java-Artefakte:
Pro/Contra, gewichtete Kriterien, akzeptierte Nachteile,
technische Schulden (mit Rückzahlplan), „nicht verhandelbare“ Constraints.
-
Output:
dokumentierte Kompromisse: „Wir akzeptieren X, um Y zu erreichen“ (inkl. Begründung und Grenzen).
-
Argumenten-Check:
Trade-offs müssen als explizite Konklusion formulierbar sein („Wir priorisieren … weil …“).
-
Ulpian-Check:
Risiken nicht auf Dritte abwälzen; Kompromisse transparent, überprüfbar und organisatorisch akzeptiert.
4.7 Schritt 6: Unwägbarkeiten klären (Uncertainties)
-
Java-Artefakte:
Annahmenliste, Spikes/PoCs, Lasttests, Contract-Tests,
Security-Checks, „Kill Criteria“ (Abbruch-/Rückbaukriterien).
-
Output:
Validierungsplan: Welche Unsicherheit wird wie reduziert (Messung/Experiment/Test), bis wann, mit welchem Erfolgskriterium?
-
Argumenten-Check:
Abduktive Hypothesen (z. B. Root Cause) müssen in prüfbare Tests überführt werden (induktive Evidenz).
-
Ulpian-Check:
Unsicherheiten mit hohem Schadenspotenzial müssen vor einem produktiven Rollout adressiert oder durch Schutzmaßnahmen entschärft werden.
4.8 Schritt 7: Risikoneigung bestimmen (Risk appetite)
-
Java-Artefakte:
Feature Flags, Canary/Blue-Green, Migrationspfad, Rollback-Strategie,
Runbooks, On-Call/Incident-Plan, Monitoring- und Alarm-Definition.
-
Output:
explizites Risikoniveau + Risikobehandlung: vermeiden, reduzieren, transferieren, akzeptieren (inkl. Begründung).
-
Argumenten-Check:
Risikoargumente dürfen nicht vage bleiben („wird schon“). Jede Risikoakzeptanz braucht Kriterien und einen Notfallpfad.
-
Ulpian-Check:
Risiko ist tragfähig, fair verteilt und operational abgesichert (Observability, Rollback, Zuständigkeiten).
4.9 Schritt 8: Vorausplanung und Umsetzungsplan (Future impact)
-
Java-Artefakte:
ADR mit Revisionsdatum, Architektur-Roadmap, Guardrails
(ArchUnit/Dependency Rules, Modulregeln), Standardisierung,
technische Leitplanken (CI-Gates), Betriebsdokumentation.
-
Output:
Plan, wie die Entscheidung spätere Entscheidungen beeinflusst:
Pfadabhängigkeiten, Folgekosten, Migrationsfenster, De-Kommissionierung, Wissensaufbau.
-
Argumenten-Check:
Die „Langfrist-Konklusion“ muss explizit sein: Welche Optionen werden künftig erleichtert oder verbaut?
-
Ulpian-Check:
Pfadabhängigkeiten, Folgekosten und langfristige Verantwortung transparent gemacht; keine verdeckte Belastung künftiger Teams.
5. Problemlösungszyklus als Prozessrahmen
Der Problemlösungsprozess nach Andler wird als iterativer Zyklus verstanden: Stufen können mehrfach durchlaufen werden,
um das Problemverständnis zu schärfen, Annahmen zu prüfen und Lösungen schrittweise zu optimieren.
Der Zyklus liefert den Makrorahmen („Wie läuft der Prozess?“); PROACT liefert die Mikrologik
(„Wie begründen wir die Entscheidung innerhalb einer Stufe?“).
Die Implementierung ist nicht bloß „Ausführung“, sondern ein eigener Erfolgsfaktor und wird durch einen Umsetzungsplan abgesichert.
Prozessprinzip: Iteration ist nicht Planlosigkeit, sondern methodische Redlichkeit.
Wenn Evidenz, Begriffe oder Annahmen kippen, wird bewusst eine Stufe zurückgesprungen.
5.1 Die Stufen im Überblick (Makro)
-
Diagnose:
Problem identifizieren und definieren (IST-Zustand präzisieren; Symptome von Ursachen trennen).
-
Zielformulierung:
SOLL-Zustand beschreiben und Ziele operationalisieren (messbar, priorisiert, konfliktbewusst).
-
Analyse:
Lösungswege entwickeln und prüfen (Alternativenraum öffnen; Konsequenzen und Unsicherheiten explizit machen).
-
Entscheidungsfindung:
Lösung bewerten, priorisieren und auswählen (Trade-offs und Risikoentscheidung transparent).
-
Umsetzungsplan (Implementierung):
Realisierung absichern (Meilensteine, Rollout, Rollback, Betrieb, Verantwortlichkeiten).
5.2 Mapping: Problemzyklus (Makro) und PROACT (Mikro)
Das Mapping vermeidet Dopplungen: Der Zyklus bestimmt die Prozessstufe; PROACT füllt die Stufe mit einer konsistenten Entscheidungslogik.
In der Praxis ist insbesondere Schritt 6 (Unwägbarkeiten) ein „Querschnittsschritt“, weil Unsicherheiten in Diagnose, Analyse und Umsetzung auftreten.
- Diagnose entspricht primär PROACT Schritt 1 (Problem) und empirisch häufig Schritt 6 (Unwägbarkeiten).
- Zielformulierung entspricht PROACT Schritt 2 (Objectives).
- Analyse entspricht PROACT Schritte 3–4 (Alternatives, Consequences) plus Unsicherheiten aus Schritt 6.
- Entscheidungsfindung entspricht PROACT Schritt 5 (Trade-offs) plus Risikoneigung aus Schritt 7.
- Umsetzungsplan entspricht PROACT Schritt 8 (Vorausplanung/Future impact), operativ gestützt durch 6/7.
Entscheidungsklarheit: Makro klärt Wann wir was tun; PROACT klärt Wie wir begründen; Ulpian klärt Woran wir uns binden.
5.3 Denkmodelle je Stufe (inkl. typischer Gefahren)
-
Diagnose: integrierendes Denken (Zusammenhänge sehen).
Gefahr: zu eng (Symptomfix) oder zu unspezifisch (Alles-ist-Problem).
-
Zielformulierung: visionäres und pragmatisches Denken (SOLL-Zustand + Umsetzbarkeit).
Gefahr: Zielsystem inkonsistent oder nicht abgestimmt (Management vs. Operative; Wunsch vs. Constraint).
-
Analyse: divergierendes Denken (Alternativenraum öffnen).
Gefahr: Verengung auf „eine richtige Antwort“ oder Technologie-Prestige statt Optionenvergleich.
-
Entscheidungsfindung: konvergierendes Denken (Priorisieren, schließen, committen).
Gefahr: emotionale oder politische Verzerrung, Autoritätsbias, „zu früh final“ ohne Evidenz.
5.4 Denkebenen: Wie – Was – Warum
Jede Stufe arbeitet auf drei Ebenen. Die Ebenen werden bewusst getrennt, um Kommunikationsbrüche („Wir reden aneinander vorbei“) zu vermeiden.
- Instrumentale Ebene (Wie? Womit?): Methoden, Tools, Artefakte (z. B. JMH, JUnit, Observability, ADR).
- Funktionale Ebene (Was?): Aufgaben und Funktionen (z. B. Service-Schnittstelle, Datenmodell, Deployment-Pipeline).
- Sinn-/Begründungsebene (Warum? Wozu?): Ziele, Werte, Verantwortung (Ulpian, SLO, Risikoethik, Stakeholder).
Praxisregel: Wenn Konflikte festfahren, ist häufig die Ebene verwechselt:
Methoden werden diskutiert, obwohl Ziele strittig sind; oder Ziele werden behauptet, obwohl Daten fehlen.
5.5 Zeitdimensionen: IST und SOLL
- Gegenwart (IST): Messwerte, Fehlerraten, Risiken, Betriebslast, bestehende Architektur und Constraints.
- Zukunft (SOLL): Zielzustand, Qualitätskriterien, Betriebsfähigkeit, Wartbarkeit, Skalierungspfad.
5.6 Implementierung als Erfolgsfaktor (Umsetzungsplan)
Implementierung ist nicht „nachgelagert“, sondern entscheidet, ob eine fachlich gute Lösung real wirksam wird.
Der Umsetzungsplan macht aus der Entscheidung eine kontrollierte Veränderung.
- Planung: Meilensteine, Abhängigkeiten, Schnittstellen, Migrationsfenster, Kommunikationspunkte.
- Engineering-Sicherung: Tests (Unit/Integration/Contract), Performance-Baseline, Security-Checks.
- Betriebsabsicherung: Observability, Alerting, Runbooks, Rollback, Incident-Prozess, Ownership.
- Iterative Anpassung: definierte Feedbackschleifen (z. B. nach Canary) und klare Abbruch-/Rollback-Kriterien.
Abschlusskriterium: Eine Entscheidung gilt erst dann als abgeschlossen, wenn die Umsetzbarkeit betrieblich nachgewiesen ist
(Monitoring, Rollback, Ownership, Dokumentation) und nicht nur „Code gemerged“ wurde.
Quellenhinweis: Der iterative Problemlösungsansatz und die Denkebenen sind angelehnt an Nicolai Andler:
Tools für Projektmanagement, Workshops und Consulting – Kompendium der wichtigsten Techniken und Methoden,
Volume 6, Publicis, 2015.
6. Anschluss an Kommunikation und Eskalationsdynamiken
Entscheidungen entstehen in Kommunikation. In Java-Projekten entstehen Fehlentscheidungen häufig nicht durch fehlende Kompetenz,
sondern durch uneinheitliche Bedeutungen: „performant“, „fertig“, „machbar“, „sauber“, „wartbar“ oder „sicher“
werden je nach Rolle unterschiedlich verstanden. Der Schaden zeigt sich erst später – als technische Schulden,
verzögerte Releases, Incidents oder Vertrauensverlust.
Der Rahmen verbindet hier drei Funktionen:
Argumentenanalyse macht Aussagen prüfbar (Begriffe, Prämissen, Konklusion),
PROACT macht Entscheidungsgespräche strukturiert (Ziele, Alternativen, Konsequenzen, Trade-offs),
und Ulpian setzt eine normative Grenze (Redlichkeit, Schadensvermeidung, faire Verantwortung).
Dadurch wird Kommunikation nicht „weicher“, sondern präziser, verantwortbarer und konfliktrobuster.
6.1 PROACT als Struktur proaktiver Kommunikation
- Problem: Was ist beobachtbar (Daten, Logs, Fehlerraten) – was ist Interpretation?
- Objectives: Was bedeutet Erfolg konkret (SLO/SLA, Security, Betriebsfähigkeit)?
- Alternatives: Welche realen Optionen gibt es – einschließlich „Do nothing“?
- Consequences: Welche Folgen entstehen technisch, organisatorisch und betrieblich?
- Trade-offs: Welche Zielkonflikte werden bewusst entschieden – und wer trägt welche Last?
- Unwägbarkeiten: Welche Annahmen sind ungesichert – und wie werden sie validiert?
- Risikoneigung: Wie viel Risiko ist akzeptabel – und welche Sicherungen sind Pflicht?
- Vorausplanung: Welche Pfadabhängigkeiten entstehen – wie bleibt die Entscheidung revisierbar?
Kommunikationsziel: Von Meinungen („Ich finde …“) zu überprüfbaren Aussagen („Unter Annahme A und Messwert B folgt …“).
6.2 Typische Kommunikationsfallen und ihre technische Wirkung
-
Verallgemeinerungen („immer“, „nie“) erzeugen Abwehr statt Analyse.
Technische Folge: Probleme werden personalisiert; Ursachenanalyse wird abgebrochen.
-
Etikettierungen („typisch Backend“, „typisch PO“) erzeugen Lagerbildung.
Technische Folge: Schnittstellenverantwortung wird verdrängt; Integrationsfehler steigen.
-
Gedankenlesen („du willst doch nur …“) ersetzt Evidenz durch Unterstellung.
Technische Folge: Optionenvergleich wird moralisiert; echte Alternativen verschwinden.
-
Themenwechsel („aber letztes Mal …“) verhindert Klärung im Hier-und-Jetzt.
Technische Folge: Entscheidungen bleiben implizit; technische Schulden wachsen weiter.
-
Druckkommunikation („dann eskalieren wir“, „mach’s halt allein“) ersetzt Begründung durch Macht.
Technische Folge: Risiko wird externalisiert; Betrieb und Qualität tragen die Rechnung.
PROACT wirkt hier als Deeskalationsstruktur, weil es Gespräche konsequent zurückführt in Kategorien,
die überprüfbar sind (Daten, Ziele, Alternativen, Folgen, Trade-offs) und damit Verantwortungsdiffusion reduziert.
Ulpian verhindert zugleich, dass Struktur zur rhetorischen Dominanz wird:
Entscheidungen müssen redlich, schadensminimierend und fair in der Lastverteilung sein.
6.3 Ulpian als Anti-Manipulations-Gate in Entscheidungskommunikation
- Ehrenhaft leben: Keine verdeckten Prämissen, keine künstlich verengten Alternativen, keine Beschönigung von Risiken.
- Anderen nicht schaden: Kein „Release unter Hoffnung“ ohne Rollback/Monitoring; keine riskante Abkürzung zulasten Dritter.
- Jedem das Seine geben: Ownership klären; keine Schuld- oder Lastverschiebung („Ops wird’s richten“).
Arbeitsregel für Reviews und Architekturgespräche:
Erst Begriffe klären, dann Kriterien, dann Alternativen,
dann Konsequenzen, dann Trade-offs. Erst danach entscheiden – und Entscheidung als ADR fixieren.
Praxisformel für proaktive Aussagen:
„Unter den Annahmen A/B, gemessen an Kriterium C, hat Option X die Folge Y; der Trade-off ist Z; der Rollout wird durch Maßnahme R abgesichert.“
7. Ausfüllvorlage: ADR im PROACT-Format mit Ulpian-Check
Diese Struktur kann als ADR-Template genutzt werden. Sie ist bewusst knapp, aber vollständig:
Sie funktioniert in Pull Requests, Architektur-Meetings, technischen Entscheidrunden, Gutachten und Post-Mortems gleichermaßen.
Der Fokus liegt auf Nachvollziehbarkeit: Entscheidung, Begründung, Evidenz, Risiken, Betriebssicherung.
Terminologiehinweis: PROACT wird als Kernstruktur (Problem, Objectives, Alternatives, Consequences, Trade-offs) geführt
und um drei operative Prüfpunkte (Unsicherheiten, Risikoneigung, Vorausplanung) ergänzt.
Der Name bleibt PROACT; die Operationalisierung ist achtteilig.
Minimalstandard: Jede starke Aussage ist (a) begrifflich klar, (b) durch Prämissen/Evidenz gestützt,
(c) mit Konsequenzen und Trade-offs verbunden, (d) betrieblich abgesichert.
ADR-Titel:
Kontext / Link (Ticket, Incident, PR):
Datum / Autor / Owner / Reviewer:
Kurzentscheidung (1 Satz):
- Wir entscheiden uns für [Option X], um [Ziel Y] zu erreichen, unter [Constraints], mit [Trade-off Z].
1) Problem (Fakten, Scope, Baseline)
- Beobachtungen (objektiv, reproduzierbar):
- Evidenz (Logs/Metriken/Traces/Tests/Findings):
- Baseline (p95/p99, Error Rate, Ressourcen, Kosten):
- Abgrenzung (Scope / Non-Scope):
- Betroffene (Nutzer:innen / Betrieb / Daten / Stakeholder):
2) Objectives (priorisiert, messbar)
- Muss (harte Constraints, Compliance/Security/SLO):
- Soll (Qualitätsziele, z. B. Wartbarkeit, DX):
- Kann (Nice-to-have):
- Nicht-Ziele (bewusst ausgeschlossen):
- Erfolgsmetriken (Messung nach Umsetzung):
3) Alternatives (2–5 echte Optionen)
A) [Option A: Kurzbeschreibung]
- Annahmen:
- Grober Aufwand:
B) [Option B]
- Annahmen:
- Grober Aufwand:
C) [Option C / Do nothing]
- Annahmen:
- Grober Aufwand:
4) Consequences (je Alternative)
- Laufzeit/Skalierung (Threads/GC/Heap/DB/Cache):
- Wartbarkeit/Testbarkeit (Komplexität, Schnittstellen, Tests):
- Betrieb/Deployment/Observability (Rollout, Monitoring, Alerting):
- Security/Datenschutz (AuthN/AuthZ, Secrets, Logging, Data Handling):
- Migration/Datenmodell (Backward Compatibility, Rollbackfähigkeit):
- Kosten/Abhängigkeiten (Vendor, Libraries, Team-Know-how):
5) Trade-offs (bewusst akzeptiert)
- Kriteriengewichtung (z. B. Sicherheit > Stabilität > Geschwindigkeit):
- Akzeptierte Nachteile (klar benennen):
- Technische Schulden (inkl. Rückzahlplan / Revisit-Kriterium):
6) Unsicherheiten (Annahmen, Validierung)
- Offene Annahmen (Lastprofil, Datenwachstum, Randbedingungen):
- Geplante Validierung (Spikes/PoCs/Lasttests/Contract-Tests/Security-Checks):
- Abbruch-/Rollback-Kriterien (Kill Criteria):
7) Risikoneigung (Risk appetite, Absicherung)
- Risikoniveau (niedrig/mittel/hoch) + Begründung:
- Rollout-Strategie (Feature Flag/Canary/Blue-Green):
- Rollback-Strategie (technisch + organisatorisch):
- Runbook/On-Call/Incident-Plan:
- Monitoring/Alerting (Schwellen, SLO-Verletzungen, Dashboards):
8) Vorausplanung (Future impact, Guardrails)
- Revisionsdatum / Review-Trigger (z. B. Last x2, Kosten +30%, neue Compliance):
- Standards/Regeln (ArchUnit, Dependency Rules, API-Guidelines):
- Langfristige Folgen (Pfadabhängigkeiten, Decommissioning, Roadmap):
- Wissenssicherung (Doku, Ownership, Übergaben):
Argumenten-Check (6-Schritte-Kurzform)
- Konklusion klar? Prämissen vollständig? Begriffe operationalisiert?
- Nebelkerzen/Prestige entfernt? Terminologie konsistent?
- Implizite Annahmen explizit? Bias-Risiko benannt?
Ulpian-Check
- Ehrenhaft (Transparenz/Redlichkeit): Sind Risiken, Annahmen, Trade-offs offen dokumentiert?
- Nicht schaden (Sicherheit/Stabilität/Daten): Sind Schadenpfade erkannt und abgesichert (Tests, Rollout, Rollback)?
- Jedem das Seine (Ownership/Fairness/Lasten): Ist Verantwortung klar zugeordnet, Lasten fair verteilt, Betrieb einbezogen?
Anwendungshinweis: In Pull Requests reicht häufig die Kurzform (Kurzentscheidung + Schritte 1–5 + Ulpian-Check).
Für risikoreiche Änderungen (Security, Migration, Betrieb) sind Schritte 6–8 verpflichtend.
8. Referenzen
Die folgenden Quellen bilden die inhaltliche und methodische Grundlage dieses Rahmens. Dabei ist zu unterscheiden zwischen
(a) der Primärquelle des PROACT-Modells und (b) der Darstellung/Einbettung von PROACT als Entscheidungsheuristik im Kontext von
Manipulation, Framing und Bias. Ergänzend werden (c) normative Grundlagen (Recht/Moral) sowie (d) Logik/Argumentation als methodische
Stütze ausgewiesen.
8.1 Online-Artikel (mathiasellmann.de)
-
Ellmann, Mathias:
Effektive Kommunikation im Software Engineering.
https://www.mathiasellmann.de/industrie/effektive-kommunikation-software-engineering.html
Relevanz: Explizitheit, Rollen- und Verantwortungszuordnung sowie proaktive Kommunikation als Voraussetzung tragfähiger Entscheidungen; Anschlussstelle für PROACT als Kommunikations- und Entscheidungsstruktur.
-
Ellmann, Mathias:
Kommunikationsfallen & Eskalationsdynamiken im Software Engineering.
https://www.mathiasellmann.de/industrie/kommunikationsfallen-software-engineering.html
Relevanz: Trigger- und Eskalationsmuster (z. B. Verallgemeinerungen, Etikettierungen, Druckkommunikation) sowie Deeskalationsprinzipien; Anschlussstelle für Ulpian als Missbrauchs- und Fairness-Gate.
-
Ellmann, Mathias:
Argumentenanalyse in der Wissenschaft.
https://www.mathiasellmann.de/wissenschaft/argumentenanalyse-wissenschaft.html
Relevanz: Argumenttypen (Deduktion, Induktion, Abduktion), 6-Schritte-Prüfschema und Bias-Check als methodische Grundlage für belastbare ADRs, Reviews und Gutachten.
8.2 Fachliteratur (Norm, Argumentation, Entscheidung, Bias)
-
Mitchell, P. et al. (2021).
Das Buch der Rechtsgeschichte.
DK Verlag.
Relevanz: Überblick über historische Entwicklung von Recht und Moral; Kontextualisierung normativer Leitplanken (u. a. Rechtsmaximen nach Ulpian als Werte- und Verantwortungsrahmen).
-
Szudek, Anna; Baiasu, Sorin; Talbot, Michael; Fletcher, Richard; Weeks, Marcus (2020).
#dkinfografik – Philosophie im Alltag: Vom Wahrnehmen, Erkennen und Entscheiden.
Dorling Kindersley, München.
Relevanz: Visualisiert Denk- und Entscheidungsprozesse und führt die 6-Schritte-Argumentenanalyse kompakt ein – direkte Grundlage für die Kapitelstruktur.
-
Levine, Robert (2015).
Die große Verführung – Psychologie der Manipulation.
Piper.
Relevanz: Darstellt Manipulationsmechanismen, Framing und Beeinflussung in Entscheidungssituationen und nutzt hierfür u. a. strukturierte Entscheidungsheuristiken als Referenzrahmen; in diesem Kontext wird die PROACT-Logik aufgegriffen bzw. referenziert.
Hinweis zur Quellenhierarchie: Levine ist hier Sekundärquelle für PROACT (Darstellung/Einbettung), nicht Primärquelle des Modells.
-
Hammond, John S.; Keeney, Ralph L.; Raiffa, Howard (2015).
Smart Choices: A Practical Guide to Making Better Decisions.
Harvard Business Review Press.
Relevanz: Primärquelle des PROACT-Modells (Problem, Objectives, Alternatives, Consequences, Trade-offs) als methodischer Kern strukturierter Entscheidungen; Grundlage der Entscheidungssektion; die achtteilige Operationalisierung ergänzt den PROACT-Kern um Unsicherheiten, Risikoneigung und Vorausplanung.
-
Kahneman, Daniel (2012).
Schnelles Denken, langsames Denken.
Siedler Verlag.
Relevanz: Standardwerk zu System-1/-2-Denken, Heuristiken und kognitiven Verzerrungen; Referenzrahmen für typische Bias-Fehlerquellen in Argumentation und Entscheidungsprozessen.
-
Hemmings, Jessica; Collin, Chris; Ginsburg Ganz, Jennifer; Lazyan, Marina; Black, Adam (2019).
#dkinfografik – Psychologie im Alltag: Wie wir denken, fühlen und handeln.
Dorling Kindersley, München.
Relevanz: Anschauliche Überblicksdarstellung zu Denkfehlern und Entscheidungsverhalten; ergänzend zur Einordnung und Vermittlung der Bias-Themen.
-
Andler, Nicolai (2015).
Tools für Projektmanagement, Workshops und Consulting – Kompendium der wichtigsten Techniken und Methoden, Volume 6.
Publicis, Erlangen.
Relevanz: Quelle für den Problemlösungsansatz als iterativen Zyklus (Diagnose, Zielformulierung, Analyse, Entscheidungsfindung) sowie Denkebenen (instrumental/funktional/Sinn-Begründung) als Prozessrahmen.