Episodios
-
Gute Software-Architektur strukturiert komplexe Software-Systeme so übersichtlich, dass Menschen sie verstehen und weiterentwickeln können. Also geht es bei der Software-Architektur um den Faktor Mensch. Deswegen kann sich Architektur aber nicht auf Maßnahmen für die Strukturierung der Software begrenzen, sondern muss sich auch mit den Menschen beschäftigen. In diesem Vortrag geht es um einige konkrete Ansätze und Erfahrungen, die Entwicklung durch Maßnahmen in Bezug auf den Faktor Mensch zu verbessern.
Links
Episode zu Team Topologies
Flugunglück auf Teneriffa bei Wikipedia
United Airlines Flug 173 bei Wikipedia
Episode Crew Ressource Management - Wie geht die Luftfahrt mit dem Faktor Mensch um?
Episode Scrum Master:in und Softwarearchitektur mit Nadine Andraczek
Episode Auftragstaktik - Agilität beim Militär? mit Sönke Marahrens
Episode Auftragstaktik - Agilität beim Militär? mit Sönke Marahrens
Episode Psychological Safety - was sagt der Psychologe dazu? mit Joseph Pelrine - OOP Special
Episode Wie reißt man den Elfenbeinturm ein? mit Anja Kammer
-
Zum Kippen agiler Projekte gab es bereits einen Vortrag und eine Episode im Stream. Insbesondere zu dem Vortrag gab einige interessante Reaktionen und Kommentare - offensichtlich gibt es viele unterschiedliche Meinungen zu dem Thema. In dieser Episode diskutieren wir dieses Feedback und vertiefen so das Thema Agilität und das Scheitern des Ansatzes mit weitere Perspektiven.
Links
Wahrheiten über Software-Entwicklung - Darüber möchte ich nicht mehr sprechen müssen!
Warum (agile) Projekte kippen
Short Video zum Kippen agiler Projekte
Diskussion auf LinkedIn
YouTube-Video mit Diskussion
Prof. Christiane Floyd zu "menschenzentrierter Software-Entwicklung"
Extreme Programming (XP) - eine Retrospektive
Are We Engineers? With Hillel Wayne
Heise-Blog "Hilft kaputte Agilität?"
Crew Ressource Management - Wie geht die Luftfahrt mit dem Faktor Mensch um?
Auftragstaktik - Agilität beim Militär? mit Sönke Marahrens
Welt: Das einmalige Erfolgsrezept deutscher Armeen
Hillel Wayne & Laurent Bossavit - Is It All Built on Sand - What Do We Actually Know About Software Development?
Streams zu Modularisierung
-
¿Faltan episodios?
-
Bounded Contexts sind zentral für Strategic Domain-driven Design. Irgendwie werden damit große Systeme aufgeteilt, aber gleichzeitig macht es die Definition von Begriffen eindeutig und irgendwie spielt das Konzept auch eine Rolle für die Kollaboration von Teams. In dieser Episode diskutieren wir die den Begriff Bounded Context im Detail und gehen auf die Probleme ein, die bei der Nutzung des Begriff typischerweise auftreten.
Links
Taktisches Domain-driven Design (DDD)
Folge Statt Microservices Framework, Library, Komponenten
Eric Evans: DDD Referenz (kostenlos)
Folge Team Topologies
Folge Objektorientierung - Was ist das eigentlich?
Artikel "Große Systeme mit Domain-driven Design entwerfen"
Eric Evans: Domain-Driven Design: Tackling Complexity in the Heart of Software
-
Die Umsetzung von taktischem Domain-Driven Design (DDD) in Java birgt einige technische Herausforderungen. In dieser Episode betrachten wir einen Ansatz, der Entwickler:innen dabei unterstützen reichhaltige Domänenmodelle in Java zu implementieren: die jMolecules Bibliothek ermöglicht es, DDD Konzepte direkt in Code auszudrücken und bietet darüber hinaus Integration in weitverbreitete Technologien wie Spring, Jackson und Persistenztechnologien. Oliver Drotbohm ist Engineer bei Broadcom und einer der Entwickler von jMolecules.
Links
Olivers Demo bei GitHub
Taktisches Domain-driven Design
Architektur-Hamburger mit Henning Schwentner
Vaughn Vernon about Ports and Adapters and DDD
Markus Völter zu Fachliche Architekturen mit DSL (Domain Specific Languages)
Peter Gafert zu ArchUnit
Dirk Mahler zu Software-Architektur-Management mit jQAssistant
-
Vaughn is the author of many fundamental books about domain-driven design and one of the leading experts in this field. In this episode, we talk ports and adapters and why this pattern is actually easy. Also we speak about the role of frameworks and AI - in particular for domain-driven design.
Links
Vaughn Vernon: Domain-Driven Design Distilled
Vaughn Vernon: Domain-Driven Design kompakt
Carola Lilienthal, Henning Schwentner: Domain-Driven Transformation: Modularize and Modernize Legacy Software
Carola Lilienthal, Henning Schwentner: Domain-Driven Transformation: Monolithen und Microservices zukunftsfähig machen
Susanne Kaiser: Adaptive Systems with Domain-Driven Design, Wardley Mapping, and Team Topologies: Architecture for Flow: Architecture for Flow
Alistair Cockburn Hexagonal Architecture
Frank Buschmann, Regine Meunier, Hans Rohner, Peter Sommerlad, Michael Stal : Pattern-Oriented Software Architecture, Vol. 1: A System of Patterns
Martin Fowler: Pattern of Enterprise Application Architecture
Transaction Script
Vaughn Vernon: Implementing Domain-Driven Design
Vaughn Vernon, Jaskula Tomasz: Strategic Monoliths and Microservices: Driving Innovation Using Purposeful Architecture
Eric Evans: DDD and LLMs - Explore DDD 2024
Neil Perry, Megha Srivastava, Deepak Kumar, Dan Boneh: Do Users Write More Insecure Code with AI Assistants?
-
Agilität bietet höhere Produktivität und bessere Ergebnisse für die Projekte - daher wird sie sich durchsetzen! Die Realität sieht leider manchmal ganz anders aus: Erst ist das Projekt agil, produktiv und alle sind begeistert. Wenige Monate später: wichtige Personen haben das Projekt verlassen und von den agilen Techniken ist nur noch wenig übrig . In diesem Vortrag geht es uns um das “Kippen” von Projekten und Gründe sowie Möglichkeiten diskutieren, um mit einer solchen Situation umzugehen.
Links
Folien
Prof. Christiane Floyd zu “menschenzentrierter Software-Entwicklung”
Vortrag Wahrheiten über Software Entwicklung: Darüber möchte ich nicht mehr sprechen
müssen!Welchen Sinn hat agiles Coaching? mit Johannes Link
Blog: Hilft "kaputte"
Agilität?Auftragstaktik - Agilität beim Militär? mit Sönke Marahrens
Crew Ressource Management - Wie geht die Luftfahrt mit dem Faktor Mensch um?
Linda Rising - Fearless Change and the Unconscious Mind
Beyond Budgeting
Das Kippen agiler Software-Projekte
Agilität
Extreme Programming (XP) - eine Retrospektive
-
Das dominierende Programmierparadigma ist nach wie vor die Objektorientierung, die Konzepte wie Vererbung, Delegation und Aggregation umfasst. In dieser Episode werden die verschiedenen Ansätze der Objektorientierung diskutiert und aufgezeigt, wie unterschiedlich sie umgesetzt werden kann – insbesondere auf der Ebene der objektorientierten Programmierung.
Links
JAX Microservices Camp
Software Architektur als Beruf
Folge zu taktischem Domain-driven Design
Episode Funktionale Programmierung, DDD und Architektur mit Mike Sperber
Episoden zu funktionaler Programmierung
Abstract Data Type bei Wikipedia
Circle Ellipse Problem bei Wikipedia
Command Query Separation CQS bei Wikipedia
Folge zu Wiederverwendung
Nikolaus Wirths Paper zu Komplexität
Vortrag Beten wir Komplexität an?
Wirth über das Problem der populären Programmier-Sprachen
Interview mit Adele Goldberg
-
Alberto Brandolini is the creator of Event Storming, a technique aimed at fostering a shared understanding of business concepts among all stakeholders in a software development endeavor. However, architects may encounter challenges within the business domain that exceed their influence. Alberto will explore this issue and propose potential solutions.
Links
Alberto's Event Storming Book
Folge über DDD, Event Storming und Specification by Example mit
Nicole RauchFolge über das Messen von Produktivität
-
Domain-driven Design (DDD) bietet einen umfangreichen Werkzeug-Kasten. Aber bei Architektur-Diskussionen kommt die Code-Ebene oft zu kurz, obwohl DDD auch in dem Bereich helfen kann. Im Mittelpunkt dieser Episode soll daher das sogenannte taktisches Design stehen. Diese Patterns beschreiben, wie man Geschäftslogik in einem objekt-orientierten System aufbauen kann. Dazu gehören Ideen wie Entity, Aggregate oder Service.
Links
Sketchnotes
Softwarearchitektur-Kickstart
Martin Fowler: Pattern of Enterprise Application Architecture
Transaction Script
Table Module
Eric Evans: DDD Referenz
Folge zu Events, Event Sourcing und CQRS
Folge mit Susanne Braun zu Eventual Consistency
DDD Crew: Event Storming Glossary Cheat Sheet
Alberto Brandolini: Introducing Event Storming
SoftwareArchitekTOUR-Podcast zu taktischem Design
-
Team Topologies stellen Konzepte dar, mit denen Software-Entwicklungsteams organisiert werden können. Mit nur vier Arten von Teams und drei Interaktionsmodi zwischen den Teams reduziert sich Team Topologies auf das wesentliche. Gleichzeitig ist es in der Praxis erprobt und löst viele typische Probleme. Im Mittelpunkt dieser Episode steht die Vorstellung und Diskussion der wesentlichen Konzepte und Ideen.
Links
Infographic
Sketchnotes
Episode mit Anja Kammer zu DevOps und Team Topologies
JAX Workshop: Team Topologies, Inverse Conway und mehr ganz praktisch
JAX Microservices Camp: Organisation und Team Topologies: Der Schlüssel zum Erfolg mit Microservices
Matthew Skelton, Manuel Pais: Team Topologies (DE)
Matthew Skelton, Manuel Pais: Team Topologies (EN)
Matthew Skelton, Manuel Pais: Remote Team Interactions Workbook
Team Topologies Infographics
Episode zu API-Team mit Dr. Miriam Greis und Lisa Moritz
Episode zu Site Reliability Engineering mit Bastian Spanneberg
-
Die Unternehmens-IT-Landschaften bestehen heutzutage aus einer Vielzahl unterschiedlicher Software-Systeme. Jedes Software-System muss sich in diese Landschaft einfügen und daher mit anderen Systemen integrieren. Und bei Microservices spielt ebenfalls die Integration der einzelnen Services eine zentrale Rolle. In dieser Episode diskutieren wir typische Mechanismen zur Integration wie REST oder Messaging und wie sie die typischen Probleme bei der Integration lösen.
Links
Folge zu Abhängigkeiten
Does my ESB look big on this
VideoFolienStefan Tilkov, Martin Eigenbrodt, Silvia Schreier, Oliver Wolf: REST und HTTP
HTTP Folge mit Lucas Dohmen
Enterprise Service Bus bei Wikipedia
Kafka Video
Gregor Hohpe: Patterns of Enterprise Application Architecture
Apache Camel
Spring Integration
Episode zu Feeds mit Jochen Christ
Episode zu lose Kopplung
-
“Agile? Gähn! Haben wir probiert. Funktioniert bei uns nicht.” Haben Sie so etwas so oder so ähnlich schon gehört? Ist Agile oder Scrum bei Ihnen bereits ein “verbrannter Begriff”, bei dem Kollegen um Sie herum das Weite suchen, wenn Sie ihn verwenden?
Die Gründe sind dabei oft vielfältig. In meiner mehrjährigen Erfahrung mit verschiedensten Unternehmen haben sich dabei jedoch einige Muster herauskristallisiert, die ich als “Agile Anti-Pattern” bezeichnen würde.
Genau darum soll es hier gehen. Unabhängig davon, ob Sie die Agilität in ihrem Unternehmen unterstützen oder sabotieren wollen: Hier lernen Sie, wie Sie es effektiv anstellen können. Wir beginnen dabei mit verschiedensten Ursachen für das Scheitern, und schauen, worum es im Kern bei Agilität geht und warum es so leicht ist, sie abzuwürgen.
Im Anschluss schweifen wir über die häufigsten Anti-Pattern und schließen damit ab, was Agilität mit gelebter Unternehmenskultur zu tun hat.
-
Software-Entwicklung ist anders als andere Disziplinen: Wir können nicht mit einem festen Plan im Sinne des Wasserfalls vorgehen, sondern müssen iterativ arbeiten. Die Architektur ist nicht stabil. Best Practices sind eher problematisch. Diese Erkenntnisse sind nicht neu – im Gegenteil: Einige sind erschreckend alt. Dennoch sind diese Grundlagen in unserer scheinbar innovativen Branche nicht allgemein geläufig. Da sie nicht intuitiv klar oder offensichtlich sind, erschließen sie sich nicht jeder Person. Aber es ist ermüdend, immer wieder auf sie hinzuweisen. Idealerweise müssten wir sie nicht immer wieder aus Neue vermitteln. Diese Themen sollten mindestens unter IT-Professionals als unumstößliche Wahrheiten verankert werden. Dieser Talk könnte ein erster Schritt in diese Richtung sein.
Episode "Menschenzentrierte Softwareentwicklung" mit Prof. Dr. Christiane Floyd
Bericht über das SAGE-System
The Leprechauns of Software Engineering by Laurent Bossavit
Episode "Gibt es das Wasserfallmodell überhaupt?"
Blog "Wasserfall-Modell? LOL!"
Episode "Are We Engineers?" with Hillel Wayne
Vortrag "Architektur: bitte nicht zukunftssicher!"
Blog "Die einzige Best Practice: Keine Best Practice nutzen"
Episode "Best Practices - Keine gute Idee"
60-Minuten-Consulting
Broschüre "Software-Entwicklung: Der Mensch im Mittelpunkt"
-
Software engineering stands apart from other engineering disciplines - or does it? Some argue that we are too informal to be deemed engineers, while others believe “real” engineers follow traditional, waterfall methods because things are much more stable in their domains. Some even argue that software development should be seen as an art or craft. To address the question of whether software engineers are “real” engineers, Hillel Wayne interviewed professionals who crossed over from traditional engineering to software engineering. In this episode, we will delve into the insights gained from these.
Links
Is Software Engineering Real Engineering? Hillel Wayne YOW! 2023 YouTube hillelwayne.com
Are We Really Engineers? (Crossover project 1/3)
We Are Not Special(Crossover project 2/3)
What Engineering Can Teach (an Learn From) Us (Crossover project 3/3)
The Joel Test
Documenting Software Architectures (Paul Clements et al.)
Handbook of Industrial Engineering (Gavriel Salvendy)
Hillel Wayne & Laurent Bossavit - Is It All Built on Sand - What Do We Actually Know About Software Development?
Auftragstaktik - Agilität beim Militär? mit Sönke Marahrens
Crew Ressource Management - Wie geht die Luftfahrt mit dem Faktor Mensch um?
-
Fehler gibt es auch in der Software-Architektur. Auf Social Media haben wir Menschen darum gebeten, von Architektur-Fehlern zu berichten, die sie selbst gemacht haben oder in Projekten miterlebt haben. In dieser Episode betrachten wir einige davon und versuchen, aus ihnen zu lernen: Gibt es Muster? Was sind die Gründe? Kann man die Fehler vermeiden?
Links
Folge “Amazon - Von Microservices zurück zu Monolithen?”
Artikel von von Oliver Wehrens zu Mikro-/Makro-Architektur
Episode zu Mikro-/Makro-Architektur
Architektur Kickstart
Episode zu Crew Ressoure Management
The Vietnam of Computer Science von Ted Neward
BED-Con
Bert Jan Schrijver about Generic or Specific - Wichtiger Punkt: Erst beim dritten Mal eine generische Lösung bauen
-
Software-Architektur spielt vor allem in großen Projekten eine entscheidende Rolle für den Erfolg. In dieser Episode diskutieren wir Methoden, um Software-Architektur-Arbeit erfolgreich auf größere Projekte und Teams zu skalieren.
Links
Planung der nächsten EpisodenConway's Law
Organisation und Architektur - ein Beispiel
Makro-Architektur
Episoden zu Modularisierung
Die Rolle Software-Architekt
-
Kann man Software ohne Architektur entwickeln? In dieser Episode gehen wir genau dieser Frage nach, denn oft scheint Architektur im Weg zu stehen. Vielleicht wird also alles besser, wenn wir sie einfach weglassen?
Links
Die Rolle Software-Architekt 1/2
Die Rolle Software-Architekt 2/2
Was ist Software-Architektur überhaupt?
Crew Ressource Mangement - Wie geht die Luftfahrt mit dem Faktor Mensch um?
Auftragstaktik - Agilität beim Militär? mit Sönke Marahrens
Software-Architektur Inspiration von anderen Branchen
Hillel Wayne "What Engineering Can Teach (and Lean From) Us"
Peter Gafert zu ArchUnit
Folgen zu "Wir bauen eine Software-Architektur"
Folgen zur iSAQB Advanced Beispielaufgabe
-
In dieser Episode sprechen Dr. Miriam Greis und Lisa Moritz über API-Teams. Sie klären, was sich hinter diesem Begriff verbirgt, welche Vorteile ein API-Team mit sich bringt und welche Hürden auf dem Weg zu einem erfolgreichen API-Team überwunden werden müssen.
Links
Liste mit Tools rund um OpenAPI u.a. mit den erwähnten Spectral und Redocly CLI und den Editoren Stoplight Studio und Swagger Editor
portman
OpenAPI Map
-
Heutzutage wird Modularisierung oft mit der Aufteilung in Microservices gleichgesetzt. Können Konzepte wie Framework, Library oder Komponenten als Alternativen dienen? In dieser Episode beleuchten wir die genaue Bedeutung dieser Begriffe und wie nützlich sie bei der Strukturierung von Software-Systemen sind.
Links
Sketchnotes
Software Architektur im Stream Spreadshop
Software-Entwicklung und Menschen - Die remote UnConference
Episode zu loser Kopplung
Wikipedia zu Library
Brad Coxs Idee zu Komponenten
Episode zu Wiederverwendung
Episoden zum Architektur-Management
Blog: Die Cloud: Eine Komponentenbibliothek
Bert Jan Schrijver about Geneirc or Specific
-
Legacy Software - dabei erschaudern auch erfahrene Techniker:innen. Aber Legacy heißt eigentlich so viel wie “Erbe” und ist nur in der IT rein negativ besetzt. Und Legacy Software löst praktisch immer ein Business-Problem erfolgreich, während eine Neuentwicklung ihre Nische erst finden muss. Der Vortrag zeigt, wie man diese und andere Erkenntnisse nutzen kann, um Strategien zu entwickeln, mit denen man produktiver und erfolgreicher mit Legacy-Software umgehen kann. Und so wird aus dem Problem “Legacy” eine Chance.
Links
Heise-Blog: KI in der Software-Entwicklung: Überschätzt
Folge zum Strangler-Fig-Pattern
Folge zu Nick Tunes Legacy-Ansatz
Nick Tunes Buch zu Architektur-Modernisierung
Folge zu Big Ball of Mud
Kostenloses 60-Minuten-Consulting
Kostenlose Broschüre: Software-Entwicklung: Der Mensch im Mittelpunkt
- Mostrar más