Softwareentwicklung verändert sich dramatisch. Geschäftsmodelle werden digital, Software entscheidet über den Unternehmenserfolg. In Analogie zu Industrie 4.0 ist Software-Entwicklung 4.0 das Gebot der Stunde.
von Karl Prott, Capgemini
Nach dem klassischen Wasserfall (1.0) und den in den 90er Jahren daraus abgeleiteten stark prozessorientierten Vorgehensmodellen (2.0) wie V-Modell und RUP – Rational Unified Process wurden seit dem agilen Manifest in 2001 zahllose agile Vorgehensmodelle (3.0) wie Scrum und Kanban zum Standard in vielen Unternehmen. Doch Agiltität allein reicht aber nicht mehr, um die Ziele kürzeste Time-To-Market (in Tagen), hohe Qualität und Zuverlässigkeit zu aktzeptablen Kosten zu erreichen. Die zeitgemäße Software-Entwicklung 4.0 kombiniert daher vier wesentliche aktuelle Trends, um diese Ziele zu realisieren:
- Flexible und überschaubare Microservices werden in
- einem agilem, interdisziplinärem und auf Business Nutzen fokussiertem Mindset
- aufbauend auf einer voll automatisierten Produktions-Pipeline (DevOps)
- in der Cloud entwickelt, getestet und betrieben.
Überschaubare und unabhängige Microservices zu schneiden, die derDefinition von Lewis und Fowler entsprechen, erscheint vielen Architekten, die bislang möglichst viele Services in eine große Anwendung integriert haben, entweder fachlich unmöglich, zu teuer oder wegen der großen Anzahl im Betrieb nicht handhabbar. Dennoch ist das sehr erfolgreich und zu akzeptalen Kosten möglich.
Agil ist schon kein Trend mehr, sondern Mainstream. Allerdings haben erst sehr wenige sich mit letzter Konsequenz darauf eingelassen.
Hin zur Cloud ist zurzeit ein Top Trend. Mit welchem Vorlauf können Sie bei Ihnen eine neue Testumgebung einrichten oder in einer vorhandenen Test- oder Produktionsumgebung vorübergehend zusätzliche Ressourcen bereitstellen? Lösungen in der Cloud können der Schlüssel sein, um in kurzer Zeit in hoher Qualität und Zuverlässigkeit und zu akzeptablen Kosten zu liefern.
DevOps – Wie langer dauert es bei Ihnen, vom dem Zeitpunkt, an dem ein Software-Entwickler etwas eincheckt, bis dies in der Produktion ist? Stunden, Tage oder Monate? Digitale Märke entwickeln sich rasant – die IT muss hier den Takt mitgehen können und schnell Lösungen liefern, die gewohnten Qualitätsstandards entsprechen. Mit der Häufigkeit neuer Releases sinkt auch die Möglichkeit, Betrieb und Testen als überwiegend manuelle Disziplinen weiter zu betreiben. Die Kosten sind schlicht zu hoch. Eine konsequente Automatisierung der Test- und Betriebsaktivitäten und die Integration in eine Produktions-Pipeline sind daher der Kern jeder DevOps-Initiative.
Cloud, Microservices, Agil und Devops bilden die Grundlage für die nächste Entwicklungsstufe der Softwareentwicklung. Relevant und entscheidend wird es sein, die Zusammenhänge seht gut zu verstehen und vor allen Dingen den Erfolgsfaktor Mensch bezüglich der erforderlichen Skills zu begreifen und zu gestalten.