top of page

Bottleneck Systemverifizierung


Jeder Testingenieur, Verifizierungsingenieur oder Tester kennt es: Zum Ende des Projekts liefert die Entwicklung einen vermeintlich finalen Stand eines Produkts ab, oft bereits mit einer Verzögerung und nun nimmt der Druck auf die Systemverifizierung zu, die abschließenden Tests für die Freigabe durchzuführen. Oft wird in dieser Phase die Frage aus der Entwicklung gestellt, was am Testen so lange dauert. Schließlich sei doch die Entwicklung bereits abgeschlossen und das Produkt bereit für den Markt.

In diesem Zusammenhang wird die Verifizierung häufig als Bottleneck der Entwicklung bezeichnet. In einer Serie von Blog Einträgen möchte ich auf immer wiederkehrende Gründe für diesen Eindruck eingehen und im Folgenden zunächst einen kurzen Überblick geben.

Die Systemverifizierung als Bottleneck zu bezeichnen stellt die Gegebenheiten innerhalb einer Produktentwicklung zu einfach dar. Natürlich befindet sich die Systemverifizierung als abschließender Nachweis für die Erfüllung der Anforderungen am Ende der Entwicklung in einer herausgestellten Position. Die lange Phase der Entwicklung ist abgeschlossen, das Produkt macht (hoffentlich) einen serienreifen Eindruck und es müssen jetzt "nur noch" die formalen Tests durchgeführt und bestanden werden. Doch häufig wird aus dem "nur noch" schnell eine weitere Entwicklungsschleife, werden Anpassungen an den Anforderungen und am Produkt notwendig. Es entsteht schnell der Eindruck, dass sich der Systemtest mit Händen und Füßen gegen eine Freigabe wehren würde. Wodurch entsteht dieser Eindruck?

So vielseitig die Facetten der Produktentwicklung sind, so vielfältig sind auch die Gründe für die Verzögerung während der Systemverifizierung.

Einige Gründe finden sich aber in fast allen Projekten wieder:

1) Späte Einbindung der Systemverifizierung

In fast allen Projekten wird die Systemverifizierung erst spät in die Entwicklung eingebunden. Dies kann zum einen seine Ursache in knappen Ressourcen haben, die in anderen Projekten benötigt werden oder dem Projektleiter ist nicht bewusst, dass die rechtzeitige Einbindung notwendig ist. Dabei ist eine Einbindung der Systemverifizierung bereits in die Phase der Anforderungsdefinition mehr als sinnvoll. Hierdurch kann bereits früh sichergestellt werden, dass die Anforderungen testbar sind, dass die Funktionen vollständig spezifiziert sind und normative Anforderungen berücksichtig werden.

2) Späte Änderungen am Produkt und den Anforderungen

Ein weiteres Problem für die Systemverifizierung sind späte Änderungen am Produkt und den damit verbundenen Anpassungen in den Anforderungsdokumenten. Änderungen in den Anforderungsdokumenten machen in den meisten Fällen eine Anpassung der Systemverifizierungsdokumente notwendig, wodurch die Systemverifizierung unter Zeitdruck gerät die eigenen Dokumente abzuschließen.

Insgesamt gilt die Erkenntnis, dass die Qualität der Tests im Wesentlichen von der Qualität der Anforderungsdokumente abhängt.

3) Fehlende Metriken in der Systemverifizierung

Oft werden Verzögerungen bei der Systemverifizierung, aber auch die Qualität des Entwicklungsstandes des Produktes falsch eingeschätzt. Dies ist in den meisten Fällen auf fehlende Metriken zurückzuführen. Durch die Auswahl von geeigneten Metriken wird es den projektbeteiligten Personen ermöglicht, rechtzeitig Abweichung von der Planung zu erkennen und darauf zu reagieren. Erst durch die Auswahl von geeigneten Metriken wird der Erfolg oder Misserfolg sowie der Fortschritt messbar. Diese liefern fundierte Daten für die Steuerung und Bewertung von Projekten.

4) Streichen von geplanten Testphasen

Aufgrund von Personalmangel, Zeitmangel oder fehlender Einplanung werden Testphasen wie eine explorative Testphase oder eine Probedurchführung der Testspezifikation gestrichen. Durch die Streichung wird das Projektrisiko auf die offizielle Testphase verschoben. Dadurch ist es unwahrscheinlich, dass die ursprünglich geplante Testdauer eingehalten werden kann. Das Risiko, dass Abweichungen mit einer hohen Kritikalität in der offiziellen Systemverifizierung gefunden werden steigt proportional zu den gestrichenen, entwicklungsbegleitenden Testphasen.

Folgen

Als Folge der aufgezeigten Aspekte kommt es häufig zu Aktionismus im Verlauf der Systemverifizierung:

  • weitere Ressourcen werden bereitgestellt (evtl. fehlen diese dadurch bereits in anderen Projekten),

  • weitere finanzielle Ressourcen werden zur Verfügung gestellt, die zuvor mühsam eingespart wurden

  • Anforderungen werden verändert

  • Funktionen werden gestrichen bzw. verschoben

Es wird deutlich, dass durch die Optimierung der oben genannten Aspekte innerhalb eines Projekts die Systemverifizierung effizienter und mit weniger Ressourcen arbeiten kann. Für die Entwicklung muss klar sein, dass die Systemverifizierung Teil der Entwicklung ist und die Qualität des Produkts sicherstellt. Aus diesem Grund ist es notwendig, dass die entsprechenden Ressourcen, Phasen und Voraussetzungen eingeplant und zur Verfügung gestellt werden.

In meinen zukünftigen Blogeinträgen werde ich auf die einzelnen Aspekte detaillierter eingehen.

#Systemverifizierung

bottom of page