Freitag, 10. Februar 2012 |
Software soll zugleich wertschöpfend, kostengünstig, schnell einsetzbar und qualitativ hochwertig sein, aber auch der Entwicklungsprozess soll sich nachvollziehen lassen. Das sind die Herausforderungen vor denen Application Lifecycle Management (ALM) und agile Entwicklung als Lösungsangebote stehen.
Business Technology hat einige ALM-Lösungsanbieter zu diesen Aspekten befragt und wird in den kommenden Wochen deren Antworten veröffentlichen.
Heute: Udo Apel, Technical Director DACH, Borland GmbH
Unsere ALM-Lösungen unterstützen Unternehmen aller Größenordnungen und Branchen dabei, die Erstellung und Auslieferung von Software durch einen prozessorientierten Lifecycle effektiv zu steuern und zu bewerten. Wir konzentrieren uns dabei auf die Kernbereiche IT-Projekt- und Portfolio-Management, Requirements Definition und Management, Lifecycle Quality Management und Change Management. Unsere Produkte für diese Bereiche sind untereinander integrierbar und plattformunabhängig.
Borlands Open-ALM-Ansatz zeichnet sich z.B. auch durch die Unterstützung und Vereinigung klassischer und agiler Entwicklungsmethoden aus. Wir liefern ebenso Schnittstellen und Konnektoren für andere ALM-Tools aus. Dies ist wichtig, um einen prozess- und kennzahlengesteuerten Software-Lifecycle in zumeist heterogenen IT Landschaften zu gewährleisten. Bemerkenswert ist, dass Borland den ALM-Ansatz seit Jahren mit vorantreibt und mit ALM 2.0 insbesondere das Thema "Single Asset Multiple Environment" adressiert. Dies bedeutet, dass Anwender entsprechend ihrer Rolle direkten Schreib-/Lesezugriff auf die Artefakte und Daten erhalten, die in den ALM-Repositories gespeichert sind. Wir sind so in der Lage, unterschiedlichste Datenquellen von zum Teil unterschiedlichen Anbietern miteinander in Einklang zu bringen. Eine IT-Organisation erhält dadurch Transparenz und Kontrolle über die Softwareerstellung, Auslieferung und Wartung. Die vom Tool unterstützten Prozesse versetzen Unternehmen in die Lage, Ihre Kernprozesse innerhalb der Softwareentwicklung aus qualitativen, technischen, fachlichen und geschäftlichen Gesichtspunkten zu bewerten und zu steuern. Dies schließt umfassende Risikoanalysen mit ein. Wir haben hierfür eine Lösung entwickelt, die diese komplexen Anforderungen aus einem Guss erfüllt, die Borland Management Solutions.
Agile Methoden und ALM passen hervorragend zusammen. Der Open-ALM-Ansatz an sich ist sehr agil. Zu berücksichtigen ist, dass auch klassische Methoden von ALM unterstützt werden. Das verlangen unsere Kunden, die z.B. VModell97 oder RUP einsetzen. Hier muss genau abgewägt werden, ob es sich lohnt, eine agile Anreicherung durch bestimmte Entwicklungsmethoden, z. B. durch Scrum, vorzunehmen. Wie bereits angedeutet, gehen wir den Weg, klassische Methoden mit agilen – wo es möglich ist – anzureichern oder sogar miteinander zu vereinen. Das Wasserfallmodell ist ja nicht aus sich heraus zäh oder träge. Es ist für uns im Projektalltag interessant zu beobachten, dass bereits Anteile innerhalb traditioneller Vorgehensmodelle mit agilen Teams und Methoden umgesetzt werden. Der Scrum-Ansatz erscheint uns am stärksten vertreten zu sein. Wir sehen also, dass sich klassische und agile Methoden gegenseitig nicht ausschließen müssen. Wir selbst arbeiten innerhalb unserer eigenen Softwareentwicklung übrigens bereits über 60 % agil. Hier kommt ebenfalls Scrum zum Einsatz. Wir forcieren diesen Anteil stetig. Unsere Erfahrung ist, dass agile Projekte diszipliniert ablaufen und die Qualität und Ergebnisse sicherer vorhersagbar sind. Das spart Zeit, Ärger und Geld.
Unsere Lösungen setzen auf agilen Methoden und Prozessen auf. Hervorzuheben in diesem Kontext sind besonders die Produkte Borland Management Solutions (BMS) oder auch SilkCentral TestManager. BMS z.B. ist eine team- und projektübergreifende Lösung für das Projekt und Portfolio Management, die IT-Organisationen dabei unterstützt, alle Prozesse von der Idee bis zur Auslieferung einer Software transparent abzubilden und über Kennzahlen zu bewerten. Hier haben wir auch ganz bewusst Schnittstellen für Systeme anderer Hersteller entwickelt, um beispielsweise Kennzahlen oder Projektinformationen auszutauschen. Unter anderem für HP Quality Center, MS Project oder Telelogic Doors. Über SilkCentral TestManager bieten wir zusätzlich ein in ALM-Prozesse integriertes, agiles Testmanagement. Im Vergleich zu vielen Wettbewerbern haben wir diese Produktreihen komplett neu entwickelt und von Anfang an agile Methoden berücksichtigt. Wir sprechen also über eine neue Generation von ALM-Lösungen, die auch das Thema Agile Prozesse berücksichtigt. Es geht uns um einen holistischen Ansatz, der es ermöglicht, anhand von Analysen, Dashboards und Data-Warehouse-Reports diejenige Transparenz zu erzeugen, die oftmals ausgerechnet für die IT und Softwareentwicklung nur ungenügend zur Verfügung steht. Die Nachvollziehbarkeit von Prozessen (Traceability) darf sich unserem Erachten nach nicht nur im Anforderungsmanagement-Tool widerspiegeln. Vielmehr muss der gesamte Prozess der Wertschöpfungskette "Software" dynamisch nachvollziehbar sein. Ohne Risikoanalysen durchzuführen oder Prozesskennzahlen zu durchleuchten, wird man nicht in der Lage sein, Projekte erfolgreicher und sicherer zu gestalten. Unsere Lösungen sind so gebaut, dass sie von der ersten fachlichen oder technischen Projektidee bis hin zur Auslieferung und Wartung jeden Schritt innerhalb dieses Prozesses transparent machen können. Dabei spielt es keine Rolle, ob agile oder klassische Methoden angewendet werden. Beide Seiten werden in den hier angesprochenen Borland-Lösungen voll unterstützt.
Agile Methoden zeichnen sich dadurch aus, dass sie undogmatisch, kontrolliert und diszipliniert sind. Eine Festlegung würde den Ansatz meines Erachtens ad absurdum führen. Wir beobachten in den Projekten, dass es viele Unternehmen gibt, die agile Methoden erfolgreich einsetzen. Es ist bemerkenswert, festzustellen, dass diese Unternehmen zu den erfolgreichsten am Markt gehören. Daraus leite ich ab, dass eine intelligente und agile IT Organisation eine wichtige Grundlage für ein erfolgreiches Geschäftsmodell bildet. Wir sehen hin und wieder Skepsis bei IT-Verantwortlichen, wenn das Stichwort "Agile" fällt. Dies beruht häufig auf einem Missverständnis, dass beispielsweise Scrum oder XP chaotisch wären oder dass sich klassische und agile Methoden nicht miteinander vertragen würden. Letztendlich muss der Kunde dann besser informiert werden. Am besten, indem man ihm Beispiele aufzeigt, wie agile Methoden gerade die so genannte klassische IT bereichern können. Jedoch ohne die erfolgreichen Strukturen oder Modelle zu gefährden. Die Verantwortlichen müssen kompetent abwägen, wo es sich lohnt, agile Methoden einzuführen und wo nicht.
Ja. Unsere gesamte ALM-Strategie ist daran ausgerichtet, auch Tools von anderen Herstellern einzubinden. Wir treffen in sehr vielen Unternehmen auf heterogene Tool-Landschaften, die sich aus unterschiedlichen Datenquellen speisen. Das ist die Realität. Genau aus diesem Grunde haben wir für jede unserer Lösungen offene, vollständig dokumentierte Schnittstellen und "Out-Of-The-Box-Konnektoren" für die Einbindung anderer etablierter Hersteller. Die Einbindung erfolgt durch unser Open ALM Framework. Unser Name „Borland – The Open ALM Company! wurde aus gutem Grund gewählt.
Die Vorteile überwiegen meines Erachtens bei den Punkten Geschwindigkeit und Qualität. Durch die Einführung agiler Prozesse in den Application Lifecycle wird der Time-to-Market unterstrichen. Es geht um selbstverantwortliche, disziplinierte Teams, die besser mit dynamischen Anforderungen umgehen können. Entscheidungswege werden beschleunigt und Iterationen vorgeschlagener Lösungen können ohne Umwege verifiziert oder falsifiziert werden. Qualitätsanforderungen können ebenfalls schneller überprüft und verbessert werden. Solange die agilen Teams in sich geschlossen bleiben, kann man erfahrungsgemäß von sehr guten Effekten sprechen. Auch sind die positiven Effekte z.B. in Scrum-Projekten zum Teil atemberaubend, was Output und Qualität betrifft. Darüber hinaus sehen wir bei allen agilen Teams einen sehr hohen Motivationsanstieg, was die Auslieferung hochqualitativer Software betrifft. Unabhängig davon, ob es sich um eine kleine Webanwendung handelt oder um ein komplexes Softwaresystem, das erstellt werden muss (dann mit mehreren gekoppelten Scrum-Teams).
Ich sehe im operativen Bereich wenig Beschränkungen oder Grenzen, was den Einsatz agiler Projektmethoden betrifft. Ich spreche hier von unseren eigenen Erfahrungen, da wir unsere Softwareentwicklung zum Großteil bereits auf agile Methoden umgestellt haben. Wir haben dabei gelernt, dass es eher eine organisatorische Frage ist, wie man auch sehr große Projekte mit agilen Methoden durchführt (Orchestrierung). Ich gehe aber davon aus, dass sich in den meisten Unternehmen langfristig eine Mischform aus klassischen und agilen Methoden entwickeln wird.
Grenzen sehe ich hauptsächlich im vertragsrechtlichen Bereich, z.B. wenn es um Ausschreibungen geht, die statische Wasserfallmodelle vorschreiben mit der entsprechenden Dokumentationspflicht. Auch bei einer dezentralen Softwareentwicklung muss genau abgewogen werden, wie z.B. Stand-Up-Meetings oder Peer-Reviews zu organisieren sind. Auch hier müssen Mittel und Wege gefunden werden, um das Problem zu lösen. Diese sind jedoch zunächst unabhängig von den eingesetzten Methoden zu sehen. Klassische Methoden stehen vor ähnlichen Problemen.
Ja, wir setzen verstärkt auf Scrum. Die Erfahrungen, die wir in den letzten beinahe 2 Jahren mit agilen Methoden gemacht haben, sind durchgängig positiv. Vor 20 Monaten entschied unsere Unternehmensführung, vermehrt auf agile Entwicklungsprozesse in unserer eigenen Softwareentwicklung zu setzen. Die Maßnahme sollte Entwicklungskosten einsparen und gleichzeitig die Produktivität, Qualität und Prozesstransparenz verbessern. Beides ist überzeugend gelungen. Wie schon gesagt arbeiten mittlerweile 60 % unserer Entwicklungsteams auf Basis agiler Entwicklungsprozesse, und die Vorteile sind zum Teil beeindruckend, vor allem sind es die bereits genannten zeitlichen und qualitativen Effekte.
Eine weitere Initiative hinsichtlich agiler Projekte und Methoden war die Einrichtung des Borland Enterprise Quality Centers (EQC) in Singapur, unsere eigene Test-Factory. Das EQC dient dem Testen unserer eigenen ALM-Lösungen. Hier geht es um Performance, Skalierbarkeit, Integration und Kompatibilität. Zurzeit werden 14 Produkte, die in je 3 Versionen vorgehalten werden, qualitätsgesichert. Durch die agilen Testprozesse, einen extrem hohen Automatisierungsgrad und genau definierte Übergabepunkte aus den Entwicklerlabors können komplette Tests in wenigen Tagen, anstatt wie vorher in Wochen, durchgeführt werden. Durch die Einführung dieses Qualitätsprozesses wurden pro Produkt durchschnittlich 200k an Testaufwand und Prozesskosten eingespart.