DevOps revolutioniert die Softwareentwicklung
Heutzutage werden mobile Anwendungen entwickelt, deren Komponenten auf unterschiedlichen Plattformen ausführbar sind. Eine typische Anwendung besteht aus Funktionen von Datenverarbeitung, Datenübertragung, Datenmanagement und Benutzerinteraktion. Auch in Sachen der Softwarearchitektur gibt es unterschiedliche Ansätze – von einzelnen Programmen und Stand-Alone-Anwendungen bis zu komplexen verteilten Systemen wie Client-Server-, Web-, Netzwerk- oder Cloud-Anwendungen.
Neue Entwicklungsmethoden ermöglichen es, die Organisation des Entwicklungsprozesses und des Betriebs neu zu gestalten. Mit neuen DevOps-Prozessen (Development & Operations) wird die Software während ihres Lebenszyklus kontinuierlich verbessert und erweitert. Diese Methode hilft, die Korrektheit der Implementierung in allen Phasen vom Design bis zur Installation und dem Betrieb zu kontrollieren und gleichzeitig auf die Bedürfnisse der Kunden ohne Verzögerung einzugehen.
Agile Methoden und Tools
Damit die Aktivitäten verschiedener Spezialistengruppen konsolidiert werden und die Kunden mit dem entwickelten Produkt zufrieden sind, werden neue agile Entwicklungsmethoden verwendet, die den Entwicklungsprozess beschleunigen und gleichzeitig zur Qualitätssicherung beitragen, indem Projektfehler und Fehlentscheidungen rechtzeitig identifiziert werden.
Viele Softwarehersteller haben das Problem einer ineffizienten Softwareentwicklung erkannt und sind auf neue plattformübergreifende Tools und agile Entwicklungsmethoden umgestiegen. Mit den neuen DevOps-Methoden funktionieren die Entwicklung, die Qualitätssicherung, der Betrieb, das Management und der Kundendienst transparent und eingespielt. Das ist ein überzeugender Grund für eine neue Organisation, um das Produktportfolio marktgerecht zu gestalten und sich selbst an eine geänderte Marktsituation schnell anpassen zu können.
DevOps
DevOps unterstützt ein neues Management im Lebenszyklus eines Softwareprodukts. Bei DevOps geht es darum, die Prinzipien des agilen Software-Engineering auf das gesamte Unternehmen zu übertragen und umzusetzen. Die Geschäftsprozesse werden harmonisiert und konsolidiert, beginnend von den ersten Produktanforderungen, dem Entwurf und Design über die Entwicklung und den Test bis hin zum Wirkbetrieb. Die populären Betriebssysteme, die bei DevOps zum Einsatz kommen, sind Windows, Linux, MacOS, das auch auf einem macbook pro gebraucht gut läuft, Android, iOS und andere. Der Begriff DevOps stammt aus der Verschmelzung von Entwicklung und Betrieb. Das ist aber kein einfaches Zusammenlegen der beiden Unternehmensbereiche, sondern vielmehr eine neue Unternehmensstrategie und -kultur.
Bei DevOps geht es sowohl um die Menschen als auch um die Prozesse. Werkzeuge wirken dabei nur als ein zweckmäßiges Mittel. DevOps beinhaltet kontinuierliche Planung, kollaborative Entwicklung, kontinuierliche Tests, kontinuierliche Integration, kontinuierliche Lieferung und kontinuierliches Feedback der Kunden. Im Unterschied zu klassischen Vorgehensmodellen wie Wasserfall- oder V-Modell endet der DevOps-Prozess nicht mit der Übergabe der Software in den Betrieb, sondern läuft weiter und kommt wieder zu den Anforderungen, aber diesmal in einer nächsten Stufe der Weiterentwicklung.
Durch DevOps sind die Automatisierung und Zusammenarbeit in der gesamten Organisation verknüpft. DevOps verändert die Art und Weise, wie die Softwareentwicklung organisiert wird. Mit vollständigen plattformübergreifenden DevOps-Lösungen wird ein Collaborative Lifecycle Management (CLM) aufgebaut. Mit dieser Methode kann ein Softwarehersteller:
- Anforderungen schnell erfassen, verwalten, verifizieren und priorisieren,
- die festgelegten Anforderungen schnell und sicher umsetzen (kontinuierliche Lieferung),
- die Tests frühzeitig anbinden (kontinuierliche Validierung),
- Erfahrungen mit neuen agilen Methoden und Tools sammeln (Customer/User Experience, CX/UX),
- die Qualitätssicherung kontinuierlich, in allen Phasen des Produktlebenszyklus durchführen.
Die agile DevOps-Methoden und -Tools helfen Entwicklern, ihre Anwendungen schneller und qualitativ zu erstellen und zu testen. Um die Entwicklererfahrung zu vervollständigen, kann das CLM mit kommerziellen oder Open Source-Tools verwendet werden.