Sonntag, 12. Februar 2012 |
Die aktuelle Forderung an die IT im Sinne von Business Technology, die Geschäftsziele besser zu unterstützen, verlangt vor allem im sehr umfangreichen Feld des Application Lifecycle Management (ALM) Anpassungen. Software soll zugleich wertschöpfend, kostengünstig, schnell einsetzbar und qualitativ hochwertig sein, aber auch der Entwicklungsprozess soll sich nachvollziehen lassen.
Das verlangt auf der einen Seite, dass die Tools gut integriert und leicht zu implementieren, warten und einzusetzen sind. Aber auch, dass der Entwicklungsprozess selbst andere Methoden verwendet – das Wasserfallmodell ist heute für die meisten Projekte viel zu träge. Unter den Schlagworten ALM 2.0 und agile Softwareentwicklung lassen sich diese beiden Aspekte zusammenfassen.
Business Technology hat einige ALM-Lösungsanbieter zu diesen Aspekten befragt und wird in den kommenden Wochen deren Antworten veröffentlichen.
Clauß-Peter Hahn: Application Lifecycle Management (ALM) ist mehr als eine technische Vorgehensweise in der Entwicklung. ALM ist vielmehr ein kultureller Wandel, der dazu beiträgt, dass die Anwendungsfunktionen mit den Geschäftsbedürfnissen abgestimmt werden und dass das Topmanagement einen Überblick über die komplette Anwendungslandschaft bekommt. ALM bedeutet zudem, einheitliche Managementprozesse zu schaffen, die sich aus einer Vielzahl von Methoden, Tools, Plattformen, Sprachen und Funktionsgebieten zusammenstellen. ASGs ALM-Lösung beinhaltet Standardmethodologie, Projektmanagement, Role und Workflow Management und natürlich die Überwachung von einzelnen Anwendungsänderungen. All diese Komponenten generieren Messkriterien und Statusinformationen, die in Dashboards angezeigt werden und so den Prozess extern sichtbar machen.
Zu einem zeitgemäßen ALM gehört für ASG auch die agile Methode zur Softwareentwicklung. Daher unterstützt unsere ALM-Lösung den agilen Ansatz unter der Betrachtung der Prinzipien, die im Manifest zur agilen Softwareentwicklung festgelegt worden sind. Im Einzelnen berücksichtigt die Methode:
Hahn: Agile Softwareentwicklung ist eine von mehreren Methoden, die von unserer ALM-Lösung unterstützt wird. Durch die Prüfung einer Reihe von agilen Verfahren und die Integration der Schlüsselpraktiken stellen wir eine der besten agilen Methoden in unserer Process-Management-Lösung „Visual Process“ bereit. Die agile Methodologie in Visual Process basiert auf Verfahren wie Scrum, Crystal, XP, Lean usw. – Anforderungsanalyse auf der Basis von User Stories, Entwicklung im Pair Programming, kurze Entwicklungszyklen, tägliche Builds usw.
Ich möchte die agile Methodologie in Visual Process als die bestmögliche Implementierung aller dieser Methoden definieren, entwickelt auf der Basis und im Einklang mit den besten Praktiken, die dort definiert sind. Dabei werden mögliche Fallstricke vermieden; es ist wirklich das Beste aus verschiedenen Methoden.
Nichtsdestotrotz gibt es Anwendungen, die aufgrund ihrer Geschichte eine agile Entwicklung nicht unterstützten und Unternehmen, die noch keine Transformation in Richtung eines agilen Unternehmens durchlaufen haben. Deshalb unterstützen wir auch andere Methodologien.
Hahn: Der Kunde legt sich auf keine Methode fest, sondern erhält out-of-the-box eine agile Methode, die sofort einsetzbar, aber auch flexibel anpassbar ist. ASG Application Lifecycle Management unterstützt die Einbindung von Tools über einen Event Coordinator, gekoppelt mit einer Workflow Engine auf Basis von BPEL.
Hahn: Die Vorteile von agilen Entwicklungsprozessen für ALM liegen in der Flexibilität, der einfachen und effizienten Kommunikation und der damit verbundenen Qualität. Eine agile Methode muss jedoch erfolgreich eingeführt und umgesetzt werden. Denn so wie mit ALM ist es auch mit agilen Entwicklungsprozessen – agil ist eigentlich ein echtes Charaktermerkmal von Unternehmen. Wenn das Unternehmen keine Anwendungen nutzen kann, die sich agil weiterentwickeln lassen, und wenn die Flexibilität nicht durch alle Ebenen des Unternehmens getragen wird, stößt der Ansatz schnell an seine Grenzen. Übrigens ist das ein generell kritisches Thema im Hinblick zum Wechsel zu serviceorientierten Architekturen.
Zudem muss allen Beteiligten klar sein, dass agile Softwareentwicklung keine Wunder vollbringen kann. Vor jedem Projektstart sollten Überlegungen angestellt werden, wie solch eine Methode durch Verfahren und Tools hinreichend gut unterstützt werden kann.
Hahn: Ja, wir entwickeln selbst agil. Vom CEO bis zum Praktikanten unterstützen wir agile Entwicklungsprozesse und treiben diese voran. Die Entwicklung unserer Produkte erfolgt in kleinen Teams, die sich schnell auf die Anforderungen des Markts ausrichten können. Diese Flexibilität in Verbindung mit einem Projektmanagementansatz wird im Kern durch die agile Entwicklungsmethode beschrieben. Unterstützt wird dieser Ansatz durch unsere ALM-Lösung, die alle Aktivitäten im Entwicklungsprozess auf Basis der agilen Methode überwacht und steuert. Die Überwachung und Steuerung wird unterstützt durch die Anbindung von z.B. MS Project, Dashboards, vorgefertigten Auswertungen und Cubes auf Basis von Softwaremetriken.