Inhalt

Trends in der IT

Collaborative Application Lifecycle Management

Collaborative Application Lifecycle Management (CALM) ist die nächste Evolu­
tionsstufe des Applicaton Lifecycle Managements (ALM). Lag bisher der Fokus
auf umfassenden, formalen und schwerfälligen Prozessen, um Vollständigkeit zu
erreichen, orientiert sich CALM am Agilen Manifest. Kommunikation zwischen
den Beteiligten geht über flexible Prozesse, Dokumentation entsteht direkt aus
dem Entwicklungsprozess.
Im Folgenden wird der CALM-Ansatz, seine Vor- und Nachteile sowie eine
entsprechende Softwarelösung von IBM vorgestellt.

 

Einleitung

Wird ein Fehler beim Testen einer Software mittels eines Testsystems identifiziert, wird
dieser in einem Bug Tracking System eingetragen. Der für die Fehlerbehebung zuständige
Entwickler erhält die Nachricht über diverse Wege, wie z. B. E-Mail oder Telefon. Nachdem
er die wesentlichen Informationen aus dem Bug Tracking System gefiltert hat, versucht er,
den Fehler in seiner Entwicklungsumgebung nachzuvollziehen und zu korrigieren. In einem
weiteren System führt er anschließend einen Integrationstest durch, um den geänderten
Code mit den anderen Komponenten im Zusammenspiel zu testen.
Bei Betrachtung dieses Szenarios erkennt man schnell, dass für die Behebung eines kleinen Feh-
lers in der Softwareentwicklung schnell zwischen einer großen Anzahl an Tools und Werkzeugen ge-
wechselt werden muss. Dies kostet nicht nur Zeit und erhöht die Komplexität, sondern führt auch zu
einer Reduzierung der Qualität. Erweitert man dieses Szenario um den Aspekt, dass Anwendungsent-
wicklung heutzutage in Teams betrieben wird, die geografisch über mehrere Standorte verteilt sind,
droht der gesamte Softwareentwicklungsprozess schnell chaotisch und ineffizient zu werden.
Eine mögliche Lösung bietet das Collaborative Application Lifecycle Management
(CALM), das die zunehmenden Herausforderungen des Softwareentwicklungsprozesses
beherrschbar machen und einen Orientierungsrahmen für die am Projekt beteiligten Per-
sonen zur Verfügung stellen soll.

 

Collaborative Application Lifecycle Management

Grundansatz des Application Lifecycle Management (ALM) ist es, eine heterogene Lösung
mit verschiedenen Tools für die einzelnen Entwicklungsphasen (Insellösungen) in eine ein-
heitliche, integrierte und homogene Gesamtlösung zu transformieren. „Application Life-
cycle Management ist eine umfassende Bezeichnung für das Erstellen und Managen einer
Softwareapplikation über deren gesamten Lebenszyklus, vom Design bis zu deren Stillle-
gung.“ (Morley & Parker, 2010)
Collaborative Application Lifecycle Management erweitert den ALM Ansatz um Ansich-
ten des Agilen Manifests (Kent, et al., 2001) und Collaborative Tools. Anstatt schwerfälliger
Prozesse wird auf flexible Kommunikation zwischen den Beteiligten gesetzt. Künstlich zu
erzeugende Dokumentation wird durch Artefakte ersetzt, welche ohnehin bei der Entwick-
lung anfallen, wie Code und Testfälle. Aus diesen Artefakten und deren Beziehungen las-
sen sich Reports generieren. Immer wiederkehrende Arbeitsschritte werden automatisiert.
Ergebnis ist ein Kollaborationsprozess, der die Koordination von Prozessen, Informationen,
Personen und Werkzeugen kombiniert, die notwendige Projekttransparenz ermöglicht und
zur zentralen Komponente des Application Lifecycle Managements wird.„Kollaboration
zwischen Teammitgliedern ist der kritische Faktor für das erfolgreiche Mitwirken jedes Ein-
zelnen. Häufig geschieht es, dass ein Teammitglied zum Anfertigen der eigenen Arbeit die
Arbeitsergebnisse eines anderen Teammitglieds benötigt. Durch Kollaboration erhalten die
Teammitglieder einen besseren Einblick und erhalten ein verbessertes Verständnis um das
Gesamtwerk um ihre eigene Arbeit zu beenden. Das gesamte Team bleibt auf den aktuells-
ten Stand. [...]“ (Göthe, et al., 2008)

 

Stärken und Schwächen

Durch die Verzahnung der einzelnen Prozessschritte und der Integration der hierzu eingesetzten
Werkzeuge während der verschiedenen Lifecyclephasen entsteht ein integrierter Entwicklungs-
prozess, der allen Prozessbeteiligten die Arbeit erleichtert. Dies gelingt durch die Erweiterung des
Ansatzes des Application Lifecycle Management um kollaborative Techniken und so die Möglich-
keit, übergreifende organisatorische Strukturen und Prozesse zu hinterlegen. Hierdurch wird u.a.
eine stärkere Einbindung der Stakeholder ermöglicht, wodurch deren Anforderungen besser ver-
standen und umgesetzt werden können und eine größere Transparenz entsteht.
Das Risiko, die Freiheit der Entwickler durch zusätzliche Aufgaben (Dokumentation der Er-
gebnisse, Einhaltung bestimmter Prozessschritte usw.) einzuschränken, kann als niedrig ange-
sehen werden, da bereits in herkömmlichen Entwicklungsprojekten diese Aufgaben nötig sind,
jedoch nicht organisatorisch bzw. mittels verschiedener Tools und Medien unterstützt werden
und es somit eher zu einer Entlastung des einzelnen Entwicklers kommt.
Es ist allerdings darauf zu achten, dass alle Beteiligten die neu bereitgestellten Möglich-
keiten nutzen und nicht weiterhin ihre bisher genutzten Wege und Methoden verwenden.
Dies ist organisatorisch durch geeignete Maßnahmen sicherzustellen, was z. B. durch Mo-
tivierung der Mitarbeiter für die neue Lösung gelingen kann.
Um in der Softwareentwicklung schneller auf die Bedürfnisse des Marktes reagieren zu
können (Time-to-Market) und den Anforderungen des Kunden gerecht zu werden, sind der
Aufwand während der Entwicklung sowie der daraus entstehende Output die maßgeblichen
Faktoren. Zusammengefasst gilt es, die Produktivität der Softwareentwicklung zu steigern.
Dies ist eine der größten Herausforderungen, denen sich CALM zu stellen hat.
Gegenüber bisherigen Application Lifecycle Management Methoden wurde CALM dahin
gehend erweitert, dass ein einfacher Nachrichtenaustausch zwischen den einzelnen Nutzern
ermöglicht wird. Weiterhin ist es möglich, über die offene Schnittstelle „Open Services for
Lifecycle Collaboration (OSLC)“ Softwarekomponenten verschiedener Hersteller bzw. Eigen-
entwicklungen zu integrieren und somit den Lifecycle an die eigenen Bedürfnisse anzupassen
und Informationsbrüche zwischen den eingesetzten Komponenten zu vermeiden.


Anwendungsszenarien

Durch ihre kollaborativen Mechanismen eignen sich Softwarelösungen für Collaborative Applica-
tion Lifecycle Management insbesondere dann, wenn es gilt, verteilte Entwicklungsmannschaf-
ten an einem Projekt gemeinsam arbeiten zu lassen. Heutzutage verlagern viele große Firmen die
eigentliche Entwicklung von Software in Niedriglohnländer. Da unter anderem die Anforderungen
und Abnahmetests vor Ort erfolgen, heißt es, diese Lücke durch eine geeignete Softwarelösung
zu schließen. Dabei ist es erforderlich, dass mittels der Softwarelösung die notwendigen Prozesse
der Softwareentwicklung abgebildet werden können, als auch die verschiedenen Werkzeuge, die
in den einzelnen Phasen der Entwicklung von Nöten sind, vorhanden sind. Weiterhin muss eine
reibungslose Kommunikation durch die Software gewährleistet sein.
Eine praktische Umsetzung von CALM ist die „Jazz Technology Platform” (IBM, 2012a),
die von IBM ins Leben gerufen wurde. Vision des Jazz-Projektes ist es, eine Orchestrierung
zwischen den einzelnen an der Anwendungsentwicklung beteiligten Personen zu erreichen.
Als Sinnbild diente der gleichnamige Musikstil: „Analog zu dem gleichnamigen Musikstil
ist Jazz eine Initiative, die Softwareentwicklung zu transformieren, indem sie sie kollabora-
tiver, produktiver und transparent gestaltet. Realisiert wird dies mittels der Integration von
Informationen und Aufgaben über die Phasen des Lebenszykluses.“ (IBM, 2012a)
Zentrale Komponente der Jazz Technology Platform ist der Jazz Team Server. Der Zugriff auf die
Technologieplattform erfolgt mit einem Jazz Eclipse Client, der eine erweiterte Eclipse-IDE darstellt.
Rational Team Concert (RTC) ist eine teamorientierte Softwarentwicklungsplattform, mit
welcher Arbeitspakete (Work Items) definiert und an die verantwortlichen Personen weiter-
geleitet werden können. Die Verwaltung der einzelnen Sourcen, die Definition des Software-
entwicklungsprozesses und die Verwaltung des abschließenden Build Prozesses fallen eben-
falls in den Aufgabenbereich von RTC. Zusammen mit dem Rational Team Concert Client
bündelt der Team Server Funktionen für das Bug-Tracking, Konfigurationsmanagement, Pro-
jektmanagement und Continuos Integration in einer Plattform und bietet so eine komfortab-
le Arbeitsumgebung.
Der Rational Requirements Composer (RRC), (IBM,2012b) stellt eine kollaborative Re-
quirements Engineering Platform zur Verfügung. Über diese Plattform können die verschie-
denen Stakeholder des Projekts mittels diverser Methoden Anforderungen aufnehmen,
verwalten, diskutieren und entwickeln. Das Testen und Optimieren der Software erfolgt
mit dem RQM. Weitere Komponenten für CALM, die innerhalb dieses Beitrags nicht tiefer gehend
behandelt werden, sind der Rational Asset Manager (RAM), Rational Build Forge und Rational In-
sight.
Verbunden über Open Services for Lifecycle Collaboration (OSLC) spezifizierte Schnitt-
stellen können zwischen den einzelnen Tools Informationen, Daten und Prozesse geteilt
werden, die eine Umsetzung des kollaborativen Lifecycle Managements ermöglichen. Auf-
gaben, wie die Aufnahme der ersten Anforderungen, die Entwicklung und Verwaltung
des Sourcecodes sowie das abschließende Testen und Optimieren lassen sich in nur einer
Eclipse-Umgebung umsetzen. „Dadurch wird die Interaktion zwischen Werkzeugen unter-
schiedlicher Disziplinen der Softwareentwicklung bzw. deren einzelner Artefakte möglich...
Mit Jazz lassen sich also die Herausforderungen des Softwareentwicklungsprozesses kom-
plett und in einer Technologieplattform abdecken.“ (ARS IT Infrastruktur, 2012)
Über die Nutzung der OSLC spezifischen Schnittstellen ist es möglich, anstelle der von
IBM zur Verfügung stehenden Lösungen, eigene Produkte bzw. Produkte von anderen Her-
stellern in den Lifecycle zu integrieren. „Zudem lassen sich auch nicht Jazz-basierte Werk-
zeuge in Jazz integrieren, sofern diese die entsprechenden OSLC Schnittstellen selbst im-
plementieren oder via OSLC Adapter angebunden werden.” (ARS IT Infrastruktur, 2012)

 

Fazit

Angesichts der Entwicklung, dass Produktlebenszyklen kürzer, Entwicklungen schneller und
Teams globaler agieren, müssen Unternehmen ihre eigenen Prozesse optimieren. Gleichzeitig
ermöglichen moderne Webtechnologien neue Möglichkeiten zur Kollaboration.
Ziel von CALM ist, den bisherigen ALM Ansatz mithilfe moderner Methoden zu verschlan-
ken und den Fokus stärker auf die Kommunikation zwischen den Beteiligten zu setzen. Es
werden dynamische Diskussions- und Review-Funktionen bereitgestellt, Chatprogramme für
spontanen Austausch und personalisierte Dashboards, um gezielt Aktivitäten von Interesse zu
verfolgen.
Anstatt Qualität über Einhaltung strikter Formalien und manuell ausgefüllter endlos
scheinender Dokumente zu erreichen, werden die beteiligten Systeme soweit integriert,
dass Informationen jederzeit verfügbar sind und Reports automatisch generiert werden. So
wird die benötigte Dokumentation zu einem Nebenprodukt der Lifecycle-Prozesse. Insge-
samt sollen der Overhead für die Beteiligten reduziert und die Prozesse beschleunigt und
flexibler werden.
Der zukünftige Erfolg von CALM wird von mehreren Faktoren abhängen. Aus technischer Sicht
muss vor allem die Integration der verschiedenen Tools weiter vorangetrieben werden. Die Hersteller
müssen sich auf einen gemeinsamen Standard für die Kommunikation verständigen und in ihren Pro-
dukten umsetzen. Nur dann wird es möglich sein, über Domänen hinweg Daten verfügbar zu machen
und Prozesse zu automatisieren. Eine weit größere Schwierigkeit stellen aber die organisatorischen,
kulturellen Änderungen für die Unternehmen da. Die Mitarbeiter müssen die neuen Prozesse an-
nehmen. Die durch die bessere Verfügbarkeit von Informationen erhöhte Transparenz lässt zum einen
eine bessere Kontrolle und Steuerung der Prozesse zu, verunsichert aber gleichzeitig die nun gläsernen
Mitarbeiter. Daher sollten bei einer Einführung von vornherein alle Parteien beteiligt werden.

 

Literaturverzeichnis

ARS IT Infrastruktur. (2012). Jazz und Rational Team Concert. Abgerufen am 24. April 2012 von http://www.ars.de/web/software/ibm_rational/jazz_rational_team_concert.html

Cardozo, E. S. (2002). The seven habits of effective iterative development. Abgerufen am 15. Mai 2012 von IBM: http://www.ibm.com/developerworks/rational/library/1742.html

Cook, C., & Churcher, N. (2003). An Extensible Framework for Collaborative. Abgerufen am 7. Juni 2012 von http://ir.canterbury.ac.nz/bitstream/10092/3002/1/12618915_12618915_Cook.pdf

Geisser, M., & Hildenbrand, T. (August 2005). Eine Methode zur kollaborativen Anforderungserhebung und entscheidungsunterstützenden Anforderungsanalyse. Abgerufen am 7. Juni 2012 von http://softwareforschung.de/fileadmin/_primium/downloads/publikationen/hildenbrandgeisser.pdf

Göthe, M., et al. (2008). Collaborative Application. IBM Redbooks.

IBM. (2012a). Jazz Foundation. Abgerufen am 29. Juli 2012 von https://jazz.net/products/jazz-foundation/

IBM. (2012b). Rational Requiremewnts. Abgerufen am 29. Juli 2012 von https://jazz.net/products/rational-requirements-composer/

Kent, B., et al. (2001). Manifesto for Agile Software Development. Abgerufen am 15. Mai 2012 von http://agilemanifesto.org/

Morley, D., & Parker, C. S. (2010). Understanding Computers: Today and Tomorrow, Comprehensive, 13. Auflage.

Rashid, A., Behm, A., Geisser, M., & Hildenbrand, T. (2006). Kollaborative Softwareentwicklung – Zum Kollaborationsbegriff. Abgerufen am 7. Juni 2012 von http://www.google.de/url?sa=t&rct=j&q=kollaborative%20softwareentwicklung&source=web&cd=1&ved=0CG8QFjAA&url=http%3A%2F%2Fdigbib.ubka.uni-karlsruhe.de%2Fvolltexte%2Fddocuments%2F1438&ei=khnOT73wKY_c4QTjjpWgDA&usg=AFQjCNEBVr7rjw1c5yR40yEFPByCerfFdQ&cad=rja

Rossberg, J. (2008). Pro Visual Studio Team System Application Lifecycle Management. New York: Apress.

 

 

Autoren

Tobias Braun
Tobias BraunMaster IT Management Fachhochschule Mainz, Fachbereich Wirtschaft, 55128 Mainz


 

Jörn Hartramf
Jörn HartramfMaster IT Management Fachhochschule Mainz, Fachbereich Wirtschaft, 55128 Mainz

 

Martin Trott
Martin TrottMaster IT Management Fachhochschule Mainz, Fachbereich Wirtschaft, 55128 Mainz