Agile Software – Aber sicher!

Dass agile Methoden vor allem in der Softwareentwicklung mittlerweile State of the Art sind und dass sie gegenüber herkömmlichen Methoden enorm viele Vorteile bieten, sollte wohl auch beim größten Skeptiker angekommen sein. Die aktuellen Diskussionen drehen sich nicht mehr darum, ob agile Methoden angewendet werden sollten, sondern darum, wie das vonstattengehen soll. Ein sehr wichtiger Aspekt ist dabei die Sicherheit, denn sie wurde im Eifer des Gefechts vor lauter Begeisterung für die neuen Methoden hin und wieder vernachlässigt.
Das Bild zeigt eine Grafik mit abstrakten Linien und einem orangenen Sicherheitsschloss.

Sicherheit nicht vernachlässigen!

Auf der Plattform dev-insider.de beschäftigt sich Stephan Augsten mit dem Thema der Sicherheit in der agilen Softwareentwicklung. Seine Prämisse lautet: Die Sicherheit sollte nie an letzter Stelle stehen und dieser Aspekt von vornherein in die Projekte integriert werden. Er verweist auf Janosch Maier von Crashtest Security, der die Stolpersteine der Sicherheit bei der agilen Softwareentwicklung genauer erklärt hat. Im Folgenden fassen wir die jeweiligen Thesen für Sie zusammen. Stephan Augsten und Janosch Maier sind sich darin einig, dass in jedem DevOps Entwicklungsprozess Zeit für das Thema Sicherheit sein muss und auch ist. Die Tatsache, dass Projektphasen nicht voneinander abgegrenzt aufeinander folgen, sondern flexibel ineinandergreifen, macht Kanban, Scrum und Extreme Programming so attraktiv. Aber genau daher kommen eben auch neue Sicherheitslücken, denn flexiblere Projekte werden komplexer, aber damit auch weniger sicher.

Die Vorzüge von agile Programming

Janosch Maier fasst die Vorteile agiler Entwicklung in vier Gruppen zusammen. Zuallererst nennt er Anpassungsfähigkeit. Kundenwünsche können noch während der Entwicklung in jedem Schritt eingebunden werden, ohne dass eine Phase abgeschlossen sein muss und damit Ressourcen und Geld verschwendet werden. Diese schnelle Reaktionsfähigkeit auf jeden noch so kleinen Anpassungswunsch verkürzt die generelle Entwicklungszeit. Scrum und Co ermöglichen zudem auch Anpassungen in einem späten Stadium der Projektentwicklung, in dem es mit der Wasserfallmethode schon zu spät wäre. Der zweite enorme Vorteil ist die enge Zusammenarbeit. Bei Scrum findet innerhalb eines Teams alle 24 Stunden ein direkter Austausch statt. Dies verbessert den Informationsaustausch und baut Kommunikationsbarrieren ab.

Mehr Effizienz durch Transparenz

Der dritte Vorteil ist die Transparenz, vor allem gegenüber dem Kunden. Während ein Kunde bei der Wasserfallmethode erst am Ende des Entwicklungsprozesses sein Produkt zu Gesicht bekommt, ermöglichen die agilen Methoden, dass der Kunde kontinuierlich in die Entwicklung eingebunden ist. Er kann ständig Feedback geben und sein Produkt in jeder Phase erleben. Last but not least ist Effizienz als enormer Vorteil zu nennen. Sie resultiert quasi aus allen anderen Vorteilen. Entwicklungsteams gehen Probleme mit agilen Methoden an – und das auch noch zu einem viel früheren Zeitpunkt als bei der Wasserfallmethode. Alle Funktionen werden sofort getestet, was Bugs und andere Probleme früher ausmerzt. Die Effizienz steigt enorm. Das spart Zeit und Geld, wobei gleichzeitig Wettbewerbsvorteile für den Kunden entstehen.

Risiken nicht aufschieben

Janosch Maier will agile Methoden aber nicht in den Himmel loben, ohne auf die Risiken einzugehen. Diese gibt es. Und sie hängen oft mit der Natur der agilen Methoden zusammen. Wo viele Funktionen schnell programmiert werden und eine hohe Anzahl an Anpassungen stets und ständig vorgenommen werden, sind Sicherheitslücken vorprogrammiert. Hierauf muss unbedingt eingegangen werden – und zwar so früh wie möglich. Sicherheitstests erst am Ende eines Projekts zu machen passt zwar nicht in die agile Methodik, denn schließlich wird ständig alles getestet, aber viele Firmen machen dennoch diesen Fehler: Sie testen zwar alles Mögliche in jedem Schritt, heben sich aber dennoch das Thema Sicherheit für den Schluss auf. Klingt unlogisch, aber irgendwie auch wieder menschlich. Niemand denkt gerne an Sicherheitslücken. Weder die Entwickler noch die Verantwortlichen wollen jeden Tag an Sicherheitsprobleme erinnert werden. Dabei führt Agilität zu mehr Komplexität und damit zu mehr Angriffspunkten für Hacker. Gleichzeitig hat mehr Sicherheit einen negativen Einfluss auf die Agilität.

Sicherheitsrisiken eliminieren

Was also tun gegen Sicherheitsrisiken? Agile Teams arbeiten häufig mit DevOps, weil bei einer so hohen Geschwindigkeit nicht alle Arbeitsschritte manuell ausgeführt werden können. Arbeitsschritte wie zum Beispiel Tests werden automatisiert und von Agile Build Pipelines ausgeführt. Tools zum Erkennen von Sicherheitslücken lassen sich in diese Pipelines integrieren. Dynamische oder statische Sicherheitsscanner können eingesetzt werden, um veraltete Daten und Bugs zu finden. Die automatisierten Sicherheitsscanner sind eine prima Lösung, denn wie schon erwähnt, will kein Entwickler solche Tests manuell durchführen. Entwickler können durch diese Methode Sicherheitslücken die nötige Beachtung schenken und gleichzeitig ihre Zeit für die wirklich spannenden Aufgaben freischaufeln.

Noch ein paar Tipps

Die Sicherheit sollte nie als ein vom restlichen Prozess unabhängiger einzelner Arbeitsschritt angesehen werden – und schon gar nicht als ein lästiger. Der Blick auf die Sicherheit als eine fortlaufende Methodik ist erfolgversprechender. Die Sicherheit muss in jeder Phase von Anfang an auf dem Plan stehen, so dass es überhaupt nicht erst soweit kommt, sie einfach vergessen zu wollen. Für Führungskräfte ist es ratsam, eine unanfechtbare und allgegenwärtige Sicherheitskultur zu etablieren. Der Einsatz von SecDevOps erhöht genaugenommen die Produktivität, weil Sicherheitsframeworks, die von vornherein integriert werden, die Entwickler noch effizienter arbeiten lassen. Sie sind quasi der beste Weg, um sich vor langweiligen Sicherheitstests zu drücken. Sie können Ihren Kunden mitteilen, dass durch den Einsatz von SecDevOps das Risiko von erfolgreichen Angriffen verringert wird – und das stellt einen zusätzlichen Mehrwert dar. Schließlich haben wir gelernt, dass nicht alle Entwickler die Sicherheit ernst genug nehmen.
Autorin: IAPM intern 

Schlagworte: Projektmanagement, Agiles Projektmanagement, Sicherheit, SecDevOps

Die IAPM-Zertifizierung

Die Zertifizierung kann über ein reputiertes Onlineprüfverfahren abgelegt werden. Die Kosten richten sich nach dem Bruttoinlandsprodukt Ihres Herkunftslandes.


Welche Zertifizierung passt für Sie am besten?

Aufgrund besserer Lesbarkeit nennen wir in unseren Texten meist nur die generische männliche Form. Nichtsdestotrotz beziehen sich die Ausdrucksformen auf Angehörige aller Geschlechter.

Aus dem IAPM Blog

Network Official werden

Wollen Sie sich in Ihrem Umfeld für Projektmanagement engagieren und dazu beitragen, Projektmanagement weiterzuentwicklen? Dann werden Sie aktiv als IAPM Network Official oder als Network Official der IAPM Network University.