Reinventing Quality

ERROR: Content Element with uid "4935" and type "dce_dceuid16" has no rendering definition!

Zu Recht haben Publikationen über Software-Produktmetriken den Ruf sich nicht besonder spannend zu lesen. Für Software mit Sicherheitsanspruch ist die Erreichung gewisser solcher Maßzahlen zwar branchenüblich oder sogar erforderlich, aber ein Nutzen für das ganz gewöhnliche Durchschnittsprojekt erschließt sich nur wenigen Personen. Die Analyse von Code-Metriken hat zudem ein wenig das Image von Wahrsagerei. In meiner Präsentation möchte ich Metriken ein wenig demystfizieren und präsentiere praxiserprobte Schranken für Basismetriken aus der Raumfahrt und dem automotiven Umfeld. Branchen mit hohem Anspruch an die Software-Integrität. Gleich gefolgt wird diese Darstellung von einem Code-Beispiel, das zwar gute Metriken erzielt aber offensichtlich schlechter und falscher Code ist. D.h. ich relativiere die in diesen heiklen Branchen gängigen Schranken für Basis-Metriken.
Um bessere Aussagen über guten/schlechten Code zu erhalten, kombinieren moderne Werkzeuge eine große Anzahl von Basismetriken um auf diese Weise z.B. die Wartbarkeit oder Erweiterbarkeit von Code zu quantifizieren. Diese zusammengesetzten Metriken "irren" weniger leicht. Die angesprochenen Werkzeuge sind aber nicht gerade billig und werden typischerweise für Systeme mit hohen und sehr hohen Integritätsanforderungen eingesetzt. Im Vortrag möchte ich einen "neuen" Anwendungsfall fernab von High Integrity Systems präsentieren: Outsourcing der SW-Entwickung. Fokus des Anwendungsfalls ist die werkzeugunterstützte aufwandsminimierende Qualitätssicherung beim Einkauf von Software. Ich möchte zeigen, wie in der Raumfahrt gängige Praktiken auch in anderen Branchen dazu verwendet werden können um beim Outsourcing der Software-Entwicklung in Billiglohnländer mit höherer Wahrscheinlichkeit gute Qualität zu erhalten.
Die gleichen Analysewerkzeuge können auch gewinnbringend beim Insourcing von Software-Entwicklungsprojekten zum Einsatz kommen, also beim Aufsetzen einer Neuentwicklung auf von außen übernommenem Alt-Code. Komplementär zu Metriken-Werkzeugen sind Werkzeuge zur statischen Analyse von Code nützlich beim In- und Outsourcing von Software-Entwicklung. Bei der Übernahme von Alt-Code wird man aber typischerweise bei automatischer statischer Analyse von einer Unzahl an Meldungen "erschlagen".Hier möchte ich zeigen mit welchen Features Analyse-Werkzeuge im oberen Preissegment aufwarten um mit möglichst hoher Treffsicherheit die problematischsten Meldungen des Alt-Codes hervorzuheben oder Probleme des Alt-Codes auszublenden und nur Änderungen und neu hinzugefügten Code mit der geforderten Schärfe zu analysieren.
(M)eine Schlussfolgerung der Präsentation wird sein, dass Werkzeuge aus Hochintegritätsbranchen sich auch in vielen Low-Cost-Projekten rentieren können, ganz speziell beim Outsourcing und Insourcing. Mein Erfahrungsbericht und meine These stützt sich vor allem aus Erfahrungen als Entwickler in Software-Projekten der unbemannten Raumfahrt (Embedded C mit 2 bis 10 Mitarbeitern) und als Trainer/Berater von Embedded-Projekten in anderen Branchen.

Martin Heininger, HEICON

Dipl. Ing. (FH) Martin Heininger, Inhaber von HEICON, einem Beratungsunternehmen in Schwendi bei Ulm.
Tätigkeitsschwerpunkte sind Beratungsprojekte in Luftfahrt, Automatisierungstechnik, Bahntechnik und Automobilindustrie. In diesem Branchen müssen branchenspezifische Funktionalen Sicherheitsnormen RTCA DO178, ISO26262, EN50128, IEC61508 implementiert werden. Die Schwerpunktthemen sind Software- und Systementwicklungsprozesse, Zertifizierungsstrategien und Lieferantenmanagement.