Markus von der HeidenMarkus von der Heiden Der Zyklus über dem Entwicklungs-Zyklus

24.10.07 by Markus von der Heiden

Auf den Spuren des übergeordneten Zyklus

Software wird heutzutage in fast allen Unternehmen eingesetzt. Software wird ununterbrochen erweitert, geändert oder stillgelegt – getrieben durch neue Anforderungen des Business, erweiterten Funktionsumfang in Releases von Standardsoftware oder Fehlerbehebungen. Für die einzelnen Phasen, Methoden und Techniken einer Entwicklung haben sich über die Jahre Standards etabliert: Projektportfoliomanagementtechniken, Softwareentwicklungsmethoden und -techniken, Projektvorgehensmodelle, IT Service Management und Qualitätsvorgaben. Entwicklungs-Zyklus

Software ist mehr als Code

Um mit den Softwareanwendungen umgehen zu können, brauchen Anwender eine ‚Anleitung‘, eine Benutzerdokumentation. Entwickler brauchen eine technische Dokumentation, Bereichsleiter eine Prozessbeschreibung und der Betrieb oder Outsourcing-Partner Betriebshandbücher. Für jede Phase des Entwicklungszyklus einer Software-Komponente lassen sich zugehörige Dokumente vorgeben, die jeweils für bestimmte Benutzergruppen unerlässlich sind. Projektplan und die Projektdokumentation, die unmittelbar das ‚Entstehen‘ der Software oder einer Entwicklung gesteuert haben, liefern enorm wertvolle Informationen über die Software. Viele Softwarekomponenten sind abhängig von Systemumgebungen. Bestimmte Server- und allenfalls Client-Komponenten müssen zwingend mit der Software installiert sein. Das simple Werkzeug wird so zum Teil eines enorm komplexen Netzwerks von Objekten mit vielen – endlich vielen – Verbindungen zu anderen Objekten.

Software Lifecycle Management

Entwicklungs-Zyklus Letztendlich ist Software nur Mittel zum Zweck für ihre Benutzer und erfüllt über längere Zeit ihre Aufgabe, hilft dem Benutzer einen Service innerhalb eines Geschäftsprozesses zu leisten. In seinem Lebenszyklus durchläuft sie viele verschiedene Entwicklungszyklen (Abbildung 1) bis es durch ein völlig anderes Werkzeug abgelöst wird (siehe Abbildung 2). Software wird geboren, auf Grund von Anforderungen wird sie entworfen oder verglichen, für gut befunden, entwickelt, implementiert.
Genau so wird sie gewartet und verbessert, bis sie an einem bestimmten Punkt deaktiviert wird.
Verschiedene Hersteller ermöglichen die Aufzeichnung aller Umstände, die den Lebenszyklus einer Softwarekompontente als komplexes System bestimmen.

Das Software Lifecycle Management bietet hierfür Methoden und Vorgehen, für welche entsprechende Werkzeuge erhältlich sind. Hierzu gehören zum Beispiel fortschrittlich weiterentwickelte CMDB-Lösungen und Workflow Engines.

Der ganzheitliche Ansatz

Das Objekt Software verändert sich. Die Funktionalität wird erweitert, die Eingabe vereinfacht, die Aufgabe auf mehrere Rollen verteilt. Die alte Software muss migriert und die Änderungen aktiviert werden. Eine neue ‚Version‘ ist geboren. Sie kennzeichnet eine geänderte Variante der alten Software. Diese Version wiederum besitzt neue Anleitungen, neue Testfälle oder eine neue Konfiguration. Teile der alten Software-Komponente leben weiter, bestimmte Funktionen oder Module werden weiter verwendet. Entwicklungs-Zyklus
Verschiedene Blickwinkel auf die einzelnen Objekte zu verschiedenen Zeitpunkten werden erforderlich. Über die Zeit möchte man bestimmte Objekte und Assoziationen zur Software-Komponente, getrieben durch unterschiedliche Ansprüche und Aufträge wie die Views einer Datenbank betrachtet können.

Fazit

Nachhaltiges Entwicklungsmanagement verlangt mehrdimensionale Betrachtungen über Entwicklungszyklen hinweg; das Management des Zyklus über dem Entwicklungs-Zyklus. Eindimensionale, snapshot-artige Sichten wie sie viele Softwaretechniken anbieten, ermöglichen noch kein ganzheitliches Software Lifecycle Management. Die technischen Hilfsmittel um solche Umgebungen aufzubauen und alle Abhängigkeiten über den gesamten Zyklus abzubilden stehen heute zur Verfügung, werden aber noch zu selten genutzt. Dass Software sich laufend verändert, ist eine Tatsache. Deshalb sollte beim Aufbau der Systemumgebungen darauf geachtet werden, dass selbst komplexe Strukturen dank technischer Unterstützung jederzeit überschaubar bleiben und Anpassungen weiterhin kostengünstig vorgenommen werden können. Wie die Methoden und Hilfsmittel hierfür aussehen und welchen Nutzen ihr konsequenter Einsatz in der Praxis hat, ist Thema eines meiner nächsten Blogs.

Sphere: Related Content

4 Kommentare

Kommentar schreiben

XHTML: Sie können diese Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>