Eine Software „lebt“. Sie entwickelt sich weiter. Nicht nur während ihrer Entstehung, auch nach Implementierung beim Kunden kommen Updates und Neuerungen hinzu. Bevor jedoch überhaupt an eine neue Software beziehungsweise ihre Entwicklung gedacht werden kann, müssen die Anforderungen klar definiert werden. Und die können zahlreich sein. Umso wichtiger, hier nicht den Überblick zu verlieren.
Also: Liste machen. Aber einfach alles in Excel eintragen reicht nicht aus, oder?
Sören Schmock: Kann man machen. Allerdings sollte man wissen, dass so eine Liste enorm viele Punkte enthalten kann und schnell unübersichtlich wird. Selbst mit der automatischen Suchfunktion dauert es ewig, die richtige Anforderung zu finden. Und wenn es hakt, wenn die Software nicht richtig läuft, dann sollte man schon schnell wissen, an welcher Anforderungen es liegen könnte.
Was ist die Alternative?
Schmock: Ziemlich einfach: Ein sogenanntes Application Lifecycle Management Werkzeug, kurz ALM. Diese haben den Anspruch, die verschiedenen Aktivitäten des Softwareentwicklungsprozesses – vom Anforderungsmanagement über den Test bis hin zum Abweichungsmanagement – ineinander verzahnt zu unterstützen und vor allem ihre Qualität zu überprüfen.
Worauf kommt es dabei an?
Schmock: In komplexen Softwareentwicklungsprojekten sind vielerlei Aspekte, Dokumente und andere Artefakte unter Kontrolle zu behalten. Der Umfang kann explosionsartig ansteigen. Das ALM begleitet den Softwareentwicklungsprozess durch alle zugehörigen Phasen. Mit Beginn der ersten Ideen und Anforderungen, dem konkreten Software-Design, über die Entwicklung und die Softwaretests, bis hin zur Produktivsetzung und Wartung der Software. Besonders das Testmanagement wird durch ein solches Werkzeug unterstützt.
Das klingt nach einem aufwendigen Tool.
Schmock: Stimmt, ein ALM muss viel im Blick behalten. Eines sollte jedoch unter allen Umständen die Schlüsselfunktion sein: Rückverfolgbarkeit. Die Entwickler sollten in der Lage sein, schnell herauszufinden, an welcher Stelle, bei welcher Anforderung im Zyklus es hakt. „Rückverfolgbarkeit ist Key“, denn ohne sie lässt sich eine Abweichung nur sehr schwer einer Anforderung und dem dafür notwendigen Test zuordnen.
Will ich also eine gesunde Software haben, lohnt sich eine Investition in ein „gutes“ ALM.
Schmock: Ja und Nein. Investition in ein ALM auf jeden Fall. Doch es muss nicht unbedingt ein großes, teures ALM von großen Dienstleistern sein. Wir arbeiten mit mehreren Open Source Programmen und haben damit gute Erfahrungen gemacht. Eine gute Kombination aus günstigen Programmen leistet dann dieselbe Qualitätssicherung wie ein großes Alles-aus-einer-Hand-Werkzeug.
Und die Bedienung des Tools?
Schmock: Einfach. Die Open Source Programme sind weitestgehend intuitiv gestaltet. Wir bieten allerdings auch Schulungen an. So dass die Kunden, nachdem wir gemeinsam das passende ALM-Paket zusammengestellt haben, es auch selbst nutzen können. Und das sollten sie auch regelmäßig tun. Nur so bleibt die Transparenz erhalten und die Kontrollinstanzen, beispielsweise die Bankenaufsicht, erhalten zuverlässig und schnell einen Blick auf die Testfälle der Software.
Application-Management
Application-Management (AM), auch Anwendungsmanagement oder Application Lifecycle Management (ALM), ist eine Kombination aus der Entwicklung und Betreuung von Applikationen (Anwendungssoftware) über deren gesamten Lebenszyklus. Dies beinhaltet auch eine umfassende Anwenderbetreuung (Support) und die Weiterentwicklung der Software.
Open Source
Als Open Source (aus englisch „open source“, wörtlich: „offene Quelle“) wird Software bezeichnet, deren Quelltext öffentlich und von Dritten eingesehen, geändert und genutzt werden kann. Open-Source-Software kann meistens kostenlos genutzt werden.