Anforderungen müssen konkret formuliert werden

April 13th, 2010 | In Anforderungen, Kommunikation, Rollin, Ungefiltert (c)Andreas Rudolph

Heute ist mir mal wieder klargeworden, wie wichtig klar formulierte Anforderungen sind, um eine passende Software entwickeln zu können. Was war passiert?  Jemand hat versucht mich zu kontaktieren, und hat meine private Mailaddresse verwendet, die im Impressum einer meiner Websites aufgeführt ist. Da ich einige Tage im Urlaub war, hat dies dazu geführt, dass ich diese Mail erst heute beantworten konnte. Für solche Fälle hatte ich aber extra einen generischen Mailuser eingerichtet. Die Mails, die dort ankommen, können von meinen Urlaubsvertretern gelesen werden. Meine Site war jedoch missverständlich aufgebaut.

Formulierungshinweise für griffige Anforderungen

Software Requirements Specifications sind im IEEE Standard 830 erstmalig definiert worden. In dieser Norm kann man die Anforderungen nachlesen, die an Anforderungen, bzw Spezifikationen generell zu stellen sind (siehe z.B. in Wikipedia → Software Requirements Specification). Dort werden Requirements, bzw Anforderungen wie folgt definiert:

“Mit Requirements (deutsch: Anforderungen) ist sowohl die qualitative als auch die quantitative Definition eines benötigten Programms aus der Sicht des Auftraggebers gemeint. Im Idealfall umfasst eine solche Spezifikation ausführliche Beschreibung von Zweck, geplantem Einsatz in der Praxis sowie dem geforderten Funktionsumfang einer Software. Hierbei sollte fachlichen – „Was soll die Software können?“ – wie auch technischen Aspekten – „In welchem Umfang und unter welchen Bedingungen wird die Software eingesetzt werden?“ – Rechnung getragen werden.” – siehe Wikipedia

Generell ist es wichtig, dass man die Anforderungen eindeutig und nachprüfbar formuliert. Eine zu vage Formulierung erkennt man oft dran, dass man bereits Schwierigkeiten damit hat, Testfälle zu formulieren. Hier ein Beispiel für eine zu vage Formulierung und den passenden Testfall: “Der Geldautomat soll nach Eingabe von Karte und Daten unverzüglich Geld ausgeben” (Anforderung) “Der Kunde führt eine Gesundheitskarte ein, und tippt 4 Ziffern. Geld wird ausgeworfen.” (Testfall).

Die folgenden Beispiel zeigen sinnvollere Formulierungen:

  • Grundanforderungen an das Produkt formuliert man konkret wie “Bei clicken des Buttons “Hilfe” wird die Software ein Hilfefenster mit Informationen anzeigen”
  • Funktionale Anforderungen mit Schnittstelle als beispielsweise “Die Software stellt synchron die Eingabedaten für den Folgeprozess zur Verfügung.”
  • Funktionale Anforderungen mit Schnittstelle/Einschränkung als zum Beispiel “Die Software stellt synchron die Eingabedaten für den Folgeprozess zur Verfügung, nachdem der Nutzer “Ok” gedrückt hat”
  • Nichtfunktionale Anforderungen mit Schnittstelle/Einschränkung: “Die Software soll innerhalb von 10 Sekunden auf die Eingabe des Nutzers reagieren”
  • Nichtfunktionale Prozessanforderungen mit Einschränkung: “Der Administrator soll die fehlerfreie Datei innerhalb der nächsten Stunde transportieren”
  • Nichtfunktionale Prozessanforderungen: “Die Dokumentation soll zum Projektende in Deutsch und Englisch vorliegen”
  • Nichtfunktionale Prozessanforderungen mit Projektrandbedingungen: Das verantwortliche Scrum Team wird aus einem Produktowner, einem Scrum Owner, 7 Entwicklern, und einem Qualityexperten bestehen”
Bookmarks und Verlinkung:
  • RSS
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Technorati
  • BlinkList
  • email
  • LinkedIn
  • MisterWong
  • TwitThis
  • Webnews.de
  • Print
  • Reddit
  • StumbleUpon
  • Yahoo! Bookmarks
  • Yahoo! Buzz
  • Yigg

Tags: , | Comments Off

Comments are closed.