Entwickler leben von schnellen und häufigen Releases – Administratoren dagegen würden neue Releases am liebsten vermeiden. Die Optimierung der Zusammenarbeit zwischen den separaten IT-Abteilungen Entwicklung und Administration birgt viel Potenzial. [...]
Programmierer und Systemadministratoren leiden viel zu oft unter Trennungsschmerz, da sie im Geschäftsumfeld häufig in verteilten Umgebungen ohne direkte Verbindung arbeiten. Die Brüche zwischen Entwicklungs- und Administrationsabteilung mit getrennten Werkzeugen wirken sich in unzusammenhängenden IT-Prozessen negativ und unproduktiv aus. Inzwischen sind die Kommunikationslücken so groß, dass sich bereits die weltweite »DevOps-Bewegung« gebildet hat, die an Lösungen zur Behebung dieser Problematik arbeitet.
Der Begriff DevOps steht für eine bessere Interaktivität und Produktivität zwischen der Entwicklungsabteilung (Dev = Development) und Systemadministration (Ops = Operations). Alles dreht sich dabei um eine optimierte Fertigstellung der Applikationen und ihrer Funktionen, die den Geschäftserfolg sicherstellen. Die Grundkonzepte agiler Entwicklungsmethoden werden dabei auf den IT-Betrieb übertragen, um einen durchgängigen und transparenten Prozess von den Entwicklern bis zum Anwender zu gewährleisten. Ziel ist es, alle kommunikativen Mauern zwischen den Beteiligten einzureißen, damit die ohnehin oft an unterschiedlichen Standorten arbeitenden Entwickler und Administratoren nicht aneinander vorbeireden.
SOLIDE BASIS
In einer weltweiten Umfrage unter 1.000 IT-Profis hat Serena Software herausgefunden, welche IT-Trends und Entwicklungen bei der Applikationsentwicklung am wichtigsten sind. Die Umfrageergebnisse dokumentieren, ob die befragten Unternehmen ihre eigenen ALM-Prozesse (Application Lifecycle Management) bei Anwendungsentwicklung, Nachfrage-, Anforderungs- und Release-Management im Griff haben. Bei den für die Produktentwicklung erforderlichen Kernaufgaben sind IT-Abteilungen in der Regel sehr stark aufgestellt. Trotz einer dramatischen Zunahme neuer Technologien haben IT-Organisationen die einzelnen Schritte der Anwendungsentwicklung sicher im Griff. Selbst in einer immer komplexeren Technologielandschaft beherrschen die meisten IT-Entwicklungsabteilungen ihr stetig wachsendes Aufgabengebiet.
Andererseits deckt die Umfrage aber auch auf, dass viele Unternehmen mit Problemen am Ende des Entwicklungsprozesses konfrontiert werden, speziell beim Requirements- und Release-Management. Aktuell ist die rechtzeitige und fehlerfreie Applikationsbereitstellung bei der Weitergabe der Anwendungen das größte Hindernis für ein erfolgreiches ALM, so das Urteil der IT-Verantwortlichen. IT-Abteilungen müssen demnach ihren Bereitstellungsprozess neu analysieren, um die richtige Balance zwischen Geschwindigkeit und Kontrolle zu finden sowie operative Sicherheit bei der regelmäßigen, schnellen und zuverlässigen Auslieferung von Programmen gewinnen zu können.
DEFINITION DER ANFORDERUNGEN
Alle Umfrageteilnehmer zeigen sich ausgesprochen unzufrieden damit, dass diese Aufgaben nicht im gewünschten Maße bewältigt werden. Nach eigenen Angaben kämpfen die IT-Abteilungen tagtäglich mit der Qualität der tatsächlichen Umsetzungen der Software-Anforderungen. Besonders eine Zahl alarmiert: 33 Prozent der Software-Entwicklungskosten werden wegen schlecht umgesetzter Software-Anforderungen verschwendet. Noch befindet sich Anforderungsmanagement allerdings auf der Prioritätenliste der befragten IT-Verantwortlichen an hinterer Stelle.
Zukünftig müssen IT-Abteilungen weniger in neue Tools und mehr in ihre Requirements-Management-Prozesse investieren, damit alle Beteiligten über eine komplexe Technologie- und Firmenumgebung hinweg produktiv zusammenarbeiten können. Unternehmen sollten ihren Fokus vermehrt auf DevOps-Strategien zur Vermeidung von Brüchen zwischen den meist getrennten Abteilungen Entwicklung und Systemadministration richten. Da die meisten Softwarekosten im laufenden Betrieb nach Installation der Programme anfallen, kommt dem Release Management eine besondere Bedeutung zu. Und genau hier setzt die DevOps-Bewegung durch Umsetzung agiler Entwicklungskonzepte auch über Unternehmensgrenzen hinweg an. DevOps-Initiativen haben in den vergangenen Jahren stark an Popularität gewonnen, weil sie die Kommunikation und Zusammenarbeit zwischen den Unternehmensabteilungen verbessern.
GLEICHE SPRACHE
Der Aufbau einer kooperativen DevOps-Umgebung fängt bei der Angleichung unterschiedlicher Denkweisen in den Abteilungen an. Viele IT-Mitarbeiter haben sich früher darauf beschränkt, im Hintergrund für einen reibungslosen Betrieb zu sorgen. Jetzt müssen sie mit betriebswirtschaftlichen Faktoren zur Effizienz-, Umsatz- und Gewinnsteigerung vertraut sein, die in die Entwicklung moderner IT-Systeme einfließen. Insbesondere die Entwickler mussten sich in den vergangenen Jahren verstärkt mit agilen Methoden und Vorgehensweisen vertraut machen, um das für ihre Arbeit erforderliche Feedback von Kollegen einholen zu können. Zur effizienten Umsetzung geschäftlicher Vorgaben und Anforderungen kommen IT-Profis schon lange nicht mehr ohne das notwendige Business-Vokabular aus. Diese Veränderungen vereinfachen die Annäherung zwischen IT-Abteilung und anderen Unternehmensbereichen, weil beide Seiten die gleiche Sprache sprechen.
Grundsätzlich problematisch ist der Übergang zwischen unterschiedlichen Entwicklungsstufen und der tatsächlichen Bereitstellung der Applikations-Releases. Viele Unternehmen haben ihre Entwicklungsarbeiten weitestgehend automatisiert, aber bei der produktiven Verbindung wichtiger Komponenten des Applikations-Lebenszyklus hakt es häufiger. Eine zuverlässige Applikationsbereitstellung kann indes nur gelingen, wenn Unternehmen die Erstellung besserer Anwendungen mit optimierten IT-Prozessen unterlegen, damit neu entwickelte Software auf Anwenderseite auch für den erhofften Mehrwert sorgt.
Ein weiteres Problemfeld ist, dass mit steigender Komplexität der Software-Programme auch die dafür verantwortlichen Teams gewachsen sind. In verteilten Umgebungen mit internen und externen Programmierern entstehen leicht IT-Silos mit verringerter Einsehbarkeit. Die Folge: Eine sinkende Produktivität ist vorprogrammiert. Dabei müsste jeder Arbeitsschritt, der Entwicklung und Betrieb gleichermaßen betrifft, vielmehr über automatisierte und verbundene Prozesse zusammengeführt werden. Dieser Anspruch läuft auf eine Orchestrierung der Applikationsprogrammierung hinaus, was gleichwohl nicht das Ende der bisher eingesetzten Werkzeuge und Lösungen bedeuten muss. Vielmehr sollten Unternehmen schauen, wie sie ihre IT-Bestände weiter nutzen und in einem funktionierenden Gesamtsystem besser integrieren.
VIELE MANUELLE PROZESSE
Noch kämpfen viele Abteilungen aber mit manuellen Prozessen, die eine korrekte Bereitstellung der aufwendig erstellten Applikationen immer wieder ausbremsen. Beispiel Release Management: Anstatt die Prozesse und Aufgaben zu automatisieren, sind Unternehmen in der Regel auf manuelle Installationen oder selbsterstellte Skripte angewiesen, die jedes Mal von Hand aktualisiert werden müssen. Dadurch wächst die Wahrscheinlichkeit, dass unnötiger Zeit- und Arbeitsaufwand den Release-Prozess verzögert. Gleichzeitig wächst das Risiko durch Fehler und verunglückte Installationen. Application-Lifecycle-Management-Prozesse und Best Practices beim Release Management müssen deshalb in einem Gesamtprozess kombiniert werden. Eine funktionierende Kopplung von Release Management und Service Management helfen bei der Umsetzung der angestrebten DevOps-Ziele.
* André Beuth arbeitet als System Specialist bei Serena Software.
Be the first to comment