IAPM International Association of Project Managers

ende
Sie sind hier:  News & Events » PM-Artikel

Agilität nur mit Sicherheit

Auf Funkschau.de berichtet Janosch Maier darüber, warum Agilität nur in Verbindung mit Sicherheit möglich ist und warum es ohne Sicherheit keine agilen Projekte geben kann. Janosch Maier ist Gründer von Crashtest Security und beschäftigt sich seit einigen Jahren mit diesem Thema. Maier weist darauf hin, dass agiles Programmieren heute in vielen Unternehmen und Teams zum Standard geworden ist. Entwickler nutzen die Vorteile der Agilität und schaffen damit Vorteile für die Kunden. Natürlich bestehen auch Risiken, die durch den Einsatz agiler Methoden entstehen. Eines dieser Risiken – wahrscheinlich das Hauptrisiko – ist die Sicherheit. Ohne eine gewisse Sicherheit kann es laut Maier keine Agilität geben. Im Folgenden fassen wir seine Standpunkte für Sie zusammen
In manchen agilen Projekten kommt die Sicherheit zu kurz – das darf natürlich nicht passieren und muss von Anfang an berücksichtigt werden.
In manchen agilen Projekten kommt die Sicherheit zu kurz – das darf natürlich nicht passieren und muss von Anfang an berücksichtigt werden.

Softwareentwicklung: Vorteile gegenüber alten Methoden

Lange Jahre, sogar Jahrzehnte wurden Projekte nach der Wasserfallmethode bearbeitet. Das bedeutet, dass jede Projektphase abgeschlossen und auf ihren Ergebnissen basierend die nächste Projektphase gestartet wurde. Das Ergebnis einer Phase war immer die zwingende Vorgabe für die nächste. Das ist nun im Zeitalter agiler Methoden nicht mehr so. Maier hebt die vier wichtigsten Vorteile dieser agilen Methoden für moderne Unternehmen hervor, und dazu zählt als erstes die Anpassungsfähigkeit. Bei Programmierung in einzelnen Phasen kam es ständig vor, dass Projektschritte oder ganze Projekte abgeschlossen wurden, nur um direkt festzustellen, dass die Wünsche des Kunden damit eigentlich nicht erfüllt waren. Unzufriedene Kunden, verschwendete Zeit und Ressourcen waren oft das Ergebnis. Die agilen Methoden erlauben und fordern einen stetigen engen Kontakt zum Kunden, so dass jede Änderung gemeinsam mit dem Kunden direkt während der jeweiligen Phase besprochen werden kann. Der Änderungsbedarf am Ende eines Projektes kann so minimiert werden. Die einzelnen Entwicklungskreisläufe sind kürzer und lassen den Entwicklern so die Möglichkeit, auch noch deutlich später im Projekt maßgebliche Änderungen vorzunehmen, ohne das gesamte Projekt zu torpedieren. Zudem wird kontinuierlich getestet und überprüft, was dazu führt, dass neue Produkte auch noch deutlich schneller auf den Markt kommen.

Vorteile agiler Methoden

Der zweite enorme Vorteil agiler Methoden ist die Zusammenarbeit, die erheblich enger und konzentrierter ist als bei herkömmlichen Methoden. Im Scrum wie auch bei anderen agilen Methoden sitzt stets auch der Product Owner mit am Tisch, so dass Entscheidungen direkt getroffen werden können, was die Kommunikation beschleunigt und den gesamten Prozess schneller und effizienter macht. Als dritten Vorteil agiler Methoden in der Softwareentwicklung ist die Transparenz zu nennen. Noch vor einigen Jahren war es üblich, dass ein Kunde sein Produkt erst zu sehen bekam, wenn es fertig war. Davon ist man in der agilen Entwicklung vollkommen abgekommen. In jeder Phase wird der Kunde eingebunden, was dazu führt, dass der Product Owner immer ziemlich genau darüber im Bilde ist, was vor sich geht und also direkt Einhalt gebieten kann, wenn etwas nicht seinen Vorstellungen entspricht. Das spart Zeit und Geld für unnötige Arbeitsschritte und Änderungen. Vorteil Nummer vier ist die Effizienz, welche sich ein wenig aus den vorgenannten Vorteilen heraus ergibt. Agile Softwareentwicklung bedeutet einfach einen enormen Zuwachs an Effizienz. Probleme und Fehler können zu einem früheren Zeitpunkt entdeckt werden, was Geld und Zeit spart. Neue Tools werden direkt getestet und so steht sofort fest, ob sie funktionieren und sinnvoll sind. Der Kunde zieht daraus direkte Vorteile im Wettbewerb. Er erhält sein Produkt schneller und es ist besser mit ihm abgestimmt.

Risiken in der agilen Entwicklung

Wie bereits erwähnt, birgt die agile Entwicklung auch Risiken, welche bei der herkömmlichen Softwareentwicklung nicht in dem Maße vorhanden waren. Da in kürzester Zeit zahlreiche Funktionen erstellt werden, kommt es oft vor, dass Sicherheitstests erst gegen Ende durchgeführt werden, während Funktionstests allgegenwärtig sind. Entwickler schreiben oft keine eigenen Sicherheitstests für ihre Software, sondern veröffentlichen Versionen, die nicht oder nur unzureichend auf Sicherheit geprüft wurden. Schließlich kosten die Tests viel Geld und Zeit. Hier sehen Hacker ihre Chance und die Produkte werden angreifbar. Es ist also kein Wunder, dass jeden Tag 30.000 Webseiten gehackt werden.

Agil aber sicher

Maier betont, dass ein Kompromiss die beste Lösung ist. Hohe Agilität führt zu einer hohen Entwicklungsgeschwindigkeit. In kürzerer Zeit können komplexere Softwareprodukte entwickelt werden. Komplexität bezeichnet Maier als den Feind der Sicherheit, denn in komplexen Strukturen gibt es viele Angriffspunkte für Hacker. Das Streben nach Sicherheit seinerseits ist der Feind der Agilität, denn mehr Sicherheit bedeutet mehr Tests, die Zeit brauchen. Im Folgenden nennt Maier seine Tipps für Unternehmen, die nach einem geeigneten und guten Kompromiss zwischen maximaler Agilität und maximaler Sicherheit suchen.

Zu guter Letzt heißt es, einen Kompromiss finden

Viele agile Entwicklungsteams sind so schnell, weil sie verschiedene Arbeitsschritte nicht mehr manuell durchführen. Im Team sind die Entwickler dank DevOps auch für den Betrieb der Software zuständig. Sogenannte Build Pipelines führen Tests automatisch durch und hier lassen sich auch Tools zur Erkennung von Lücken in der Sicherheit einbauen. Mit Hilfe von dynamischen oder statischen Sicherheitsscannern können sie alte Bibliotheken erkennen oder andere Lücken aufzeigen. Mit manuellen Tests ist das flächendeckend kaum möglich. Automatische Scanner sind also eine große Hilfe, weil die Entwickler sich auf das eigentliche Entwickeln konzentrieren können. Der zweite Tipp betrifft eher die Einstellung: Betrachten Sie die Sicherheit nicht als zusätzlichen Arbeitsschritt, sondern als Bestandteil aller Schritte. Binden Sie die Sicherheit kontinuierlich ein. Dazu gehört auch, dass die Führungsebene eines Unternehmens die Sicherheit sehr ernst nehmen muss. Schulen Sie Ihre Kollegen in Sachen Sicherheitskultur und darin, wie wichtig dieser Aspekt ist. Da schadet es auch nicht, öfter mal zu erwähnen, dass mehr Sicherheit auch mehr Produktivität bedeutet. Ein integriertes Sicherheitsframework verhilft den Entwicklern zu mehr Zeit für ihre eigentliche Aufgabe. Das wirkt sich positiv auf den Umsatz aus, weil Produkte schneller fertig werden. Denken Sie an den Datenschutz: Ihre Daten sind ebenso in Gefahr wie die Daten Ihrer Kunden, wenn Ihre Software Lücken aufweist, die Hacker geradezu einlädt. Ganz zu schweigen vom Vertrauensverlust bei Ihren Kunden. Zudem kann eine gute Sicherheitsintegration letztendlich auch Kosten sparen. Eine Faustregel besagt, dass Fehler, die in eine nächste Phase mitgeschleppt werden, dort zehnmal höhere Kosten verursachen, wenn sie beseitigt werden müssen. Eine fehlerfreie und bereits auf Sicherheit geprüfte Software verschiebt Kosten für die Behebung von Sicherheitslücken also in eine frühere und damit günstigere Phase.
Autorin: IAPM intern

Schlagworte: Agile Projektmanagement, Sicherheit, Ratgeber, Tipp
IAPM Partners