EntdeckenSoftware Architektur im Stream
Software Architektur im Stream

Software Architektur im Stream

Autor: Eberhard Wolff

Abonniert: 83Gespielt: 3,605
teilen

Beschreibung

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/ .
221 Episodes
Reverse
With so much legacy software around, modernizing the architecture and the software has become a major challenge that almost every project faces. Nick Tune is one of the leading Domain-driven Design experts and has written a book about “Architecture Modernization”. In this episode, we will discuss this approach and how it deals with typical challenges with legacy systems. Links Nick’s book at Mannings Nick’s homepage Nick’s LinkedIn post with a discussion about secret vs. transparent
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
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 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

Team Topologies

2024-04-1848:18

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
Integration

Integration

2024-04-1201:01:56

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
loading
Kommentare