Definition „Requirements Analysis“ Was ist eine Anforderungsanalyse?

Von Gedeon Rauch

Häufig sorgt Fehlkommunikation dafür, dass die Arbeit zwischen Developern und Stakeholdern nicht reibungslos verläuft. Eine Anforderungsanalyse hilft, Software von Anfang an richtig zu entwickeln und Zeit und Kosten zu sparen.

Im Lebenszyklus einer Software steht die Anforderungsanalyse an erster Stelle.
Im Lebenszyklus einer Software steht die Anforderungsanalyse an erster Stelle.
(Bild: Gerd Altmann / Pixabay)

Was eine Software letztlich kann, das ist eine Frage, die Programmiererinnen und Programmierer im Code klären. Doch was die Software können muss oder soll, das ist eine eigentlich viel entscheidendere Frage und viele Teams scheitern gerade dort an einer klaren Definition.

Die Anforderungsanalyse ist eine Schnittmenge von Projektmanagement und Softwareentwicklung und nimmt als solch einen entscheidenden Anteil bei der Entwicklung einer Software, einer App oder eines Systems ein. Ob bei der Zusammenarbeit mit den Beauftragenden im B2B-Segment oder um die Wünsche der B2B-Kundinnen und -Kunden besser bedienen zu können: eine Anforderungsanalyse stellt die Weichen in Richtung Erfolg.

Was genau ist eine Anforderungsanalyse?

Bei einer Anforderungsanalyse kommen unternehmerische Aspekte und Aspekte der Informatik zusammen, um eine Schnittstelle zwischen der Definition eines Projektes und der abschließenden Prüfung der Software darzustellen.

Bei der Arbeit mit externen Auftraggeberinnen und Auftraggebern ist dies besonders wichtig, da diese oftmals nur rudimentäres Verständnis von der Softwareentwicklung haben und das zuständige Development Team einen klaren Plan für die zu programmierende Software braucht. Genau dies stellt die Anforderungsanalyse dar:

  • Was soll die Software können?
    Was soll das Entwicklungsteam leisten?
    Welche Funktionen müssen integriert sein?
    Wie wird der Erfolg nachprüfbar?

Die Anforderungsanalyse im Software Development Life Cycle

Im Lebenszyklus einer Software steht die Anforderungsanalyse an erster Stelle, gefolgt von Design, Umsetzung, Test, Veröffentlichung und Wartung. Gerade diese kritische Stelle im Projekt verdeutlicht, dass gute Kommunikation hier essentiell ist, um Zeit und Budget für die bestmögliche Qualität des Endproduktes effizient einsetzen zu können.

Dennoch kommt der Anforderungsanalyse in der Praxis in vielen Unternehmen zu wenig Bedeutung zu, da Entwicklerinnen und Entwickler lieber „in medias res“ gehen, sprich sich in die Arbeit stürzen und direkt mit dem Design einsteigen. Je später aber auffällt, dass eine Software die Anforderungen der Kundschaft nicht erfüllen kann, desto kostspieliger und zeitaufwendiger wird der Revisionsprozess.

Vage Ideen und Vorstellungen eines auftraggebenden Unternehmens zu einer Anforderungsanalyse umzuformulieren, kann viel Frust vermeiden und sorgt sofort für eine klare Kommunikation aller Parteien. Sowohl Stakeholder als auch das Development-Team wissen genau, was das zu entwickelnde System können muss.

Um dies sicherzustellen, wird die Anforderungsanalyse eindeutig, klar und einfach formuliert. Gleichzeitig wird auf die Durchführbarkeit und die Überprüfbarkeit der Anforderungen gedacht, beide Punkte beziehen sich dabei sowohl auf die Technik als auch auf die Wirtschaftlichkeit. Es geht also auch darum, die Ansprüche der Beauftragenden mit dem zur Verfügung stehenden Budget und Zeitrahmen zu koordinieren.

Anforderungen beziehen sich dabei nicht nur auf die Software (bspw. „das Programm muss gängige Bildformate (.jpg, .png, .bmp) importieren können“), sondern auch auf die Developer (bspw. „monatlich liefern die Programmierenden Fortschrittsberichte, wöchentlich werden Videocalls mit den Stakeholdern koordiniert").

Eine interne Anforderungsanalyse erstellen

Anforderungsanalysen können (und sollten) aber auch von Softwareherstellern selbst erstellt werden, um die Entwicklung in der Frühphase besser koordinieren zu können. Welche Erwartungen soll die Software erfüllen und was muss das Produkt als Release Version liefern? Was ist der Ist-Zustand der Features uns in welchen Soll-Zustand können diese beim nächsten Update überführt werden? Je präziser die Anforderungsanalyse erfolgt, desto früher zeigen sich Problemstellen oder Engpässe in Budget und Terminplanung.

Bessere Kommunikation als Teil der Softwareentwicklung

Im Projektmanagement hat man längst verstanden, dass Kommunikation ein Schlüsselfaktor für das Gelingen oder Scheitern eines Projektes ist. Genau so verhält sich dies auch mit der Softwareentwicklung, denn ob alle Stakeholder zufrieden sind, hängt einfach davon ab, ob ihre Anforderungen entsprechend erfüllt wurden. Weil dies aber nicht in jedem Auftragsbriefing, Vertrag oder Gespräch klar kommuniziert wird, ist das Erstellen einer Anforderungsanalyse so extrem wichtig. Zusätzlich erhalten alle Parteien damit eine Rückversicherung, dass ihre Interessen berücksichtigt werden und wissen, worauf sie sich am Ende des Softwareprojektes berufen können.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Softwareentwicklung und DevOps

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Die Anforderungsanalyse aus Perspektive der Beauftragenden

Nicht nur IT-Fachleuten ist die Anforderungsanalyse so wichtig, auch auftraggebende Unternehmen profitieren von einer klaren Anforderungsanalyse und dem Festhalten in einem Lastenheft. Werden Aufträge ausgeschrieben, kann eine bereits bestehende Anforderungsanalyse dabei helfen, die Lösungsansätze verschiedener Entwicklungsteams miteinander zu vergleichen und so das richtige Team auszuwählen.

Fazit – der Grundstein für agile Entwicklung

Die klare Definition eines Projektes erspart verspätete Veränderungen und gibt bereits in der Frühphase einen Abriss über die gewünschte Funktionalität. Dies erleichtert nicht nur die Arbeit und Zusammenarbeit, sondern resultiert auch in einem besseren Softwareprodukt – noch ehe eine einzige Zeile Code geschrieben wurde.

Mit passender Software können zudem digitale Lasten- und Pflichtenhefte erfüllt werden, so dass die Arbeit an den einzelnen Anforderungen zwischen allen Stakeholdern noch besser koordiniert werden kann. Kurzgefasst zeigt eine Anforderungsanalyse, was gewünscht ist, ob dies realistisch ist, wie es durchgeführt ist und wie am Ende der Erfolg geprüft werden kann.

(ID:47916269)