Software Qualität

Software Qualität beschreibt Praktiken um die Qualität von Software zu messen und sicherzustellen und Fehler zu vermeiden. In diesen Episoden erkunden wir die verschiedenen Aspekte der Software Qualität, einschließlich Tests, Code-Reviews und Qualitätssicherung. Wir besprechen auch, wie Organisationen die Qualität ihrer Software verbessern und wie sie sicherstellen können, dass ihre Software den Anforderungen und Erwartungen der Benutzer entspricht.

Podcast

Software Qualität im Engineering Kiosk Podcast

Details zur Podcast Episode #116 KI unterstützte Software Entwicklung: Ein Reality Check mit Birgitta Böckeler von Thoughtworks Software Engineering Software Qualität Automation Interview Women in Tech

#116 KI unterstützte Software Entwicklung: Ein Reality Check mit Birgitta Böckeler von Thoughtworks

AI in der Software-Delivery: Unsere größte Möglichkeit oder purer Hype? - Ein Realitätscheck Generative AI ist in der Software-Entwicklung allgegenwärtig. Mit Co-Pilot stellt GitHub den Platzhirsch im Bereich Codegenerierung und bewirbt es mit einer 55% Produktivitätssteigerung. Bei solchen Effekten dreht jedes C-Level-Management am Rad. Doch was ist dran am Hype? Sollten wir wirklich alle so aufgeregt sein? Zu dieser Frage bzw. zu einem Realitätscheck sprechen wir mit Birgitta Böckeler, Global Lead for AI-assisted Software Delivery bei Thoughtworks. Sie beschäftigt sich u.a. damit, wozu Generative AI in der Softwareentwicklung genutzt werden kann, welche Einsatzbereiche neben der Codegenerierung existieren, für welche Bereiche Coding Assistenten gut und für welche nicht so gut sind funktionieren aber auch welchen Effekt die ganze AI-Bewegung auf den ganzen Softwareentwicklungsprozess...

Details zur Podcast Episode #115 Die Shift Left Philosophie: Mehr Verantwortung für Devs Tech Kultur Karriere Software Engineering Software Qualität

#115 Die Shift Left Philosophie: Mehr Verantwortung für Devs

Den Softwareentwicklungs-Prozess beschleunigen, indem mehr Arbeit auf die Entwickler abgewälzt wird? 2024 ist das Jahr der Effizienz. Überall wird nachgesehen, was noch schneller und besser laufen kann. So auch bei der Softwareentwicklung. Denn dort ist allzeit bekannt: Umso später ein Fehler aufgedeckt wird, desto teurer ist seine Behebung. Deswegen wurde früh damit angefangen, nicht nach der Softwareentwicklung das Programm zu testen, sondern schon während der Entwicklung die Tests zu schreiben. Der Test-Prozess wurde in der Zeitleiste nach Links geschoben. In der Industrie nennt man diesen Vorgang “Shift Left”. Doch bei Tests ist es nicht geblieben. DevOps verlagert die Operations nach Links. Cloud die Definition von Infrastruktur als Code (und somit in die Softwareentwicklung). Security nimmt ebenfalls einen wichtigen Standpunkt in der modernen Welt ein. Metriken, strukturierte Logs...

Details zur Podcast Episode #109 Freeze! Warum dein Code manchmal eine Pause braucht Software Engineering Software Qualität Kommunikation

#109 Freeze! Warum dein Code manchmal eine Pause braucht

Deployst du auch Freitags und während Black-Frida und /Cyber Monday? Code Freezes verbieten, dass neue Änderung in den Hauptentwicklungszweig gemerged werden. Deployment Freezes verhindern das eine neue Software-Version an den Kunden ausgeliefert werden kann. Doch warum tut man dies? Denn eins steht fest: Software Engineers werden dafür bezahlt, Dinge zu ändern. Doch Code- und Deployment Freezes werden oft vom Management vorgegeben. Welche Gründe für Code- und Deployment Freezes sprechen, welche Arten von Freezes es gibt, was ein Code Slush ist, wie das ganze in verschiedenen Industrien aussieht, das klären wir in dieser Episode. Bonus: Wenn Software-Engineers durch Code-Freezes an ihrem Job gehindert werden. Das schnelle Feedback zur Episode: 👍 (top) 👎 (geht so)

Details zur Podcast Episode #96 Selbstgemacht vs. Fertigprodukt: Ein Blick auf das Not-Invented-Here-Phänomen Team Software Engineering Software Qualität

#96 Selbstgemacht vs. Fertigprodukt: Ein Blick auf das Not-Invented-Here-Phänomen

Nur unsere eigene Lösung ist die beste: Das "Not invented here" Syndrome (NIH) Ihr kennt das bestimmt: Es gibt eine neue Herausforderung zu lösen. Das Team steigt sofort in die Planung ein, um die Anforderungen in Source-Code zu kippen. Ihr sitzt da und fragt euch: Das kann doch nicht sein, dass wir die einzigen sind, die dieses Problem haben. Da muss es doch schon was fertiges geben.”. Doch das Team wettert dagegen: “Unser Problem ist sehr speziell. Wir bezweifeln stark, dass es da etwas gibt, was unseren Anforderungen standhält. So oder so ähnlich spielt es sich jede Woche in etlichen Teams ab. Es wird die eigene Arbeit über externe Lösungen gestellt. Die Nachteile werden oft später sichtbar. Über dieses Thema sprechen wir in dieser Episode. Nicht nur, was die Gründe dafür sind, sondern auch, wie man dem etwas entgegensetzen kann. Bonus: Warum keiner vor dem "Not invented here"...

Details zur Podcast Episode #93 Barbara Liskov - Das L in SOLID (Liskovsches Substitutionsprinzip & Abstraktion) Turing Award Software Engineering Software Qualität Women in Tech

#93 Barbara Liskov - Das L in SOLID (Liskovsches Substitutionsprinzip & Abstraktion)

Liskov Substitution Principle: Das L in SOLID von Barbara Liskov Heutzutage wird die Informatik und Softwareentwicklung leider primär von Männern dominiert. Doch schaut man ein paar Jahrzehnte zurück, haben viele Frauen maßgeblich die heutige Software-Entwicklung geprägt. Eine Frau war Barbara Liskov. Liskov? Das kennt man doch irgendwoher? Genau. Sie ist unter anderem die Namensgeberin für das L in den SOLID-Prinzipien (die ersten 5 Prinzipien des objektorientierten Designs). Als zweite Frau überhaupt hat Barbara Liskov 2008 den berühmten Turing Award erhalten. In dieser Episode besprechen wir ihr Lebenswerk. Bonus: Barbara Liskov war an den Sprachkonstrukten Exceptions, yield, multiple assignments und multiple returns beteiligt. **** Diese Episode wird gesponsert von https://www.workshops.de Ob öffentliche Schulungen, die du einfach buchen kannst oder maßgeschneiderte Schulungen für...

Details zur Podcast Episode #87 Die DORA-Metriken: Ist Software-Entwicklungs-Performance messbar? Team DevOps Tech Kultur Software Qualität

#87 Die DORA-Metriken: Ist Software-Entwicklungs-Performance messbar?

DORA Metriken: Die Performance-Messung deines Software Development Teams bzw. die Ermittlung des Reifegrades von DevOps in deiner Organisation Softwareentwicklung ist ein kreativer Beruf. Jedes Projekt ist einzigartig und die geschriebenen Lines of Code sagen wenig über die dafür benötigte Zeit aus. Das Research-Programm DevOps Research and Assessment (DORA) versucht dennoch die Performance eines Software-Entwicklungs-Teams zu messen. Nicht via Lines of Code, sondern auf Basis von Aktivitäten, die Value liefern: Deployment Frequency, Lead Time for Changes, Mean Time to Recovery, Change Failure Rate und Reliability. Die Metriken selbst sind weit bekannt. Wie diese Metriken beeinflusst werden können, wer eigentlich dahinter steckt, und was die Organisation eigentlich für eine Kultur vorleben muss, damit es überhaupt zu einem positiven Ergebnis kommt, wissen viele nicht. Und genau darüber...

Details zur Podcast Episode #65 Clean Code macht Software langsam Backend Frontend Software Engineering Software Qualität Produktivität

#65 Clean Code macht Software langsam

Zerstört die Anwendung von Clean Code die Performance deiner Applikation? Es war einmal Casey Muratori, ein Softwareentwickler mit Fokus auf Game-Engines, der sich ins Internet gestellt hat und sagte "Clean Code resultiert in schrecklicher Performance". Das YouTube-Video ging um die Welt, die YouTube-Kommentare wurden deaktiviert und Hackernews ging bis an die Decke. Auch der Kopf hinter "Clean Code", Uncle Bob, hat dies nicht auf sich sitzen lassen und ging in die Diskussion. Diese Episode handelt genau um das genannte Video. Wir besprechen, was die Key-Message des Videos ist, wer der Autor ist, was Clean Code ist und von wem es stammt und um was sich die Diskussion zwischen Casey Muratori und Uncle Bob dreht. Eine Art "Reaction-Podcast", sozusagen.  Bonus: Was der heilige Gral der Teamentwicklung ist. Das schnelle Feedback zur Episode: 👍 (top) 👎 (geht so)

Details zur Podcast Episode #58 Software-Updates, alte Software, Long Term Support und End of Life-Dates Software Engineering Open Source Software Qualität

#58 Software-Updates, alte Software, Long Term Support und End of Life-Dates

Alte Software akzeptieren oder lieber jedem Update hinterherjagen? Podcast als Video: https://youtu.be/94RZcJefzR8 Das ist die Balance, die jeder finden muss. Wann update ich Software? Wie lange kann ich alte Software betreiben? Ab wann ist alte Software ein wirkliches Risiko? Sollte ich bei jeder neuen Major-Version direkt updaten? Bringt es überhaupt etwas, eine alte Software auf etwas Neues zu migrieren, ohne neue Funktionalität zu bekommen? Welche Risiken verbergen sich hinter den Updates? Ist der klassische Spruch "Never touch a running system" noch aktuell oder sogar ein Fehler? All das und weitere Themenbereiche wie Long-Term-Support, End of Life-Dates, die Software-Metrik Dependency Drift, Dependabot und rostende Software besprechen wir in dieser Episode. Bonus: Warum früher alles besser war, sogar die Zukunft und warum Legacy immer das Geld verdient. Das schnelle Feedback zur...

Details zur Podcast Episode #31 Ich automatisiere mir die Welt wie sie mir gefällt (mit GitHub Actions) Backend DevOps Software Engineering Software Qualität

#31 Ich automatisiere mir die Welt wie sie mir gefällt (mit GitHub Actions)

Schuftest du noch oder automatisierst du schon? Heute gehts um die Faulheit von Entwicklern: Wir sprechen über GitHub Actions - Was es ist, wozu man es benutzen kann, wie es das eigene Leben erleichtern kann, wo der Unterschied zu Jenkins ist, wie das Engineering Kiosk es selbst einsetzt und welche Use-Cases von der Community oft genutzt werden. Bonus: Warum LinkedIn einen HTTP Status Code 999 sendet, wann wir Programmiersprachen wie Unterhosen wechseln und was Michael "Bully" Herbig mit der ganzen Sache zu tun hat.

Details zur Podcast Episode #16 Code Reviews: Nützlich oder bremsen nur ein gutes Team? Team Software Qualität Frontend Backend Software Engineering

#16 Code Reviews: Nützlich oder bremsen nur ein gutes Team?

Code Reviews: Jeder will schnelles Feedback, doch niemand hat Zeit dafür - Eine Hassliebe. Eine Komponente im Alltag jedes Software Engineers. Egal ob Junior, Senior oder Staff-Engineer. Jeder erstellt Code Reviews und kommentiert die Arbeit von den Kollegen. Doch wie sehen gute Code Reviews aus? Was gehört hinein, was bleibt besser draußen? Wie viel Reviewer machen Sinn? Wie geht man mit Nitpicking-Kommentaren und Gatekeepern um? Und allgemein: Zieht dieser zusätzliche Schritt nicht die Performance des Teams runter und ist sowieso Overhead? All das und noch viel mehr in dieser Episode zum Thema Code Reviews. Bonus: Was Faultiere und Markus Söder mit Code Reviews zu tun haben und warum Blubberwasser den Charakter verdirbt.

Details zur Podcast Episode #15  Source Code Kommentare, Git Commits Messages, Merge Commits und Branch-Visualisierungs-Kunst Team Software Qualität Software Engineering

#15 Source Code Kommentare, Git Commits Messages, Merge Commits und Branch-Visualisierungs-Kunst

Kommentare im Quellcode und Git Commit Messages - Liest die überhaupt wer? Ein Streit, der so alt ist wie die Software Entwicklung selbst: Code ist Selbsterklärend und braucht keine Kommentare. Oder doch? Und die Git Historie ist auch eigentlich sinnlos. Warum sollte da jemand zurück gehen und sich die Commit Messages durchlesen? Diese Fragen und Themen wie Semantic Versioning, Idiomatische Programmier-Patterns, Merge Commits, Story-Tellung und was Fynn Kliemanns Kunst mit der Git Branch-Visualisierung zu tun hat, klären Wolfgang und Andy in dieser Episode vom Engineering Kiosk. Bonus: Warum Andy einen neuen Podcast-Partner sucht und Wolfgang lieber seinen Code angreift, anstatt Ihn zu entwickeln.