EntdeckenSoftware Architektur im Stream
Software Architektur im Stream

Software Architektur im Stream

Autor: Eberhard Wolff

Abonniert: 98Gespielt: 4,144
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/ .
233 Episodes
Reverse
In der Klimakrise sind alle aufgerufen, Maßnahmen zu ergreifen, um das 1,5°-Ziel zu erreichen. Unsere Branche ist für ca. 4% des weltweiten CO2-Verbrauchs verantwortlich - Tendenz steigend. Wir als Softwareentwickler:innen und Softwarearchitekt:innen haben die Verantwortung und die Möglichkeit hier die Situation zu verbessern. In dieser Episode sprechen wir mit Aydin Mir Mohammadi über diese Problematik und was wir konkret tun können. Er ist Mitgründer und im Vorstand Bundesverband Green Software, Initiator der CO2-Challenge sowie Partner und Architekt bei bluehands. Links Architektur Kickstart Aydins LinkedIn-Profil Aydins Folien Electricity Maps: Wo ist Strom wie grün? Energy Charts mit der Strom Ampel Carbon Aware Computing Green Web Foundation Cleaner-Web-Siegel für klimabewusste Websites CO2-Challenge Green Software Foundation Blauer Engel für Software Cloud Carbon Footprint: Cloud Carbon Emissions Measurement and Analysis Tool Green Coding Solutions Green Metrics Tools Green Software Software Development Meetup Karlsruhe
Software Architektur findet oft in Meetings statt. Kaum eine Entscheidung kann eine Person alleine treffen, denn es geht meistens darum, die Interessen verschiedener Stakeholder zu hören und zu beachten. Das Moderieren von Workshops und Meetings ist also ein wichtiges Werkzeug für die Gestaltung von Software-Architektur. Martin Günther spricht mit uns in dieser Episode über die verschiedenen Moderationsmöglichkeiten und den Liberating-Structures-Werkzeugkasten. Ein wichtiges Problem dabei: Leider gibt es auch Menschen, die teils unberechenbar eigene Meinungen oder Ideen einbringen oder durchsetzen wollen. Das kann beängstigend wirken oder gar so weit gehen, dass man sich nicht traut, den eigentlich notwendigen Workshop zu veranstalten. Ein Toolset wie Liberating Structures kann die notwendige Sicherheit geben, um auch solche Herausforderungen zu meistern. Links Martins Homepage Liberating Structures Homepage Daniel Steinhöfer: Liberating Structures: Entscheidungsfindung revolutionieren
In der IT gibt es einen kontinuierlichen Strom an Innovationen. Architekt:innen und alle, die in der IT arbeiten, stehen vor der Herausforderung, ständig neue Ideen in ihre Organisationen einzubringen. Hierfür können gezielte Muster (Pattern) eingesetzt werden. In dieser Episode spielen Tanja Friedel, Ralf D. Müller und Eberhard Wolff live das Spiel “Fearless Journey”. Mit diesem Spiel lassen sich auf spielerische Weise Strategien entwickeln, um neue Ideen zu etablieren. Im Anschluss reflektieren sie gemeinsam über das Spielergebnis und das Vorgehen. Links Linda Rising - Fearless Change and the Unconscious Mind - Live from OOP Fearless Journey Games Fearless Change Patterns Firmenpolitik für Architekt:innen mit Michael Ahrens Was ist der wichtigste Skill in der IT? Training: Team Topologies Deep Dive
Kriegsmetaphern finden oft Eingang in die Sprache der Unternehmenskultur, sei es in Besprechungen, Präsentationen oder internen Mitteilungen. Begriffe wie “Schlachtplan”, “verteidigen”, “kämpfen” oder “Siegesstrategie” werden verwendet, um den Wettbewerb zu beschreiben. Diese Metaphern können die Einstellung der Mitarbeiter gegenüber ihrer Arbeit und ihrem Team beeinflussen, indem sie eine Atmosphäre von Konkurrenz und Kampf schaffen. Die Unternehmenskultur oder auch die Stimmung im Team werden automatisch aggressiver und feindseliger gegenüber anderen Teams. Dies schafft oder verstärkt Konflikte, prägt Silo-Denken und versetzt die Mitarbeiter in einen permanenten “Kampfmodus”. Das muss nicht sein und es lohnt sich, ein Bewusstsein für die eingesetzten Metaphern zu schaffen, denn Sprache schafft Wirklichkeit. Friederike hält zu dem Thema einen Vortrag auf der BED-Con. Wir sprechen in diesem Stream über den Vortrag. LinksFriederikes Homepage Folien vom Vortrag Podcast: Kognitionswissenschaften: Wie Sprache und Denken zusammenhängen – und wie nicht Quarks: Was Gendern bringt – und was nicht Uni Würzburg: Experiment: male bias durch generisches Maskulinum Was ist Gewaltfreie Kommunikation (GFK)? Mastodon Tröt zu War analogies to lead teams in crisis Auftragstaktik - Agilität beim Militär? mit Sönke Marahrens
Sicherheitslücke durch Abhängigkeiten sind für Attacken wie Solarwinds, Equifax oder XZ verantwortlich. Und der EU Cyber Resilience Act zwingt zum Handeln. Supply Chain Security hilft bei der Absicherung des Bild-Prozesses. Jochen Mader wird dazu live von der BED-Con Rede und Antwort stehen, wo er auch einen Vortrag zum Thema hält. LinksBeispielcode & Folien Jochen Mader bei Mastodon Jochen Mader bei LinkedIn
Team Topologies scheint ein erfolgversprechendes Konzept zu sein, um die Teams für Software-Entwicklungsprojekte aufzustellen. Auf den ersten Blick scheinen die Ideen relativ einfach verständlich zu sein - und tatsächlich ist das einer der Vorteile von Team Topologies. Aber in der Praxis ergeben sich dann doch oft Herausforderungen, weil die Realität eben kompliziert und vielfältig ist. In dieser Episode diskutieren Kim Nena Duggen und Eberhard Wolff ihre Erfahrungen, Szenarien und Lösungsideen aus der Praxis mit Team Topologies. Training: Team Topologies Deep Dive Episode zu Team Topologies Episode DevOps und Team Topologies mit Anja Kammer Episode zu Wiederverwendung
Software-Entwicklung findet in Teams statt. Für die Größe der Teams wird in letzter Zeit verstärkt die Forschung rund um die Dunbar-Zahl herangezogen, die 150 beträgt. Scrum hingegen spricht von Teams mit weniger als 10 Personen. Wie kommt die Dunbar-Zahl zustande? Und welche Bedeutung hat sie, wenn Scrum beispielsweise eine andere Team-Größe predigt? Das wird Eberhard in dieser Episode diskutieren. Links Sketchnotes Robin Dunbar: Coevolution of neocortical size, group size and language in humans Patrik Lindenfors, Andreas Wartel, Johan Lind: ‘Dunbar's number’ deconstructed Emily Webber, Robin Dunbar: The fractal structure of communities of practice: Implications for business organization Eberhard Wolff: Was Softwareentwicklungsteams mit der Dunbar-Zahl und Primaten zu tun haben BED-Con JAX Camp: Microservices, sozio-technische Architekturen & Team Topologies Hillel Wayne & Laurent Bossavit - Is It All Built on Sand - What Do We Actually Know About Software Development?
Wir haben Euch gefragt: Was ist der wichtigste Skill in der IT? In dieser Episode diskutieren Lisa Moritz, Ralf D. Müller und Eberhard Wolff die Ergebnisse - und natürlich beantworten sie selbst auch die Frage. Vorab sei so viel verraten: Es gibt einen vielleicht nicht so überraschenden Favoriten, den viele genannt haben - aber auch sehr viele unterschiedliche Antworten. Links Miro BoardEpisoden mit Ralf:Wie kann ChatGPT in der Software-Architektur unterstützen?Besteht ChatGPT die iSAQB-Advanced-Level-Prüfung? 1/2Besteht ChatGPT die iSAQB-Advanced-Level-Prüfung? 2/2Mehr als Pfeile und Kästen - Architekturdiagramme zusammen mit Lisa MoritzRalfs Profil bei SocreatoryFirmenpolitik für Architekt:innen mit Michael AhrensCrew Ressource Management - Wie geht die Luftfahrt mit dem Faktor Mensch um?Funktionale Architektur - Ein konkretes Beispiel mit Mike SperberPsychological Safety - was sagt der Psychologe dazu? mit Joseph Pelrine - OOP Special
Oft sehen Architekt:innen Firmenpolitik als etwas, was sie von der wirklichen Arbeit abhält. Aber gerade der Bereich Politik beeinflusst einige wesentliche Erfolgsfaktoren von Projekten - und man kann sich diesen Mechanismen eigentlich kaum entziehen. In dieser Episoden diskutiert Michael Ahrens mit Eberhard Wolff was Firmenpolitik ist - und wie man sie konstruktiv nutzen kann. Links Virtueller Kaffee mit Michael Auftragstaktik - Agilität beim Militär? mit Sönke Marahrens Theorie des Aufräumens - Kent Beck’s “Tidy First?” mit Marco Emrich 2/2 Psychological Safety - was sagt der Psychologe dazu? mit Joseph Pelrine - OOP Special
Code aufräumen oder Features implementieren - womit sollten Entwickler:innen ihre Zeit verbringen? Kaum eine Frage ist im Projekt-Alltag wichtiger. In seinem Buch “Tidy First?” beschreibt Kent Beck nicht nur “Aufräumereien”, mit denen man Code besser gestalten kann, sondern geht auch die Frage der Priorisierung des Aufräumens an. In dieser Episoden diskutiert Marco Emrich zusammen mit Eberhard Wolff diese Aspekte des Buchs. Marco hat an der Übersetzung des Buchs ins Deutsche mitgearbeitet und hält auch Vorträge zum Inhalt des Buchs. Links Folien Buch auf Englisch Buch auf Deutsch Können wir Entwickler:innen-Produktivität messen? Technische Schulden Kent Beck "Smalltalk Best Practice Patterns" (1997) Kent Beck "Implementation Patterns" (2008) Dustin Boswell & Trevor Foucher "The Art of Readable Code" (2011) Daniel Terhorst-North - SOLID vs. CUPID Kevlin Henney SOLID Deconstruction Hands-on Behavioral Code Analysis with Adam Tornhill Code Aufräumen - Kent Beck’s “Tidy First?” mit Marco Emrich 1/2
Code aufräumen oder Features implementieren - womit sollten Entwickler:innen ihre Zeit verbringen? Kaum eine Frage ist im Projekt-Alltag wichtiger. In seinem Buch “Tidy First?” beschreibt Kent Beck nicht nur “Aufräumereien”, mit denen man Code besser gestalten kann, sondern geht auch die Frage der Priorisierung des Aufräumens an. In dieser Episoden diskutiert Marco Emrich zusammen mit Eberhard Wolff diese Aspekte des Buchs. Marco hat an der Übersetzung des Buchs ins Deutsche mitgearbeitet und hält auch Vorträge zum Inhalt des Buchs. Links Folien Folge Patterns - Kondensierte Erfahrungen mit Code, Dingen und Menschen mit Michael Hunger Rezension zum Buch von Ralf D. Müller bei heise Buch auf Englisch Buch auf Deutsch Coderetreat Website Folge Felienne Hermans about How to Read Complex Code (Live from Software Architecture Gathering) Zohar Jackson: Code Is for Humans: A Guide to Human-Centric Software Engineering
Qualitätsanforderungen, auch bekannt als nicht-funktionale Anforderungen, sind entscheidend, damit die Software-Architektur tatsächlich die richtigen Probleme löst. Nur mit den passenden Qualitätsanforderungen kann man die geeigneten Technologien auswählen. Doch die richtigen Anforderungen zu finden, ist oft eine Herausforderung. In dieser Episode stellt Michael Plöd “Quality Storming” vor – einen Ansatz, mit dem man gemeinsam mit Domänen-Expert und anderen Stakeholdern kollaborativ Qualitätsanforderungen ermitteln kann. Links Michaels Artikel über Quality Storming Nicole Rauch zu Event Storming & Specification by Example Domain Story Telling mit Henning Schwentner und Stefan Hofer Folgen zu Collaborative Modeling Systems Thinking in Large-Scale Modeling with Xin Yao - OOP Special Beispiele für Quality Requirements Präsentation von Michael zu Quality Storming Dave Gray, Sunni Brown, James Macanufo: Gamestorming: A Playbook for Innovators, Rulebreakers, and Changemakers
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
loading