A CQSE presentation on software quality
Talks

We give talks about software quality at industrial conferences and internal workshops of our customers regularly. Depending on your requirements, we can give talks in English or German

Announcements
Be notified about our next talks

Subscribe to our newsletter and you'll be the first to know when a new talk has been scheduled.

Get a quick notification when we blog about software quality, speak on conferences or publish our CQSE Spotlight.
Once every 6 weeks, you'll get a nice summary of Teamscale's latest features.

By submitting your data you confirm that you agree to our privacy policy.

Invited Talks

We are happy to come visit you in your office for an internal conference or a workshop. Our list of topics includes quality analyses, quality control, but also test control or introducing peer reviews. You are also welcome to pick a topic of your choice.

Request Invited Talk
Past Talks

Since this post accompanies a talk in German, it is written in German, too.

Quality Gates, wie sie in vielen Software-Entwicklungsprozessen definiert sind, funktionieren in der Praxis meist nicht wie gewünscht, da sie zu schwergewichtig sind und ihr Feedback viel zu spät kommt.

In diesem Vortrag zeige ich auf, wie jüngere Entwicklungen im Bereich Code-Collaboration-Platforms (GitHub, Bitbucket, GitLab und Co.) es erlauben, eine viel schlankere und wirksamere Form von Quality Gates zu etablieren.

Weiterlesen...

-- Since this post accompanies a talk in German, it is written in German, too.

 

Machine Learning hat uns im privaten Bereich längst erreicht: Amazon schlägt mir Produkte vor, Netflix Filme. Oft treffen sie dabei sogar meinen Geschmack. Warum gibt es keine Software, die mir fundiert vorschlägt, was ich testen soll? Es gibt mehrere Ansätze in der Forschung, die das versprechen. Defect Prediction setzt beispielsweise Machine Learning auf historischen Fehlerdaten ein, um vorherzusagen, wo in meinem System mit hoher Wahrscheinlichkeit noch Fehler enthalten sein könnten. Inverse Defect Prediction identifiziert Bereiche, die vermutlich viel weniger Fehler enthalten, und eher ignoriert werden können. Aber wie gut funktioniert das wirklich in der Praxis?

 

Wir haben verschiedene dieser Ansätze selbst implementiert und eingesetzt. In diesem Vortrag stelle ich die Ergebnisse und Erfahrungen aus Forschung und Praxis vor --- sowohl die nützlichen als auch die Fehlschläge.

 

Weiterlesen...

-- Since this post accompanies a podcast in German, it is written in German, too.

 

In dieser Folge des "Genau mein Agil - Podcast" geht es Qualität und Qualitätssicherung im Agilen Umfeld. Hierzu spricht Philipp Diebold mit Sven Amann über das Verständnis von Qualität und Qualitätssicherung im Rahmen von Agiler (Software) Entwicklung. Wie wendet man gute Qualitätssicherung in einem solchen Umfeld an? Ist Qualitätssicherung in der Agilen Entwicklung schon automatisch integriert? Mit diesen und weiteren Fragen beschäftigen wir beide uns in der aktuellen Folge.

 

Weiterlesen...

-- Since this post accompanies a talk in German, it is written in German, too.

 

Jede*r von euch sollte ein Netzwerk haben und pflegen. Damit meine ich nicht, dass ihr auf Netzwerk Events Cocktails schlürfen oder die Zahl eurer „Freunde“ auf Facebook und eurer Follower auf Twitter, Insta & Co maximieren sollt. Das ist Quatsch in bringt euch nicht weiter. Euer Netzwerk besteht aus persönlichen, langfristigen Beziehungen.

Weiterlesen...

We want our tests to discover new bugs quickly. But with which likelihood do my tests actually discover new bugs in my code base? And which code is pseudo-tested in the sense that it gets executed by tests, but in which novel, severe bugs will most likely not be discovered?

In this talk, I present different approaches to answer this question. From code coverage, to mutation testing to novel approaches in between from new research (partly from our group). I demonstrate all approaches using the same real world project and depict the strengths and limitations of each.

 

Weiterlesen...

Wir streben alle nach möglichst hoher Qualität unseres Codes, wissen aber gleichzeitig dass eine gewisse Zahl an Qualitätsproblemen immer anwesend ist. Statt auf absolute Perfektion zu zielen, ist es oft viel sinnvoller zu schauen, ob man mit seinen Problemen im erwartbaren Bereich, oder deutlich darüber oder darunter liegt. Daraus lässt sich z.B. Handlungsbedarf ableiten und die Notwendigkeit zur Modernisierung argumentieren.

Weiterlesen...

-- Since this post accompanies a talk in German, it is written in German, too.

Auf dem Weg vom Prototyp zur Produktreife müssen wir unsere UX schrittweise verbessern, wenn wir dazulernen, welche Anforderungen an die UX unseren Nutzern besonders wichtig sind. In dieser Keynote möchte ich Erfahrungen aus unserem Weg zu besserer UX von Qualitätsanalysen sowie Erkenntnisse und die über den Haufen geworfenen Entwurfsentscheidungen vorstellen, aber auch unverhoffte neue Analysen und Einsatzszenarien, die sich dadurch ergeben haben.

 

Weiterlesen...

Die typischen Beispiele für technische Schulden sind uns allen bekannt. Trotzdem werden diese in den meisten Projekten nicht ausreichend adressiert, da es nicht gelungen ist, die Entscheidungsträger von ihrer Relevanz zu überzeugen.

Ich sammele seit 15 Jahren in Forschung und Praxis Erfahrungen, wie sich technische Schulden effektiv interpretieren und kommunizieren lassen. In diesem Vortrag stelle ich anhand von Kundenprojekten die Analysen, Visualisierungen und Kostenmodelle vor, die hierfür am besten funktionieren.

 

Weiterlesen...

Viele historisch gewachsene Systeme sammeln über die Jahre Code an, den niemand mehr braucht und der deshalb nutzlos ist. Ein Grund dafür ist beispielsweise, dass bereits implementierte Anforderungen obsolet werden und der Code, der diese Anforderungen implementiert, in der Codebasis verbleibt. Da meist unbekannt ist, welcher Code nutzlos ist, verursacht er oft Kosten ohne Wert zu stiften. In diesem Vortrag stellen wir drei statische und dynamische Analyseansätze vor, die wir in den letzten Jahren bei der Analyse von Kundensystemen und im Rahmen von Forschungsarbeiten entwickelt haben. Schließlich beschreiben wir konkrete Handlungsoptionen zum Umgang mit nutzlosem Code bei Migration und Wartung.

Weiterlesen...

Es gibt grundsätzlich zwei Arten, um Funktionalität wiederzuverwenden: Systematisch und Ad-Hoc. Systematische Wiederverwendung steht im Lehrbuch und umfasst die Erstellung von wiederverwendbaren Artefakten (Klassen, Komponenten, Services, usw.) die an einer Stelle im Code gepflegt, und von vielen Stellen genutzt werden. Ad-Hoc-Wiederverwendung steht nicht im Lehrbuch, kennt aber trotzdem jeder: Quelltext wird einfach überall dorthin kopiert, wo die Funktionalität benötigt wird.

In dieser Keynote möchte ich unterschiedliche Fälle von Ad-Hoc-Reuse aus verschiedenen Bereichen der Praxis vorstellen (u.a. eingebettete Software und betriebliche Informationssysteme). Ich werde jeweils auf die Ursachen eingehen und vorstellen wie die Organisation damit umgegangen ist: Von Fällen, in denen ad-hoc in systematische Wiederverwendung überführt wurde, bis zu Beispielen, in denen Ad-Hoc Wiederverwendung beibehalten, aber kontrolliert gewartet wird.

Weiterlesen...