Anzeige

Agiles Programmieren ist für die meisten Unternehmen und Entwickler mittlerweile Standard. Die bekanntesten Frameworks (z. B. Scrum, XP usw.) werden in vielen Entwicklungsteams angewendet und bieten für Teams, Unternehmen und Kunden eine Reihe von Vorteilen. Gleichzeitig bergen sie aber auch Risiken – gerade was die Sicherheit angeht. 

Vorteile und Risiken von Softwareentwicklung

Im Vergleich zur veralteten „Wasserfallmethode“ – einem linearen Vorgehensmodell, das in aufeinander folgende Projektphasen organisiert ist und bei dem die Phasenergebnisse immer als bindende Vorgaben für die nächsttiefere Phase eingehen – bieten agile Entwicklungsmethoden meist bessere Leistungen und sind so für Unternehmen attraktiv. Insgesamt zeigen sich vier große Vorteile:

Anpassungsfähigkeit: Bei der herkömmlichen Schritt-für-Schritt-Programmierung kann es vorkommen, dass Produkte die Anforderungen der Kunden nicht exakt erfüllen und neugestaltet werden müssen, was Zeit und Geld kostet. Mit agilen Methoden hingegen arbeiten die Entwicklungsteams eng mit dem Kunden zusammen und müssen am Ende des Projekts weniger Änderungen vornehmen. Dank kürzerer Entwicklungszyklen haben Softwareentwickler zudem die Möglichkeit, Produktänderungen auch in viel späteren Stadien des Prozesses vorzunehmen als bei herkömmlichen Methoden. Durch kontinuierliches Testen und Verifizieren können neue Produkte zudem früher eingesetzt werden.

Zusammenarbeit: Durch agile Methoden (z.B. Scrum) müssen Entwickler enger zusammenarbeiten, da sie alle 24 Stunden innerhalb des Scrum Teams im Daily Scrum berichten. Im besten Fall ist hier der Product Owner mit dabei und kann auftretende Fragen zu geplanten Funktionen direkt beantworten. Dies führt zu geringeren Kommunikationsbarrieren und einem häufigeren Wissensaustausch.

Transparenz: Bei der Wasserfallmethode können Kunden das Produkt erst sehen, wenn es fertig ist. Durch agile Methoden können sich Kunden nach jedem neuen Entwicklungszyklus an dem Prozess beteiligen und Feedback geben. Zusätzlich hat der Product Owner ein höheres Wissen über den Projektstatus, da Update-Meetings viel häufiger stattfinden.

Effizienz: Mit Hilfe von agiler Softwareentwicklung können Entwicklungsteams vorhandene Probleme zu einem viel früheren Zeitpunkt des Projekts herausfinden, da neue Funktionen kurz nach ihrer Erstellung getestet werden. Unternehmen können so Zeit und Geld sparen. Darüber hinaus schaffen sie einen Mehrwert für die Kunden, um ihren Wettbewerbsvorteil langfristig zu stärken.

Gleichzeitig birgt die agile Softwareentwicklung aber auch Risiken. Ihr Ziel ist es, eine Vielzahl an Funktionen in kürzerer Zeit zu erstellen und zu integrieren. Darin besteht das Risiko, dass Sicherheitstests neuer Versionen nur am Ende eines Projekts oder nach größeren Releases durchgeführt werden. Da das Testen Zeit und Ressourcen erfordert, schreiben Entwickler häufig keine eigenen Sicherheitstests für die Software. Aus diesem Grund veröffentlichen viele Unternehmen neue Versionen der Software ohne vorherige Sicherheitsprüfung. Diese ungeprüften Versionen werden dann insbesondere im Bereich der Webanwendungen zu einem bevorzugten Ziel für Hacker. Dieser Mangel an Sicherheitskontinuität trägt dazu bei, dass täglich bis zu 30.000 Websites gehackt werden.

Kompromiss zwischen Sicherheit und Agilität?

Einerseits führt eine höhere Agilität zu einer höheren Produktionsgeschwindigkeit und mehr Features in kürzerer Zeit. Es kann jedoch auch zu Komplexität führen - dem Feind der Sicherheit. Auf der anderen Seite ist Sicherheit zum Schutz eines Unternehmens nötig, jedoch erfordert sie Zeit, um sie umzusetzen - was wiederum der Feind der Agilität ist. Wie können Unternehmen also beides kombinieren?

Drei Tipps helfen Unternehmen dabei:

  • Auf Grund der hohen Entwicklungsgeschwindigkeit bei agiler Softwareentwicklung kann nicht jeder Arbeitsschritt manuell ausgeführt werden. Häufig arbeiten agile Teams mit DevOps Methoden, bei denen Entwickler auch für den Betrieb der Software zuständig sind. Agile Build Pipelines automatisieren Schritte wie Funktionstests in der Bereitstellung der Software. In solche Build Pipelines lassen sich freie sowie kommerzielle Tools zum Erkennen von Sicherheitslücken integrieren. Statische sowie dynamische Sicherheitsscanner finden zum Beispiel veraltete Programmbibliotheken oder Sicherheitsprobleme in der entwickelten Software. Das ist wichtig, da die Sicherheit zu jedem Zeitpunkt eines Projektes beachtet werden muss, was mit manuellen Tests sehr anstrengend ist. Dank automatisierter Sicherheitsscanner können sich Entwickler auf die Erstellung von Features konzentrieren, die tatsächlich einen geschäftlichen Nutzen schaffen.
  • Sicherheit sollte nicht als zusätzlicher Arbeitsschritt betrachtet werden, der nach jeder Bereitstellung auf DevOps angewendet wird, sondern als fortlaufende Vorgehensweise, die von Anfang an in jedem Entwicklungszyklus berücksichtigt werden muss.
  • Um die Sicherheit im Unternehmen vollständig zu implementieren, müssen Führungskräfte sicherstellen, dass in jeder Abteilung der Organisation eine „Sicherheitskultur“ gelebt wird.

Vorteile der Kombination aus Agilität und Security

Neben der Sicherheitsunterstützung gibt es positive Aspekte, die nur durch die Integration von SecDevOps möglich sind:

Höhere Produktivität: Mit einem integrierten Sicherheitsframework können Entwickler effizienter arbeiten. Jede Iteration des Produkts ist gesichert. Dadurch können sich Entwickler auf die Entwicklung umsatzsteigernder Funktionen für die Webanwendung konzentrieren.

Datenschutz: Nach den Mitarbeitern sind Daten für jedes Unternehmen das wertvollste Gut. Daten sind das, was zu Kundeneinblicken und höherem Geschäftswert führt. Wenn sie den Zugriff auf Geschäftsdaten verlieren (z.B. durch einen Ransomware-Angriff), kann dies die Produktivität herabsetzen oder sogar die gesamte IT-Infrastruktur einfrieren. Dies kann zu direkten Kosten führen, da sich die meisten Unternehmen für das Lösegeld entscheiden. Ein Verlust von Kundendaten kann sogar noch schlimmer sein, da mangelndes Vertrauen der Kunden langfristig den Umsatz stark negativ beeinflusst.

Kosteneinsparungen: Die oben genannten Vorteile führen bereits zu (in)direkten Kosteneinsparungen. Eine „Regel“ der Informatik besagt, dass Fehler in jeder Phase der Softwareentwicklung, in der Sie gefunden werden 10x höhere Kosten verursachen als in der Phase davor (Planung, Entwicklung, Betrieb, …). Die Implementierung von IT-Sicherheit spart somit Geld, da sie Sicherheitslücken in einer früheren Phase der Entwicklung aufdeckt und diese somit behoben werden können.

Janosch Maier, Gründer von Crashtest Security, https://crashtest-security.com/

 
 


Newsletter Anmeldung

Smarte News aus der IT-Welt

Sie möchten wöchentlich über die aktuellen Fachartikel auf it-daily.net informiert werden? Dann abonnieren Sie jetzt den Newsletter!

Newsletter eBook

Exklusiv für Sie

Als Newsletter-Abonnent erhalten Sie das Booklet „Social Engineering: High Noon“ mit zahlreichen Illustrationen exklusiv und kostenlos als PDF!

 

Weitere Artikel

Apps

Mit Rapid Application Development auf der Überholspur

p.p1 p.p2 span.s1 span.s2 Immer öfter hört man im deutschen Markt, dass Unternehmen es schaffen müssen, „Business“ und IT-Abteilungen zusammenzubringen. Denn vor allem durch innovative Software und mobile Applikationen können wertvolle Wettbewerbsvorteile…
The End

Support-Ende für Office 2010 – jetzt handeln

p.p1 p.p2 Gerade erst hat sich der Sturm um das Supportende von Windows 7 gelegt, da steht auch schon das nächste für Unternehmen und deren IT-Administratoren an: Office 2010. Am 13. Oktober 2020 ist offiziell Schluss mit Updates und Support. Hier sind…
Springender Mann

Wer große Sprünge macht, verliert den Überblick

Immer wieder lassen Unternehmen die Pflege ihrer Anwendungen schleifen. Oft verlieren sie dann den Überblick – und es wird teuer. IT-Dienstleister Avision erklärt, warum Software von kleinen Anpassungsschritten profitiert.
Software

Worauf ist beim Kauf gebrauchter Lizenzen zu achten?

Beim Kauf gebrauchter Software-Lizenzen ist ein umsichtiges Vorgehen notwendig. In der Branche gibt es viele schwarze Schafe, die auch gefälschte Lizenzen anbieten. Wer einen einzelnen Schlüssel jedoch ohne ein Installationsmedium zu einem…
Software Laptop

Software - Von der Stange oder maßgefertigt?

Ohne Software läuft heute gar nichts mehr – das gilt für Büroabläufe ebenso wie für die Produktion oder den Vertrieb. Für nicht wettbewerbsspezifische Prozesse gibt es eine große Auswahl an einsatzbereiten Softwareprodukten, seien es Office-Programme,…

Anzeige

Newsletter Anmeldung

Smarte News aus der IT-Welt

Sie möchten wöchentlich über die aktuellen Fachartikel auf it-daily.net informiert werden? Dann abonnieren Sie jetzt den Newsletter!

Newsletter eBook

Exklusiv für Sie

Als Newsletter-Abonnent erhalten Sie das Booklet „Social Engineering: High Noon“ mit zahlreichen Illustrationen exklusiv und kostenlos als PDF!