Software-Management Qualität oder Kosten?

Bild 1: Dem Entwicklungsleiter liefert MIS eine Übersicht über den Grad der Normkonformität, die bei jeder Komponente im Projekt erreicht wurde

Der Erfolg eines Softwareprojekts ist von vielen Faktoren abhängig. Wie jedes »gefertigte Produkt« wird Software nach einem Terminplan hergestellt. Sie muss natürlich Funktions- und Qualitätsziele erfüllen, gleichzeitig aber die Kostenvorgaben einhalten. Wie lassen sich die oft divergierenden Ansprüche an Qualität und Kosten einfacher unter einen Hut bringen?

Als Reaktion auf die Forderungen der Embedded-Branche nach einer besser zusammengefassten Präsentation von Qualitäts- und Compliance-Daten hat Programming Research (PRQA) vor kurzem ein »Management Information System« (MIS) für die unterschiedlichsten organisatorischen Anforderungen bei der Erstellung von Software-Qualitätsberichten vorgestellt. Im Folgenden sollen die Fähigkeiten dieses Werkzeugs dargestellt werden, und zwar durch die Brille der wichtigsten Anwendergruppen einer solchen Lösung in einer Organisation.

Was ist die prinzipielle Arbeitsweise eines MIS? Ein solches Tool speichert einen umfassenden Satz von Analyseergebnissen für jedes Softwareprojekt, den »Snapshot«. Zu benutzerdefinierten Meilensteinen und Terminen kann man eine Sicherung dieses Datensatzes in eine zentrale Ablage vornehmen; bei Änderungen kann eine solche Sicherung sogar jede Nacht erfolgen. Das MIS stellt eine Verbindung mit dem Quellcode-Archiv (Versionskontrollsystem, VCS) her und gewährleistet damit, dass dieser wichtige und geschäftsrelevante Quellcode nicht unnötig gespeichert und repliziert wird. Die umfassenden, aus dem MIS abgeleiteten Dateninhalte stammen aus diesen gut strukturierten Daten.

Die Perspektive des Softwareentwicklers

Entwickler müssen Kodierungsstandards einhalten. Außerdem müssen sie Programmfehler vermeiden und bei Bedarf entfernen. Auch wenn sie den Großteil dieser Arbeit über eine Desktop- Integration mit statischen Analysewerkzeugen (»Visual Studio«, »Eclipse«, etc.) erledigen, bietet ihnen das MIS eine Sicht auf sämtliche Analyse-Ergebnissätze zusammen mit einem umfassenden Code-Kontext sowie den Quellcode- und Header-Dateien. Eine der größten Herausforderungen für den Entwickler ist Legacy-Code, der die Kodierungsstandards nicht erfüllt, und in dem ältere und neuere Regelverstöße vermischt sind.

Mit dem so genannten »Baselining«-Konzept kann man nach dem Prinzip des Teilens und Herrschens nur solche Regelverletzungen behandeln, die durch die neuesten Code-Veränderungen verursacht oder sichtbar gemacht wurden. Auch wenn diese Fähigkeit bereits in den Desktop-Werkzeugen von PRQA enthalten ist, ermöglicht das MIS ein sofortiges Baselining zwischen beliebigen vergangenen und aktuellen Code-Snapshots. Darüber hinaus lässt sich ein Snapshot – zum Beispiel einer vorherigen Produktversion – als Master-Baseline markieren und diese dann mit allen anderen Snapshots vergleichen. Entwickler können daher in kleinen und sorgfältigen Schritten ihre Software darauf trimmen, Kodierungsstandards umfassend einzuhalten.