Anforderungsanalyse

Eine Analyse und Dokumentation der Anforderungen an eine zu entwickelnde Software ist notwendig, um effektiv und effizient eine wertvolle Software entwickeln zu können.

Eine Anforderungsanalyse ist wesentlich für den Erfolg eines Softwareprojekts, und zwar unabhängig davon ob man einem agilen, iterativen oder linearen Vorgehensmodell folgt. Die wirtschaftliche Bedeutung, die Komplexität und der Zeitaufwand für eine Anforderungsanalyse wird gerne unterschätzt.

Personelle Engpässe und organisatorische Nachlässigkeiten in diesem Teil der Softwareentwicklung verursachen hohe vermeidbare Kosten durch sinnlose Arbeit bei der technischen Umsetzung der Software und führen sogar dazu, dass Zeit-, Termin- und Projektpläne über den Haufen geworfen werden müssen.

Unpräzise, falsch oder nicht dokumentierte Anforderungen bewirken, dass technische Teams an den Ideen des Auftraggebers vorbei eine Software mit Eigenschaften entwickeln, die gar nicht benötigt werden und damit für den Auftraggeber wertlos sind.

Eine fehlende schriftliche Spezifikation, spontane und möglicherweise nur mündlich formulierte Pläne und Anweisungen sowie eine geringe Erreichbarkeit von Verantwortlichen für die Software für Rückfragen führen dazu, dass Softwarearchitekten, Entwickler oder Programmierer schlichtweg nicht ernsthaft wissen und bestenfalls nur ahnen können, was für eine Software sie überhaupt entwickeln sollen.

Besonders in hierarchischen Organisationen, die immer noch weit verbreitet sind, besteht die Gefahr, dass dieses organisatorische Defizit unter den Teppich gekehrt wird und damit intransparent wird. Softwareentwicklung wird dadurch außerordentlich teuer und Softwareprojekte können daran sogar scheitern.

Um das zu vermeiden, stellt eine Analyse und Dokumentation der Anforderungen ein gemeinsames Verständnis zwischen Stakeholdern und technischen Teams über die Eigenschaften der zu entwickelnden Software her. In die Ermittlung und in die Verifikation von Anforderungen müssen Auftraggeber, Anwender, Koooperationspartner als auch technische Teams eingebunden werden, weil sie organisatorisches und technisches Wissen aus unterschiedlichen Perspektiven beitragen, das für die Planung und Realisierung unverzichtbar ist.

Das Ergebnis der Anforderungsanalyse muss immer dokumentiert, verifiziert und transparent gemacht werden, je nach Vorgehensweise in Form einer Spezifikation, eines Lasten- und/ oder Pflichtenhefts und/ oder oder in Form eines Product Backlogs.

Typischerweise werden funktionale und nicht-funktionale Anforderungen unterschieden. Funktionale Anforderungen beschreiben, was eine Software zu tun hat bzw. welche Verarbeitungshandlungen sie auszuführen hat. Nicht-funktionale Anforderungen beschreiben, wie gut eine Software die Leistung erbringen soll. Zu den nicht-funktionalen Anforderungen zählen beispielsweise Usability, Performance, Sicherheit, Wartbarkeit oder Stabilität.

Die aus einer Anforderungsanalyse gewonnene Spezifikation ist die entscheidende Grundlage nicht nur für die Softwareentwicklung, sondern auch für die Definition von Testfällen. Während die Spezifikation beschreibt, welche definierten Eigenschaften eine Software erfüllen muss, sind die Tests methodische Versuche, mit denen festgestellt werden soll, ob die entwickelten Eigenschaften einer Software den definierten Eigenschaften aus der Spezifikation entsprechen.

Weiterhin liefert eine Spezifikation das Ausgangsmaterial für eine zu erstellende Anwenderdokumentation und zu erstellendes Schulungsmaterial. Darüber hinaus erfüllt sie auch einen dokumentierenden Zweck für die Zukunft, in der die Software weiter entwickelt werden soll.

Projekte

Anforderungsanalyse habe ich in den folgenden Softwareprojekten als Dienstleistung erbracht.

Software zur Planung von Nachrichten-Sendungen und Beiträgen

Entwicklung einer Software für die TV-Redaktionen eines Medienkonzerns zur Planung und Koordination von Nachrichtensendungen einschließlich Disposition von Mitarbeitern, Ressourcen und Dienstleistern. | mehr

Händler-Schnittstelle für einen E-Commerce-Marktplatz

Entwicklung einer Software für den automatisierten Abgleich von Produkt- und Transaktionsdaten eines E-Commerce-Marktplatzes mit den Datenbeständen von Handelsunternehmen, die ihre Produkte über diesem Marktplatz verkaufen. | mehr

Online-Datenbanken zum Arbeits- und Sozialrecht

Entwicklung einer Web-Anwendung zur Erfassung, Pflege und Publikation von Gerichtsentscheidungen, Veranstaltungen und Referenzen zum Arbeits- und Sozialrecht. | mehr

Online-Magazin und Portal rund ums Backen

Entwicklung eines Portals und Online-Magazins mit Anregungen, Rezepten und Hilfestellungen rund ums Backen. Die Besucher können sich registrieren, ihre persönlichen Lieblingsrezepte eintragen und mit den anderen Besuchern teilen. | mehr

Online-Shop für Schmuck und Accessoires

Entwicklung eines Online-Shops für den Vertrieb von individualisierbarem Schmuck und Accessoires einschließlich Bestell- und Zahlungsabwicklung sowie einem E-Mail-Newsletter. | mehr

Anwaltsverzeichnis & Kundenportal

Entwicklung eines Anwalts- und Dienstleistungsverzeichnisses mit Informationen und Suchfunktionen für Rechtsuchende und einem geschützten personalisierten Kundenbereich für Anwälte. | mehr

Juristische Kostenrechner für Fachverlag

Die Web-Anwendung berechnet Anwaltskosten- und Gerichtskosten sowie das Prozesskostenrisiko von zivilrechtlichen Klagen und Mahnverfahren in Deutschland. | mehr

Dienstleisterverzeichnis und Mitgliederportal

Dienstleisterverzeichnis mit umfangreichen Such- und Filterfunktionen, geschützter Mitgliederberereich und ein Diskussionsforum für einen juristischen Verein. | mehr

Investor Relations Website einer deutschen Investmentbank

Anforderungsanalyse, Beratung und Softwarearchitektur für Entwicklung und Betrieb der Corporate Website einer deutschen Investmentbank. | mehr

Website mit beruflichen Zusatzqualifikationen

Anforderungsanalyse, Konzeption, Coaching und Softwarearchitektur für die Website eines Wirtschaftsforschungsinstituts mit beruflichen Zusatzqualifikationen. | mehr

Internet-Angebot eines anwaltlichen Informationsdienstes

Konzeption, Entwicklung und Betrieb der Corporate Website eines anwaltlichen Informationsdienstes mit Anbieterverzeichnis, Stellenbörse und E-Mail-Newsletter. | mehr

Rechtzeiger für iPhone, iPad und iPod touch

Entwicklung von Rechtzeiger, einer mobilen App für iOS und iPadOS. Sie berechnet die Kosten für Dienstleistungen von Rechtsanwälten und Gerichten in Deutschland. | mehr

Backend Software für mobile Apps

Konzeption, Entwicklung und Dokumentation einer Backend Software mit verschiedenen Diensten und einer Datenverwaltung für mobile Apps. | mehr

Corporate Website von Hardin Software

Anmerkungen und Erläuterungen zu Entwicklung, technischen Hintergründen und zum Betrieb der Corporate Website von Hardin Software. | mehr