Anforderungsanalyse für das Re-Engineering von veralteten Bestandsanwendungen

Daniel Hofmann

Prozessunterstützende Software muss erneuert werden. Getrieben durch externe Markteinflüsse, prozessuale Veränderungen oder durch modernere Technologien werden Unternehmen immer wieder vor die Frage gestellt, wie Effizienz und Effektivität bei der Nutzung von Unternehmenssoftware sichergestellt werden kann. Hier stellen wir unser Vorgehen für die Analyse von Bestandsanwendungen und der damit verbundenen Anforderungsdokumentation vor.

 

Gerade in unseren langjährigen Kundenbeziehungen werden uns öfter Themen herangetragen, die sich um die Erneuerung von Unternehmenssoftware drehen. Viel zu oft empfinden Unternehmen diese Anwendungen als mühsame Pflicht. Dabei verstecken sich in einer starken Anwendungslandschaft enorme Potenziale.

Aus diesem Grund betrachten wir auch interne Anwendungen wie Produkte. Genau wie jedes auf dem freien Markt angebotene Softwareprodukt muss auch eine interne Unternehmensanwendung Kundenbedürfnisse zufriedenstellen oder sogar übertreffen. Die Kunden sind in diesem Fall interne Mitarbeiter. Auch wenn klassische IT-Entscheidungen eher die reine Prozessunterstützung als Erfolgsfaktor in den Mittelpunkt stellen, so ist es unserer Erfahrung nach noch viel mehr die Begeisterung der Mitarbeiter für die angebotene Lösung, welche Potenziale hebt. Daher ist es für uns eine wichtige Voraussetzung, den Nutzer der Lösung bei Analyse und Konzeption in den Mittelpunkt zu stellen.

Analyse aus 3 Perspektiven

Unsere Erfahrung aus über 10 Jahren Unternehmenssoftware hat uns gezeigt, dass es elementar wichtig ist, Systeme holistisch zu betrachten. Aus diesem Grund arbeiten wir in unserem Vorgehensmodell mit der Kombination der wichtigsten Perspektiven bei der Bearbeitung von digitalen Aufgaben.

icons_Perspektiven_perspective_business_de
Die Geschäftsperspektive beschäftigt sich in solchen Projekten zum größten Teil mit der funktionalen Analyse der Bestandsanwendung, der Kommunikation mit den Stakeholdern und mit der Ableitung des Projektplans.

icons_Perspektiven_perspective_user_de
Zur Erfassung der Nutzerperspektive werden Kontextinterviews mit den verschiedenen Nutzergruppen geführt. Zusätzlich können erste Screendesigns und ein Prototyp in Form eines Klickdummies erstellt werden, was es für den Kunden einfacher gestaltet, das Design und das Verhalten der neuen Applikation zu visualisieren.

icons_Perspektiven_perspective_tech_de
Die Technologieperspektive ist essentiell für die technische Analyse und damit einhergehend der Wahl der Entwicklungsumgebung und der Ableitung des Architekturmodells.

Ein solches Vorgehen erleichtert allen Beteiligten die Arbeit enorm. Für das Projektteam selbst wird sichergestellt, dass keine Fragen unbeantwortet bleiben und dass keine rein technische Entscheidung getroffen wird, sondern dass der Nutzer eine mindestens ebenso gewichtige Rolle in der Konzeption der Lösung einnimmt. Gleichzeit wird die Kommunikation mit den Stakeholdern beim Kunden vereinfacht, indem frühzeitig Visualisierungen und Prototypen vorgezeigt werden. Anhand von realen Beispielen ist die wirkliche Lösungsfindung viel einfacher, weil durch „kreatives Zerstören“ viel ehrlichere und sachdienlichere Diskussionen um das Produkt zustandekommen.

In klassischen Vorgehensmodellen werden die unterschiedlichen Projektperspektiven linear oder parallel bearbeitet und nicht in einem gemeinsamen Ansatz. So werden fachliche Anforderungen analysiert und in umfangreichen Requirement Dokumenten gesammelt. Gleichzeitige technische Analysen legen eine erste Architektur fest. Aufbauend darauf wird ein ein User Interface Konzept entwickelt. Die Beteiligten arbeiten dabei nicht Hand in Hand an einem gemeinsamen Ziel, sondern daran, möglichst vollständige und wenig angreifbare Dokumente und Konzepte zu entwickeln. Die Übergabe an die umsetzende Technik ist dann ein abschließender Projektschritt.

Die wirkliche Kombination dieser unterschiedlichen Perspektiven lässt wichtige Synergien entstehen. Der Produktentwicklungsprozess schließt alle Beteiligten mit ein und überträgt jeder Perspektive ein entscheidendes Gewicht. So können wirklich stimmige und umsetzbare Konzepte entwickelt werden.

 

Agile Dokumentenerstellung

Kunden in traditionellen Unternehmen sind die linearen Analyse- und Entwicklungsprozesse gewohnt. Speziell Einkaufsabteilungen stehen daher vor der Herausforderung, die beste Entscheidung für ihr Unternehmen zu treffen. Auf der einen Seite stehen moderne Vorgehensmodelle, sehr agil und wenig spezifisch in ihrem konkreten Ausgang. Auf der anderen der Wunsch nach konkreten Arbeitsergebnissen und einer einfachen Bewertungsmatrix, anhand derer Angebote unterschiedlicher Dienstleister vergleichbar gemacht werden können.

Für uns ist es daher wichtig, auf unsere Kunden und ihre Wünsche einzugehen. Gerade im Hinblick auf Dokumentation und Requirement Engineering ist das möglich. Die Erfassung und die Weiterentwicklung der unterschiedlichen Anforderungen erfolg iterativ. Um den Fortschritt und die Abstimmung mit den Stakeholdern zu ermöglichen, werden in regelmäßigen Abständen aus dem aktuellen Anforderungsstand Requirements-Dokumente generiert, um dem Wunsch nach entsprechender Dokumentation zu entsprechen. Wir haben uns dafür die Tools von Atlassian zur Hilfe genommen.

documentation_project_process_de

Mit diesen Werkzeugen ist es uns möglich, sowohl die Wünsche nach konsequenter Agilität aus Entwicklersicht, als auch die Anforderung nach Dokumentation und Nachvollziehbarkeit aus klassischer Projektsicht zu befriedigen.

Fazit

Die erfolgreiche Analyse von Bestandsanwendungen und die Überführung der Konzeption einer neuen Umsetzung kann dank unseres Vorgehensmodells innovativ umgesetzt werden. Durch die im Rahmen der Nutzerperspektive durchgeführten Kontextinterviews können die realen Anwendungsfälle der Nutzer identifiziert und so eine Software konzipiert werden, welche die Nutzeranforderungen wirklich erfüllt. Aufgrund von prozessualen Veränderungen im Laufe der Zeit seit Erstentwicklung, aber auch durch falsche Innensicht auf die Anwender kann die Altanwendung weit weg von den realen Anforderungen sein. Durch unseren holistischen Ansatz ist es uns möglich, diese Abweichung zu beheben und eine vollkommen auf den Nutzer abgestimmte Anwendung zu entwickeln, welche nicht nur die Nutzer zufrieden macht, sondern auch dahinterliegende Prozesse optimal unterstützt und so die Effizienz der Arbeit erhöht.