Eine universelle Technik zur Verbesserung der Softwarequalität

Jeder möchte die Softwarequalität so weit wie möglich verbessern, vorausgesetzt, dass dadurch die Bereitstellung neuer Funktionen nicht verlangsamt wird.

Es ist einfach so, dass es eine einzige Technik gibt, die die Qualität der Softwareentwicklung dramatisch verbessern kann. In diesem Artikel erfahren Sie zwei wichtige Grundlagen:

  1. Die Kenntnis der Softwaregröße hilft, die Softwarequalität zu verbessern
  2. Der Prozess der Softwaredimensionierung trägt zur Verbesserung der Softwarequalität bei
  3. Diese Technik kann Ihnen helfen, 7-10% aller Fehler vor dem Codieren zu finden und zu beseitigen.

Beginnen wir mit einigen Grundlagen der Softwareentwicklung. Jede Software weist Mängel (Bugs) auf. Die Fehler können durch schlechte Codierung oder durch etwas anderes verursacht werden. Vielleicht haben wir die Anforderungen falsch verstanden, vielleicht haben wir die Anforderungen falsch verstanden, vielleicht haben wir einige wichtige Anforderungen übersehen.

Sehr oft sind Anforderungen die Hauptursache für Softwarefehler. Aber wir verbringen selten die Zeit damit, uns mit der Qualität der Anforderungen zu befassen. Warum? Es ist wichtig, aber selten dringend. Die Überprüfung und Verfeinerung von Anforderungen wird fast nie als kritische Aktivität in einem Projektplan angesehen. Ich habe gesehen, dass einige sehr schlechte Anforderungen verwendet wurden, „nur damit die Entwickler loslegen können“. Dies ist jedoch ein ineffizienter Prozess und führt zu erheblichen unnötigen Nacharbeiten und Verzögerungen.

Verbessern Sie die Softwarequalität, indem Sie die Größe kennen

Wenn Sie bereits mit der Softwaredimensionierung gearbeitet haben, wissen Sie auch, dass das Fehlerpotenzial (die wahrscheinliche Anzahl von Fehlern/Fehlern) in Anforderungen vorhersehbar ist. Dieses einzelne Wissen kann Ihnen dabei helfen, effizienter zu arbeiten. Es kann Sie darüber informieren, dass Sie vor dem Codieren genau den optimalen Aufwand in die Anforderungsqualität stecken und Anforderungsfehler beseitigen müssen, bevor mit dem Codieren begonnen wird.

Beispiel

Heutzutage verfügt ein typisches Auto über etwa 5 Millionen Codezeilen. Aus historischen Daten wissen wir, dass dies wahrscheinlich etwa 100.000 Funktionspunkten (ISO-Maß für die Softwaregröße) entspricht. Auch aus historischen Daten wissen wir, dass (durchschnittlich) ein Fehlerpotenzial von 0,7 – 1,0 Anforderungsfehlern pro Funktionspunkt besteht. Somit wird es 100.000 Anforderungsmängel gegeben haben. Wenn Sie die Anzahl der gefundenen und beseitigten Mängel verfolgen, können Sie ungefähr ermitteln, wie viele noch übrig sind. Wenn Sie außerdem Anforderungsüberprüfungen und -untersuchungen durchführen, um Anforderungsmängel frühzeitig zu finden und zu beheben, reduzieren Sie die Anzahl der Anforderungsmängel, die zu Beginn der Codierung vorgetragen werden.

Wenn Sie wissen, wie viele Mängel möglicherweise vorhanden sind, wissen Sie, wie viel Arbeit Sie zur Beseitigung dieser Mängel aufwenden müssen. Wenn Sie Ihre (Anforderungen) QS-Arbeit optimieren, die auf die Fehlerbeseitigung (nicht 100%, sondern) 95% abzielt, sind Sie auf dem richtigen Weg zu einer schlanken und effizienten Lieferung.

Wenn Sie beispielsweise ScopeMaster verwenden, um Ihre Anforderungen vor dem Codieren zu untersuchen und zu testen, könnten Sie wahrscheinlich etwa 50.000 dieser Fehler (50%) finden und vermeiden, dass sie die Entwickler erreichen.  Stellen Sie sich vor, wie viel effizienter Ihre Entwickler wären, wenn sie mit Anforderungen beginnen würden, die 50% weniger Fehler aufweisen?

Gültige Qualitätsmetriken durch Kenntnis der Softwaregröße

Hinweis: CFP = KOSMISCHE Funktionspunkte

Verbessern Sie die Softwarequalität durch funktionale Größenanpassung

Verbesserung der Qualität durch den Prozess der Dimensionierung

Der Prozess der formalen funktionalen Größenbestimmung ist ideal zur Klärung der funktionalen Absicht, d. h Unklarheiten. Gelegentlich werden unterschiedliche Begriffe verwendet, die eigentlich dasselbe bedeuten. Durch die Untersuchung der funktionalen Benutzer und Objekttypen, die von den Benutzern über eine Reihe von Anforderungen hinweg verarbeitet werden, können Sie dies leicht erkennen Inkonsistenzen. Wenn zwei Funktionen dieselbe Aktion für ein Objekt ausführen, liegt möglicherweise eine vor Duplikat Erfordernis. Wenn Sie ein Objekt haben, das vollständig von Ihrer Software verwaltet werden sollte, Ihren Anforderungen jedoch eine wichtige Datenpflegefunktion fehlt, haben Sie möglicherweise eine fehlende Anforderung.  Wenn eine Anforderung viele funktionale Schritte umfasst, der Code möglicherweise zu kompliziert ist oder eine Vereinfachung erforderlich ist, können wir dies in Betracht ziehen Komplexitätsdefekt.  Zusammengenommen stellen diese fünf Kategorien von Anforderungsfehlern etwa 40% aller potenziellen Fehler darDiese Mängel werden wahrscheinlich durch aufgedeckt Prozess der funktionellen Größenbestimmung. Die manuelle Dimensionierung von Anforderungen ist daher eine effiziente und lohnende Qualitätssicherungsmaßnahme. Die automatisierte Dimensionierung anhand von Anforderungen mit ScopeMaster ist noch effektiver und gründlicher. Diese Fehler werden schneller und gründlicher erkannt und gemeldet, als es Menschen manuell möglich wären.

Abschluss

Wir haben in diesem Artikel gezeigt, dass sowohl die Kenntnis der funktionalen Größe als auch des Prozesses der Größenbestimmung die Softwarequalität erheblich verbessern wird. Konkret können 7-10% aller Softwarefehler durch den (automatisierten) Prozess der Softwaredimensionierung entfernt werden. Anschließend können Kenntnisse über die Dimensionierung dabei helfen, die Qualitätssicherungsaktivitäten zu optimieren und die verbleibenden Fehler zu beseitigen.