DiscoverSoftware Architektur im Stream
Software Architektur im Stream

Software Architektur im Stream

Author: Eberhard Wolff

Subscribed: 76Played: 3,444
Share

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

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
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?
loading
Comments 
Download from Google Play
Download from App Store