Erfreulicherweise setzen inzwischen viele Teams statische Qualitätsanalysen wie Clone Detection, Architekturkonformitätsanalysen, Komplexitätsmessungen oder Richtlinienprüfungen ein. Leider leiten die meisten Teams daraus kaum wirksame Verbesserungsmaßnahmen ab, sodass die Analysen nichts oder wenig bringen.
Woran liegt das? Einerseits an den Einschränkungen verbreiteter Werkzeuge, andererseits an der unpassenden Integration der Analysen in den Entwicklungsprozess. Meistens an beidem. Im schlimmsten Fall führt das dazu, dass die Werkzeuge nicht helfen, sondern behindern und zu Spannungen im Team führen.
Meine Kollegen und ich haben in den letzten 10 Jahren Analysen in vielen verschiedenen Teams eingeführt und über Jahre begleitet. Dabei haben wir viele Anti-Patterns und Best Practices zum wirksamen Einsatz statischer Analysen kennen gelernt, sowohl in Open-Source-Projekten als auch in Firmen wie Munich Re, Siemens, BMW, Audi oder den Stadtwerken München.
Im Vortrag möchte ich die wichtigsten Lessons Learned weitergeben. Ich gehe unter anderem darauf ein, wie man Qualitätsanalysen wirksam in verteilten Teams, bei Legacy-Systemen mit gewachsener Code-Basis und auch bei der Entwicklung mit vielen Branches oder dezentralen Versionskontrollsystemen wie Git sinnvoll einsetzt. Ich stelle dar, wie man die eigenen Kollegen überzeugen kann, in welcher Reihenfolge man verschiedene Analysen sinnvoll neu einführen kann, wie sie gut mit manuellen Reviews zusammenspielen und wie man beim eigenen Management die richtige Erwartungshaltung in Sachen Qualitätsanalysen schaffen kann.