Measure and Improve Quality
Please accept marketing-cookies to watch this video.

🇩🇪 Erwartungshaltung an Code-Qualität formulieren

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.

Please accept marketing-cookies to watch this video.

🇩🇪 Technische Schulden wirksam kommunizieren

Die typischen Beispiele für technische Schulden sind uns allen bekannt. Trotzdem werden diese in den meisten Projekten nicht ausreichend adressiert, da es nicht gelingt, die Entscheidungsträger von ihrer Relevanz zu überzeugen. Dieser Vortrag stellt anhand von Kundenprojekten die Analysen, Visualisierungen und Kostenmodelle vor, die hierfür am besten funktionieren.

Please accept marketing-cookies to watch this video.

🇩🇪 Nutzlosen Code identifizieren und loswerden

Viele historisch gewachsene Systeme sammeln über die Jahre Code an, den niemand mehr braucht und der deshalb nutzlos ist. Solcher Code stiftet keinen Wert, verursacht aber Kosten, in Form von höheren Wartungs- und Migrationsaufwänden. Es ist jedoch oft unbekannt, welcher Code nutzlos ist. Deshalb müssen wir ihn zuerst identifizieren, um anschließend unnütze Aufwände einzusparen.

Please accept marketing-cookies to watch this video.

🇩🇪 Umgang mit Ad-Hoc-Reuse in der Anwendungslandschaft

Systematische Wiederverwendung steht im Lehrbuch und umfasst die Erstellung von wiederverwendbaren Artefakten. Ad-Hoc-Wiederverwendung steht nicht im Lehrbuch, kennt aber trotzdem jeder: Quelltext wird einfach überall dorthin kopiert, wo die Funktionalität benötigt wird. Diese Art von Wiederverwendung ist aus guten Gründen verpönt, tritt aber immer wieder auf, oft aufgrund von Schwächen in der Organisation, die systematische Wiederverwendung verhindern oder erschweren. Dieser Vortrag diskutiert verschiedene Beispiele und Lösungsansätze.

Please accept marketing-cookies to watch this video.

🇩🇪 UX kontinuierlich verbessern

Auf dem Weg vom Prototyp zur Produktreife müssen wir unsere UX schrittweise verbessern. Das ist schmerzhaft, da für eine bessere UX teilweise fundamentale Änderungen notwendig sind. Dieser Vortrag stellt Erfahrungen aus unserem Weg zu besserer UX von Qualitätsanalysen vor, sowie neue Analysen und Einsatzszenarien, die sich dadurch unverhofft ergeben haben.

Software Testing
Please accept marketing-cookies to watch this video.

🇩🇪 Kann uns AI helfen, besser zu testen?

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. Aber wie gut funktioniert das in der Praxis? Wir haben verschiedene Ansätze selbst implementiert und eingesetzt. Dieser Vortrag stellt die Ergebnisse und Erfahrungen vor.

Please accept marketing-cookies to watch this video.

🇩🇪 Change-Driven Testing

Durch immer kürzere Release-Zyklen erfolgen Test und Entwicklung immer häufiger parallel. In der Praxis führt das sowohl zu Test-Lücken, wenn geänderter Code ungetestet ausgeliefert wird, als auch zu nutzlosen Tests von Bereichen, die sich nicht verändert haben und daher keine neuen Fehler enthalten können. Dieser Vortrag stellt Change-Driven Testing vor, ein Ansatz um Test und Entwicklung präziser aufeinander abzustimmen und diese Probleme zu vermeiden.

Please accept marketing-cookies to watch this video.

🇩🇪 Erfahrungsbericht: Acht Jahre Test-Gap-Analyse im Praxiseinsatz

Durch Tests möchten wir Fehler finden, bevor diese in Produktion gelangen. Leider gelingt das nicht immer. Studien zeigen, dass die meisten Feldfehler dort auftreten, wo viel geändert, aber wenig getestet wurde. Seit 2012 setzen wir deshalb mit unseren Kunden Test-Gap-Analyse ein, wodurch solche ungetesteten Änderungen bereits während der Entwicklung vollautomatisch identifiziert werden. Dieser Vortrag stellt zunächst kurz die Grundlagen der Test-Gap-Analyse vor und diskutiert anschließend verschiedene Anwendungsszenarien, die sich im Laufe der Zeit aus den Anforderungen unserer Kunden ergeben haben.

Please accept marketing-cookies to watch this video.

🇩🇪 Erfahrungsbericht: Zwei Jahre Transparenz für automatisierte und manuelle Tests bei TRUMPF

Nach positiven Erfahrungen mit der Test-Gap-Analyse im .NET-Umfeld sollte diese Analyse auch für ein bei TRUMPF entwickeltes, bereits Jahrzehnte existierendes CAD/CAM-System (Sprache C++, ca. 4,2 MLOC) eingesetzt werden. Als größte Herausforderung erwies sich dabei das Gewinnen der Coverageinformationen an sich. Als die Ergebnisse in Teamscale importiert werden konnten, konnte dies aufgrund der Jubelschreie allerdings leicht verschmerzt werden.