DiscoverSoftware Architektur im Stream
Software Architektur im Stream
Author: Eberhard Wolff
Subscribed: 76Played: 3,444Subscribe
Share
© Creative Commons Attribution-Sharealike 3.0 Unported License
Description
Live-Diskussion zu Software-Architektur im Stream. Einmal in der Woche diskutiert Eberhard Wolff oder Lisa Moritz Software-Architektur im Live-Stream auf YouTube und Twitch - oft zusammen mit einem Gast. Zuschauer können über den Chat mitdiskutieren oder Fragen stellen. Der Podcast enthält die Audio-Spur des Streams. Weitere Infos und einen Übersicht über die Folgen gibt es unter https://software-architektur.tv/ .
217 Episodes
Reverse
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 Rauch
Folge ü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 Episoden
Conway'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
In dieser Episode von Softwarearchitektur im Stream begrüßt die Lisa die Geschäftsführerin der Hacker School, Dr. Julia Freudenberg. Die Hacker School ist eine gemeinnützige Organisation, die digitale Bildung in den Schulen fördert und Jugendliche fürs Programmieren begeistert. Lisa und Julia sprechen darüber, wie die Hacker School mit Unternehmen aus der Digitalbranche zusammenarbeitet, um Nachhaltigkeit und soziales Engagement zu verbinden. Sie zeigen auch, wie die Hacker School Jugendlichen die nötigen Skills und Einblicke in IT-Berufe vermittelt und ihnen die Vielfalt und die Möglichkeiten der digitalen Welt eröffnet. Diese Episode ist für alle interessant, die mehr über die Hacker School erfahren wollen oder sich selbst für die digitale Bildung junger Menschen engagieren möchten.
Links
Hacker School
UnConference “Software-Entwicklung und Menschen - Team-Topologies, sozio-technische Systeme, Conway’s Law und mehr”
Fishbowl Brücken bauen - Erfolgreiche Wege für IT-Nachwuchs und Quereinsteiger (IT-Tage)
Wie groß sollen Microservices sein? Wie autonom sollen Teams sein? Bei Software-Architektur gibt es zahlreiche kontroverse Meinungen - also diskutieren wir es aus! Bei dieser Diskussion lassen Eberhard Wolff und Stefan Toth die Meinungen aufeinander prallen : Nach der Wahl eines Thema vertreten beide eine radikale Position dazu und diskutieren sie aus. Moderiert wird das Ganze von Lisa Moritz.
Fred Brooks behauptete 1986 in “No Silver Bullet—Essence and Accident in Software Engineering”, dass keine einzelne Maßnahme die Produktivität in der Software-Entwicklung drastisch verbessern kann. Gilt diese These noch in Zeiten künstlicher Intelligenz? Wie kommt man zu einer solchen Aussage? In der innovationsfreudigen IT wurde schließlich vieles, was einst unmöglich schien, Realität. Und wie misst Brooks überhaupt Produktivität? Die Frage nach der Produktivitätsmessung hat ja bereits eine vorherigen Folge behandelt.
Links
Kostenloses 60 Minuten Consulting bei SWAGLab
Fred Brooks: No Silver Bullet—Essence and Accident in Software Engineering
Fred Brooks: The Mythical Man-Month
Episoden zu Architektur-Management
Maestro: Die erste integrierte Entwicklungsumgebung
Episode mit Christiane Floyd
Folgen zu Technical Debt
Folgen zu Wiederverwendung
Mein Blog: KI in der Softwareentwicklung: Überschätzt
Bert Jan Schrijver about Generic or Specific?