Erik Dörnenburg - DevSecOps - live von der OOP
Wir kennen alle DevOps - aber was ist DevSecOps und warum gehört ausgerechnet Sicherheit dazu?# Thoughtworks Technology Radar

Wir kennen alle DevOps - aber was ist DevSecOps und warum gehört ausgerechnet Sicherheit dazu?# Thoughtworks Technology Radar
Technical debt is a well-known concept - but data can also cause technical debt. Links Data Technical Debt Refactoring Databases Agile Data Homepage
Testing alone is not enough - the alternative is quality engineering. Links Book: TMAP Quality for DevOps Teams TMAP
Software is developed in teams so design decision must be done collaboratively. Links Book: Jitske Kramer - Jam Cultures: About Inclusion; Joining in the Action, Conversation and Decisions Book: Sam Kaner - Facilitator’s Guide to Participatory Decision-Making Book: Thomas Wedell-Wedellsborg - What’s Your Problem?: To Solve Your Toughest Problems, Change the Problems You Solve Blog: Rebecca Wirfs-Brock: Architecture Decisions Should Be Made At the Last Responsible Moment Sketchnote: Dale Carnegie...
The SOLID principles are well-established as the foundation of object-oriented systems. However, after more than 20 years it is time to see whether the principles still apply and whether other concepts might be a better alternative. Daniel Terhorst-North is well known for concepts like behavior-driven development or deliberate discovery. He came up with the CUPID principles. In this episode, we will discuss SOLID and CUPID - and why Daniel thinks CUPID makes more sense. Links Slides for Daniel’s...
Many teams work on monolithic applications but want to migrate to a modern, shiny microservices architecture. Sam Newman is the author of the most popular book about microservices and has recently published a new book about the migration from monolith to microservices. We will talk about how to migrate to microservices - and why microservices should often only be used as a last resort. Links Sam’s Homepage Book Monolith to Microservices Sam about Microservices for Greenfield Sam talks about Micr...
Asynchrone Kommunikation hat gerade bei Self-contained Systems oder Microservices viele Vorteile. Umgesetzt wird sie dann meistens mit Messaging-Systemen wie Kafka. Aber es gibt Alternativen. In dieser Episode spricht Jochen Christ von INNOQ mit Eberhard Wolff über HTTP Feeds. Sie ermöglichen mit weniger technischen Overhead eine pragmatische Lösung für asynchrone Kommunikation - und haben in vielen Projekten auch schon ihre Praxistauglichkeit unter Beweis gestellt. Links Jochen Christs Folien z...
In der Software-Entwickler gibt es Juniors und Seniors - aber was ist eigentlich der Unterschied? Diese Frage habe ich in einem Tweet gestellt. Die Antworten sind vielfältig und waren für mich auch teilweise überraschend. In dieser Episode werden wir anhand der Antworten auf den Tweet der Frage nachgehen, was tatsächlich die Unterschiede zwischen Juniors und Seniors sind - und welche Unterschiede besonders wichtig sind. Links Ursprünglicher Tweet Gregor Hohpe: Architecture Elevator Artikel Die s...
In über 90 Folgen und einem Jahr Software Architektur im Stream haben wir viele Themen diskutiert. In dieser Episode möchte ich aufzeigen, was ich persönlich gelernt habe und was ich vielleicht auch anders darstellen würde, als ich es in den verschiedenen Episoden diskutiert habe. Schwerpunkt ist das Thema Architektur und Organisation, das in vielen Episoden im Mittelpunkt stand - und ja auch das Thema in der ersten Episode war. Links Organisation und Architektur DevOps und Team Topologies mit A...
In dieser Folge wollen wir ein neues Format ausprobieren: In Zukunft wollen wir Episoden zum beruflichen Werdegang von Personen im Bereich Software-Architektur produzieren. Das vertieft die Folgen, die sich bereits mit beruflichen Werdegang für Software-Architekt:innen auseinandergesetzt haben. Als Beta-Test werden Lisa und Eberhard sich die dafür geplanten Fragen gegenseitig stellen. So zeigt die Folge nicht nur den unterschiedlichen beruflichen Werdegang von Lisa und Eberhard auf, sondern gibt...
Die Komplexität großer Software-Systeme zwingt dazu, die Architektur in Mikro- und Makro-Architektur aufzuteilen. Makro-Architektur sind die Entscheidungen, die für das gesamte System gelten. Mikro-Architektur ist auf ein Modul begrenzt, so dass jedes für ein einzelnes Modul verantwortliche Team sie anders gestalten kann. Bei der Aufteilung in Mikro- und Makro-Architektur die Prioritäten richtig zu setzten und die besten Entscheidungen zu treffen, beeinflusst direkt die Autonomie der Teams und e...
Von schlechten Anforderungen haben wir alle bereits gehört! Aber, was können Softwarearchitekt:innen tun, um bessere Anforderungen zu erhalten? Und, sollten sich Softwarearchitekt:innen mit dem Thema Anforderungsanalyse beschäftigen? Spoiler: Die Antwort ist: “Ja”. In dieser Episode werden diese und mehr Fragen von Gernot Starke und Peter Hruschka beantwortet. Links Leanpub Buch zu Requirements Engineering Peter Hruschkas Buch zu Requirements Engineering iSAQB Advanced Modul Lehrplan bei GitHub ...
Wir alle haben in der IT angefangen und waren nicht von Beginn an Softwarearchitekt:innen - doch wie können wir den Weg in Richtung Softwarearchitektur beschreiten? Lisa und Ben sprechen in dieser Folge über ihre Reise durch die Softwarearchitektur und verraten Tipps und Tricks, wie du deine eigene Reise starten kannst. Bücher Dragon Book zu Compiler Bau Head First Design Patterns GoF Design Patterns Buch Gernot Starke: Effektive Software-Architekturen Stefan Toth: Vorgehensmuster für die Softwa...
Cross-funktionale Teams sind autonom und dadurch produktiver. In der Realität scheitern Initiativen für einen Wandel zu solchen Teams jedoch viel zu oft. Sven zeigt uns, wieso crossfunktionale Teams in den Abgrund gestürzt werden, oft natürlich unabsichtlich - und selbstverständlich auch, wie man so etwas vermeiden kann. Uwe Friedrichsen “You build it, you run it!” wird machtpolitisch missbraucht Tweet von Stefan Roock Team Topologies Folge mit Anja Kammer Team Topologies Buch Folge mit Gerrit B...
Domain-driven Design (DDD) ist gerade ein großer Hype, der aber vor allem Einsteiger:innen sehr fordert. Schließlich ist DDD nicht eine einzelne Praktik, sondern eine umfangreiche Sammlung sehr unterschiedlicher Ansätze - von Code-Ebene bis hin zur IT-Strategie. Das alles zu verstehen und anzuwenden, ist nicht einfach. DDD zielt darauf ab, Komplexität in Systemen beherrschbar zu machen und Fachlichkeit mit Software besser zu unterstützen - zwei Kernherausforderungen. Daher ist DDD eine sehr wich...
Keine Seiteneffekte, einfaches Testen, die Korrektheit der Programme kann sogar bewiesen werden - alles Vorteile von funktionaler Programmierung. Sie hat im akademischen Bereich schon immer eine Rolle gespielt, aber auch in der Industrie wird sie zunehmend populärer - aber gleichzeitig wirkt sie abgehoben und schwer zu verstehen. In dieser Episode berichten Lars Hupel und Isabel Wingen darüber, wie sie von funktionaler Programmierung im Projekt-Alltag profitieren, welche Erfahrungen sie gemacht ...
Eines der unbeliebtesten Themen in der IT ist die Dokumentation. Viele drücken sich davor sie zu schreiben, viele wollen sie nicht lesen. Doch sie bringt uns weiter und ist wichtig. Benjamin Wolf und Gernot Starke beantworten Fragen rund um das Thema Dokumentation. Wie können wir anfangen, unsere Dokumentation zu verbessern?
We all have some ideas about what works in software engineering and what doesn’t. But without real evidence and data that is just an opinion. Empirical software engineering tries to answer the question of what can be proven to work in software development. In this episode, Hillel Wayne and Laurent Bossavit will talk about what we know about software development, what we don’t know - and the myths about it i.e. what we think we know but really don’t. Links Laurent’s Book “The Leprechauns of Softw...
Am Ende des letzten Jahrhunderts stand Wiederverwendung im Mittelpunkt des Interesses: Dadurch sollte Software-Entwicklung endlich einfach und unfassbar produktiv werden. Nun sind mehr als zwanzig Jahre vergangen und es scheint auf den ersten Blick so, dass Wiederverwendung doch kein erfolgreiches Konzept war. In dieser Episode sprechen wir darüber, was wir in den letzten zwanzig Jahren gelernt haben - und wie Wiederverwendung in aktuellen Projekten stattfinden kann und sollte. Umweltamt zu Plas...
Nachdem es schon einige Folgen zum Thema Frontendarchitektur gab, die eher den Fokus auf Server-seitig gerenderte Architekturen gelegt haben, gibt es nun endlich eine Episode mit Manfred Steyer, die den Fokus auf Single Page Applications legt. Wir sprechen über Modularisierungskonzepte dieser Art von Architektur, wie zum Beispiel Microfrontends und Clients-Modulithen. Außerdem zeigen wir euch Entscheidungshilfen für die Wahl des passenden Konzepts und vieles mehr. Manfreds Blog...
Written self-reflection is very powerful and - at the same time - it is still quite rarely used in the business context. Cosima talks with Lisa about why this is the case and what can be done to improve the situation. Link collection links to worksheets, InfoQ.com article on ‘How Journaling puts Leadership in ACTion’, a podcast (in German), and various other related resources
Organisation und communication have a huge impact on software desgin and architecture. Avraham Poupko and Kenny Baas-Schwegler take this a step further and talk about the influence of culture on software design. Links Book: The Corporate Tribe: Organizational lessons from anthropology Book: Team Topologies: Organizing Business and Technology Teams for Fast Flow...
Code is read more often than written. Felienne Hermans talks about how to read complex code with Lisa Moritz and the book she wrote about this topic. Links Get 35% discount on Felienne’s ebook “The Programmer’s Brain” at Manning with the code podsoftarktv21 Code Reading Clubs Website Felienne’s Homepage...
James Lewis is one of the microservices pioneers. We talk about when to use microservices and the organizational side of microservices e.g. the inverse Conway maneuver. Lately, James became interested in flow. Links Talk Java the Unix Way Video Slides Java the Unix Way Video Microservices article by James Lewis and Martin Fowler...
Software architecture is fundamentally about how to split a software system into multiple parts. In this episode, we discuss this basic challenge: We talk about modularization with approaches like microservices and monoliths with Chris Richardson. Chris is a Java Champion and a Java One rock star. Nowadays, he works on microservices with his web site microservices.io and his book “Microservices Patterns”. Links microservices.io eventuate Chris’ microservices book Team Topologies Book Accelerate ...
Software architects are faced with uncertainty more often than we like to admit. How can we deal with it - or can we even make it disappear? In this episode, we will talk about uncertainty with Kevlin Henney. He has been a member of the IEEE Software Advisory Board, coauthor of several books on patterns, editor of 97 Things Every Programmer Should Know, and co-editor 97 Things Every Java Programmer Should Know. Links Phillip G. Armour: The Five Orders of Ignorance Planning Fallacy Adam Tornhill:...
The architecture of a system has to change over time. In this episode, we will discuss evolutionary architecture and why it is important. We will talk about patterns and principles to build architectures that stand the test of time. Dr Rebecca Parsons co-authored of a book about evolutionary architecture and has extensive experience with application development. Before becoming the CTO for Thoughtworks, she worked as an assistant professor at the University of Central Florida and as Director’s P...
Lose Kopplung stellt eine grundlegende Eigenschaft eines modularen Systems dar. Sie soll Änderungen vereinfachen, indem jede Änderung nur einen begrenzten Teil eines Systems beeinflusst. Obwohl der Begriff so wichtig ist, gibt es gerade in diesem Bereich immer wieder Missverständnisse. In dieser Episode diskutiert Eberhard Wolff die Bedeutung des Begriff und warum lose Kopplung so wichtig für Software-Systeme ist. Außerdem spricht er über verschiedene Ansätze, um lose Kopplung tatsächlich zu err...
In der Software-Architektur gibt es viele verschiedene Stile: Schichten, Hexagonal, Clean, Onion – aber auch ganz andere Ansätze wie MVC (Model-View-Controller) oder Domain-driven Design (DDD). In dieser Episode sprechen Henning Schwentner und Eberhard Wolff über die verschiedenen Stile. Neben den Eigenschaften der einzelnen Ansätze geht es auch um eine Kombination, mit der Henning schon viele Erfahrungen gesammelt hat: den Architektur-Hamburger. Links Domain-Storytelling-Buch Hennings Folien...
Wissensaustausch ist gerade bei Software-Architektur entscheidend. Und gerade Bücher sind dafür ein wichtiges Medium. In der Episode sprechen Lisa und Eberhard über ihre eigenen Erfahrungen als Autor:innen. Sie berichten darüber, wie man das Schreiben eines Buches angeht und warum ein solches Projekt sinnvoll sein kann.