Giesecke & Devrient GmbH

Keine Chance dem Softwarefehler durch systematische Codeinspektionen

Eine Frage der Qualität: Je später man einen Fehler in einem Softwareprojekt entdeckt, desto teurer ist dessen Beseitigung. So lange eine Software noch spezifiziert wird, sind eventuelle Fehler relativ leicht und preiswert zu beheben, indem man die Spezifikation aktualisiert. In der Designphase wird es schon aufwändiger: Man müsste im Idealfall sowohl Spezifikation als auch Design ändern. Es folgt ein weiterer erheblicher Anstieg der Fehlerbeseitigungskosten, sobald die Software die verschiedenen Teststufen durchläuft. Ist die Software erst einmal in wesentlichen Teilen fertiggestellt oder gar bereits ausgeliefert, kann jede Änderung sehr kostenintensiv werden.

Mittels systematischer Durchsicht des Codes werden Fehler einfacher und schneller gefunden – die Kosten für Korrekturen sinken.

Situation in der Vergangenheit. Aufgabe des Fraunhofer IESE und Technologietransfer. Ergebnisse.

Bisher wurden Inspektionen unternehmensintern nach einem Prozess von eigenen Mitarbeitern durchgeführt. Doch auch externe Berater übernahmen die Inspektionen bzw. Reviews mit dem Er­gebnis einer doppelten Qualitätssicherung. Die Aufgabe des Fraunhofer IESE bestand darin, die Fehlerfindungsraten durch »Schärfen« der Reviewkriterien und des Reviewprozesses zu verbessern. Maßnahmen hierzu waren zum einen die Entwicklung der »geschärften« Kriterien, zum anderen die Schulung des verbesserten Prozesses.

Das Fraunhofer IESE analysierte den Inspektionsprozess der Giesecke & Devrient GmbH vor Ort durch Stakeholder-Identifizierung, Stakeholder-Befragung und durch die Erfassung der Anforderungen an die einzelnen Projektdokumente in punkto Qualität. Aufbauend auf den Analyseergebnissen wurden fokussierte Checklisten abgeleitet, die die »geschärften« Reviewkriterien enthalten. Durch dieses Vorgehen konnte unser Institut das Prüfinstrumentarium exakt auf die Qualitätsbedürfnisse des Unternehmens abstimmen.

Der verbesserte Reviewprozess und die fokussierten Checklisten wurden in Schulungen präsentiert und eingeführt. In diesen Veranstaltungen wurden reale Codedokumente des Kunden als Beispiel- und Arbeitsmaterialien verwendet.

Bereits in den Schulungen wurden durch fokussierte Checklisten mehr Fehler in den Codedokumenten gefunden als zuvor mit herkömmlicher Technik bzw. durch externe Berater. In einer Fortsetzung des Projektes soll der Anwendungsbereich für Inspektionen von Code auf Anforderungsdokumente erweitert werden.

Kundenstatement

»Durch den Einsatz der Methoden des Fraunhofer IESE wurde die Effizienz der Codereviews wesentlich verbessert. Die Mitarbeiter konnten durch die fokussierten Checklisten ihre Expertise bei den Reviews optimal einbringen. Zudem war durch dieses Vorgehen der Aufwand pro Mitarbeiter deutlich geringer. Diese beiden Punkte zusammen haben zu einer deutlichen Steigerung der Motivation der Mitarbeiter bei den Reviews geführt.«

Dieter Weiss, Director of Core Development, Giesecke & Devrient GmbH