Lazar Nikolov / Birgitta Böckeler / Martin Fowler: Unterschied zwischen den Versionen

Aus devops.straight8.de
Zur Navigation springenZur Suche springen
(Die Seite wurde neu angelegt: „Diese Zusammenfassung behandelt die einflussreichsten Veröffentlichungen und Kernargumente von Martin Fowler, Birgitta Böckeler und Lazar Nikolov, basierend auf ihrer Arbeit bei Thoughtworks und dem Portal martinfowler.com (Stand: Mai 2026). == Zusammenfassung: Wichtige Publikationen und Argumente == === 1. Martin Fowler (Softwarearchitektur & Engineering) === Fowler ist einer der prägenden Denker moderner Softwareentwicklung, besonders in den Berei…“)
 
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
Diese Zusammenfassung behandelt die einflussreichsten Veröffentlichungen und Kernargumente von Martin Fowler, Birgitta Böckeler und Lazar Nikolov, basierend auf ihrer Arbeit bei Thoughtworks und dem Portal martinfowler.com (Stand: Mai 2026).
Diese Zusammenfassung behandelt die einflussreichsten Veröffentlichungen und Kernargumente von Martin Fowler, Birgitta Böckeler und Lazar Nikolov, basierend auf ihrer Arbeit bei Thoughtworks und dem Portal [https://martinfowler.com/ martinfowler.com] (Stand: Mai 2026).


== Zusammenfassung: Wichtige Publikationen und Argumente ==
== Zusammenfassung: Wichtige Publikationen und Argumente ==
Zeile 5: Zeile 5:
=== 1. Martin Fowler (Softwarearchitektur & Engineering) ===
=== 1. Martin Fowler (Softwarearchitektur & Engineering) ===


Fowler ist einer der prägenden Denker moderner Softwareentwicklung, besonders in den Bereichen Refactoring, Agile und Architektur.
Fowler ist einer der prägenden Denker moderner Softwareentwicklung, besonders in den Bereichen Refactoring, Agile und Architektur. [[https://martinfowler.com/testing/ 1]]


'''Wichtigste Werke:''' Refactoring: Improving the Design of Existing Code (2nd ed. 2018), Patterns of Enterprise Application Architecture, NoSQL Distilled, martinfowler.com (Bliki).
* '''Wichtigste Werke:''' Refactoring: Improving the Design of Existing Code (2nd ed. 2018), Patterns of Enterprise Application Architecture, NoSQL Distilled, martinfowler.com (Bliki). [[https://hosseinnejati.medium.com/martin-fowler-the-architect-of-modern-software-development-and-why-every-developer-should-read-his-4356a5ffdc71 1]]
 
* '''Kernargumente:'''
'''Kernargumente:'''
** '''Refactoring & Evolutionäres Design:''' Softwaredesign muss sich kontinuierlich anpassen. Refactoring ist kein optionaler Schritt, sondern eine essenzielle Technik, um Code durch kleine, verhaltensbewahrende Änderungen sauber und wartbar zu halten.
 
** '''Architecture: The Important Stuff:''' Architektur ist das, was "schwer zu ändern" ist. Sie besteht aus den entscheidenden, gemeinsamen Entwürfen der besten Entwickler im Team. Dokumentation sollte agil und leichtgewichtig sein (z.B. Architecture Decision Records).
* '''Refactoring & Evolutionäres Design:''' Softwaredesign muss sich kontinuierlich anpassen. Refactoring ist kein optionaler Schritt, sondern eine essenzielle Technik, um Code durch kleine, verhaltensbewahrende Änderungen sauber und wartbar zu halten.
** '''Microservices & Dezentralisierung:''' Komplexe Systeme sollten als Reihe kleiner, eigenständiger Dienste entwickelt werden, die über APIs kommunizieren.
* '''Architecture: The Important Stuff:''' Architektur ist das, was "schwer zu ändern" ist. Sie besteht aus den entscheidenden, gemeinsamen Entwürfen der besten Entwickler im Team. Dokumentation sollte agil und leichtgewichtig sein (z.B. Architecture Decision Records).
** '''Continuous Delivery:''' Die Häufigkeit von Releases erhöht die Qualität und senkt das Risiko, sofern technische Exzellenz (Testing, CI) gewährleistet ist.
* '''Microservices & Dezentralisierung:''' Komplexe Systeme sollten als Reihe kleiner, eigenständiger Dienste entwickelt werden, die über APIs kommunizieren.
** '''GenAI & Abstraktion:''' Große Sprachmodelle (LLMs) sind der größte Abstraktionssprung seit den Hochsprachen, bringen aber auch Nicht-Determinisumus. Die Kernaufgabe verschiebt sich von "Code schreiben" zu "Harness Engineering" (Absicherung der Ergebnisse). [[https://martinfowler.com/articles/exploring-gen-ai/humans-and-agents.html 1], [https://martinfowler.com/ 2], [https://hosseinnejati.medium.com/martin-fowler-the-architect-of-modern-software-development-and-why-every-developer-should-read-his-4356a5ffdc71 3], [https://www.youtube.com/watch?v=BVMngYKJ4hk 4], [https://martinfowler.com/microservices/ 5], [https://martinfowler.com/tags/continuous%20delivery.html 6], [https://martinfowler.com/articles/2025-nature-abstraction.html 7]]
* '''Continuous Delivery:''' Die Häufigkeit von Releases erhöht die Qualität und senkt das Risiko, sofern technische Exzellenz (Testing, CI) gewährleistet ist.
* '''GenAI & Abstraktion:''' Große Sprachmodelle (LLMs) sind der größte Abstraktionssprung seit den Hochsprachen, bringen aber auch Nicht-Determinisumus. Die Kernaufgabe verschiebt sich von "Code schreiben" zu "Harness Engineering" (Absicherung der Ergebnisse).


=== 2. Birgitta Böckeler (AI-Assisted Delivery & Architektur) ===
=== 2. Birgitta Böckeler (AI-Assisted Delivery & Architektur) ===
Zeile 21: Zeile 19:
Böckeler ist eine führende Expertin für KI-gestützte Softwareentwicklung und kognitive Prozesse in der Architektur.
Böckeler ist eine führende Expertin für KI-gestützte Softwareentwicklung und kognitive Prozesse in der Architektur.


'''Wichtigste Werke:''' Exploring GenAI Memos (martinfowler.com), Harness engineering for coding agent users (2026), Cognitive Biases in Software Architecting.
* '''Wichtigste Werke:''' Exploring GenAI Memos (martinfowler.com), [https://martinfowler.com/articles/exploring-gen-ai.html Harness engineering for coding agent users (2026)], [https://birgitta.info/ Cognitive Biases in Software Architecting].
 
* '''Kernargumente:'''
'''Kernargumente:'''
** '''AI-Assisted Software Delivery:''' Der Fokus liegt darauf, KI nicht nur als "Fancy Auto-complete" (Copilot) zu nutzen, sondern als agentische Systeme, die ganze Aufgaben übernehmen. Dies erfordert neue Ansätze im Engineering.
 
** '''Harness Engineering:''' Da LLMs nicht-deterministisch sind, müssen Entwickler "Harnesses" bauen – Umgebungen, Spezifikationen und automatisierte Prüfungen, um die Qualität KI-generierten Codes zu sichern.
* '''AI-Assisted Software Delivery:''' Der Fokus liegt darauf, KI nicht nur als "Fancy Auto-complete" (Copilot) zu nutzen, sondern als agentische Systeme, die ganze Aufgaben übernehmen. Dies erfordert neue Ansätze im Engineering.
** '''Kognitive Verzerrungen in der Architektur:''' Architekten müssen sich ihrer kognitiven Verzerrungen (z.B. Ankereffekt, Bestätigungsfehler) bewusst sein, da diese die Entscheidungsfindung negativ beeinflussen. Vertrauen in Architektur sollte auf Daten basieren, nicht auf Intuition.
* '''Harness Engineering:''' Da LLMs nicht-deterministisch sind, müssen Entwickler "Harnesses" bauen – Umgebungen, Spezifikationen und automatisierte Prüfungen, um die Qualität KI-generierten Codes zu sichern.
** '''Pair Programming & Mentoring:''' Die Zusammenarbeit (Pairing) ist ein entscheidender Faktor für Wissensverbreitung und Qualität, besonders im Zeitalter der KI, um "Vibe Coding" (unreflektiertes KI-Coding) zu verhindern. [[https://martinfowler.com/articles/exploring-gen-ai.html 1], [https://martinfowler.com/tags/generative%20AI.html 2], [https://birgitta.info/ 3], [https://toot.thoughtworks.com/@bboeckel 4]]
* '''Kognitive Verzerrungen in der Architektur:''' Architekten müssen sich ihrer kognitiven Verzerrungen (z.B. Ankereffekt, Bestätigungsfehler) bewusst sein, da diese die Entscheidungsfindung negativ beeinflussen. Vertrauen in Architektur sollte auf Daten basieren, nicht auf Intuition.
* '''Pair Programming & Mentoring:''' Die Zusammenarbeit (Pairing) ist ein entscheidender Faktor für Wissensverbreitung und Qualität, besonders im Zeitalter der KI, um "Vibe Coding" (unreflektiertes KI-Coding) zu verhindern.


=== 3. Lazar Nikolov (AI Product Development & Patterns) ===
=== 3. Lazar Nikolov (AI Product Development & Patterns) ===
Zeile 34: Zeile 30:
Nikolov arbeitet eng mit der Thoughtworks-Community an der Implementierung von KI-Systemen in der Praxis.
Nikolov arbeitet eng mit der Thoughtworks-Community an der Implementierung von KI-Systemen in der Praxis.


'''Wichtigste Werke:''' Emerging Patterns in Building GenAI Products (2025), Mitarbeit an Thoughtworks Tech Podcasts.
* '''Wichtigste Werke:''' [https://martinfowler.com/articles/gen-ai-patterns/ Emerging Patterns in Building GenAI Products (2025)], Mitarbeit an Thoughtworks Tech Podcasts. [[https://martinfowler.com/articles/gen-ai-patterns/ 1]]
 
* '''Kernargumente:'''
'''Kernargumente:'''
** '''RAG (Retrieval-Augmented Generation):''' Der Standardansatz, um LLMs verlässlich zu machen. RAG liefert Kontext aus unternehmenseigenen Quellen, anstatt sich auf das statische Training des Modells zu verlassen.
 
** '''Evals & Monitoring:''' Die Bewertung der Ausgaben von LLMs ("Evals") ist das Herzstück produktiver KI-Anwendungen. Da GenAI nicht-deterministisch ist, müssen Systeme überwacht werden, um "Halluzinationen" zu erkennen.
* '''RAG (Retrieval-Augmented Generation):''' Der Standardansatz, um LLMs verlässlich zu machen. RAG liefert Kontext aus unternehmenseigenen Quellen, anstatt sich auf das statische Training des Modells zu verlassen.
** '''Vom Prototyp zur Produktion:''' Viele GenAI-Projekte scheitern am Übergang zum produktiven Einsatz, weil sie nicht als komplexe, softwaretechnische Systeme (mit Testing, Monitoring) behandelt werden. [[https://martinfowler.com/articles/gen-ai-patterns/ 1], [https://toot.thoughtworks.com/@bboeckel 2]]
* '''Evals & Monitoring:''' Die Bewertung der Ausgaben von LLMs ("Evals") ist das Herzstück produktiver KI-Anwendungen. Da GenAI nicht-deterministisch ist, müssen Systeme überwacht werden, um "Halluzinationen" zu erkennen.
* '''Vom Prototyp zur Produktion:''' Viele GenAI-Projekte scheitern am Übergang zum produktiven Einsatz, weil sie nicht als komplexe, softwaretechnische Systeme (mit Testing, Monitoring) behandelt werden.
 
== Zusammenfassende Kernargumente (Übersicht) ==
 
'''Strategische Ausrichtung: Die Zukunft der Softwareentwicklung'''
 
Die drei Experten stimmen darin überein, dass sich die Softwareentwicklung fundamental wandelt. Der Übergang von menschlich geschriebenem Code zu KI-assistierter Entwicklung ist unumkehrbar. Dies erfordert jedoch, dass Softwareingenieure ihre Rolle vom "Schreiber" zum "Harness Engineer" oder "Prüfer" weiterentwickeln (Fowler/Böckeler).
 
=== 1. Die neue Rolle des Codes und der Architektur ===
 
* '''Code-Qualität bleibt entscheidend:''' Trotz KI-Autonomie ist sauberer, verständlicher Code weiterhin das Ziel, da er die Absicht des Entwicklers dokumentiert (Fowler).
* '''Evolutionäre Architektur:''' Architektur ist ein sozialer Prozess, der durch "Architectural Decision Records" (ADRs) dokumentiert und durch "Harness Engineering" (Böckeler) gegen KI-bedingten Nicht-Determinismus geschützt werden muss.
 
=== 2. Der Einfluss von KI (GenAI) auf die Delivery ===
 
* '''Harness Engineering als Kerntechnik:''' Da KI-Agenten komplexe Aufgaben übernehmen (Agentic AI), muss das Team Sicherungen ("Harnesses") – bestehend aus Tests, Guardrails und Spezifikationen – bauen, um die Ergebnisse zu validieren (Böckeler/Fowler).
* '''Abstraktionssprung:''' KI ist eine neue Abstraktionsebene, die uns "seitwärts" führt (nicht nur nach oben wie Assembler zu Java). Wir müssen lernen, mit nicht-deterministischen Ausgaben zu arbeiten.
* '''RAG & Evals:''' Für produktive KI-Systeme ist RAG (Retrieval-Augmented Generation) entscheidend, um Kontext hinzuzufügen. Evals sind das "neue Testing" für KI-Anwendungen (Nikolov).
 
=== 3. Technische Praktiken und menschliche Faktoren ===
 
* '''Kognitive Bias-Behandlung:''' Architekten und Entwickler müssen aktiv gegen kognitive Verzerrungen (Cognitive Biases) arbeiten, um rationale Architektur- und Implementierungsentscheidungen zu treffen.
* '''Pairing und Teamkultur:''' Das Paarprogrammieren (Pair Programming) bleibt entscheidend, um die Qualität von KI-Code zu bewerten und Mentoring zu gewährleisten, gerade wenn die Komplexität durch KI-Tools steigt.
 
=== 4. Fazit ===
 
Die Kombination aus bewährten agilen Praktiken (Refactoring, CI/CD, Testing) und neuen KI-Engineering-Mustern (Harness Engineering, Evals) bildet die Basis für erfolgreiche Softwareentwicklung in den kommenden Jahren. Die Expertise der Autoren betont, dass KI den Menschen nicht ersetzt, sondern eine strenge, ingenieurmäßige Disziplin erfordert, um verlässliche Systeme zu liefern.


[[Category:People]]
[[Category:People]]

Version vom 11. Mai 2026, 14:37 Uhr

Diese Zusammenfassung behandelt die einflussreichsten Veröffentlichungen und Kernargumente von Martin Fowler, Birgitta Böckeler und Lazar Nikolov, basierend auf ihrer Arbeit bei Thoughtworks und dem Portal martinfowler.com (Stand: Mai 2026).

Zusammenfassung: Wichtige Publikationen und Argumente

1. Martin Fowler (Softwarearchitektur & Engineering)

Fowler ist einer der prägenden Denker moderner Softwareentwicklung, besonders in den Bereichen Refactoring, Agile und Architektur. [1]

  • Wichtigste Werke: Refactoring: Improving the Design of Existing Code (2nd ed. 2018), Patterns of Enterprise Application Architecture, NoSQL Distilled, martinfowler.com (Bliki). [1]
  • Kernargumente:
    • Refactoring & Evolutionäres Design: Softwaredesign muss sich kontinuierlich anpassen. Refactoring ist kein optionaler Schritt, sondern eine essenzielle Technik, um Code durch kleine, verhaltensbewahrende Änderungen sauber und wartbar zu halten.
    • Architecture: The Important Stuff: Architektur ist das, was "schwer zu ändern" ist. Sie besteht aus den entscheidenden, gemeinsamen Entwürfen der besten Entwickler im Team. Dokumentation sollte agil und leichtgewichtig sein (z.B. Architecture Decision Records).
    • Microservices & Dezentralisierung: Komplexe Systeme sollten als Reihe kleiner, eigenständiger Dienste entwickelt werden, die über APIs kommunizieren.
    • Continuous Delivery: Die Häufigkeit von Releases erhöht die Qualität und senkt das Risiko, sofern technische Exzellenz (Testing, CI) gewährleistet ist.
    • GenAI & Abstraktion: Große Sprachmodelle (LLMs) sind der größte Abstraktionssprung seit den Hochsprachen, bringen aber auch Nicht-Determinisumus. Die Kernaufgabe verschiebt sich von "Code schreiben" zu "Harness Engineering" (Absicherung der Ergebnisse). [1, 2, 3, 4, 5, 6, 7]

2. Birgitta Böckeler (AI-Assisted Delivery & Architektur)

Böckeler ist eine führende Expertin für KI-gestützte Softwareentwicklung und kognitive Prozesse in der Architektur.

  • Wichtigste Werke: Exploring GenAI Memos (martinfowler.com), Harness engineering for coding agent users (2026), Cognitive Biases in Software Architecting.
  • Kernargumente:
    • AI-Assisted Software Delivery: Der Fokus liegt darauf, KI nicht nur als "Fancy Auto-complete" (Copilot) zu nutzen, sondern als agentische Systeme, die ganze Aufgaben übernehmen. Dies erfordert neue Ansätze im Engineering.
    • Harness Engineering: Da LLMs nicht-deterministisch sind, müssen Entwickler "Harnesses" bauen – Umgebungen, Spezifikationen und automatisierte Prüfungen, um die Qualität KI-generierten Codes zu sichern.
    • Kognitive Verzerrungen in der Architektur: Architekten müssen sich ihrer kognitiven Verzerrungen (z.B. Ankereffekt, Bestätigungsfehler) bewusst sein, da diese die Entscheidungsfindung negativ beeinflussen. Vertrauen in Architektur sollte auf Daten basieren, nicht auf Intuition.
    • Pair Programming & Mentoring: Die Zusammenarbeit (Pairing) ist ein entscheidender Faktor für Wissensverbreitung und Qualität, besonders im Zeitalter der KI, um "Vibe Coding" (unreflektiertes KI-Coding) zu verhindern. [1, 2, 3, 4]

3. Lazar Nikolov (AI Product Development & Patterns)

Nikolov arbeitet eng mit der Thoughtworks-Community an der Implementierung von KI-Systemen in der Praxis.

  • Wichtigste Werke: Emerging Patterns in Building GenAI Products (2025), Mitarbeit an Thoughtworks Tech Podcasts. [1]
  • Kernargumente:
    • RAG (Retrieval-Augmented Generation): Der Standardansatz, um LLMs verlässlich zu machen. RAG liefert Kontext aus unternehmenseigenen Quellen, anstatt sich auf das statische Training des Modells zu verlassen.
    • Evals & Monitoring: Die Bewertung der Ausgaben von LLMs ("Evals") ist das Herzstück produktiver KI-Anwendungen. Da GenAI nicht-deterministisch ist, müssen Systeme überwacht werden, um "Halluzinationen" zu erkennen.
    • Vom Prototyp zur Produktion: Viele GenAI-Projekte scheitern am Übergang zum produktiven Einsatz, weil sie nicht als komplexe, softwaretechnische Systeme (mit Testing, Monitoring) behandelt werden. [1, 2]