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. | |||
[[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]