Moderne und sichere Softwareentwicklung

Gemeinsam schneller zum Ziel? Aber sicher!

Erfolgreiche und sichere Webanwendungen, Apps, Plattformen und die Cloud stellen hohe Anforderungen an den Softwareentwicklungsprozess sowohl in technischer als auch in organisationaler Hinsicht. Diesen Herausforderungen müssen Unternehmen und Organisationen adäquat begegnen. Hierbei leistet die Seminarreihe einen wertvollen Beitrag.

Dieses Angebot richtet sich an Organisationen und Unternehmen, die eine Gruppe von Mitarbeitenden schulen möchten. Die Seminarreihe umfasst ein breites Inhaltsspektrum. In einer vorgelagerten Bedarfsanalyse stellen wir gemeinsam mit Ihnen ein auf Ihre Bedürfnisse abgestimmtes Lernprogramm in Form einzelner Lernmodule zusammen.

Softwareentwicklung, Datenschutz, IT-Sicherheit
© Shutterstock

Die Herausforderung: Hohe Anforderungen bei Entwicklung und Betrieb
moderner und sicherer Software

In einer digitalen Gesellschaft rückt alles näher zusammen: Die Technik näher an den Alltag der Menschen – die Nutzer*innen näher an die Softwareanbieter*innen – die Kund*innen näher an die Softwareentwicklung – die Programmierer*innen näher an die Administrator*innen.

Die Erstellung, der Betrieb und sogar die Betriebsmodelle der dafür notwendigen Softwareprodukte bedürfen eines ebenso modernen Softwareentwicklungsprozesses. Es gilt, den hohen Anforderungen an Datenschutz/-sicherheit, schnellere Entwicklungszyklen, Wartbarkeit, Usability und die Verwendung moderner IT-Infrastrukturen und hochgradig vernetzter Systeme (wie etwa der Cloud und Software as a Service) gerecht zu werden.

 

Die Lösung: Moderne und sichere Softwareentwicklung gelingt nur in partnerschaftlicher Zusammenarbeit von Kund*innen, Management, Entwickler*innen und Betrieb.

Klassisches Silo- und Inseldenken haben ausgedient. Unverzichtbar für eine erfolgreiche und effiziente Softwareentwicklung sind die Erkenntnis der Notwendigkeit von und damit die Bereitschaft zu interdisziplinärem Denken und Handeln. Dies gilt sowohl für Inhouse-Entwicklungen als auch für beauftragte Software.

In der Seminarreihe „Moderne und sichere Softwareentwicklung“ erkunden wir die Zusammenhänge einer erfolgreichen Softwareentwicklung. Wir lernen, welche Grundprinzipien, Technologien und Prozesse ineinandergreifen, um sichere, wartbare, erweiterbare und einen Mehrwert stiftende Software für verschiedenste Zielumgebungen zu gestalten und diese in den Betrieb zu überführen. Dabei setzen wir auf ein interaktives Kursdesign unter Einbindung möglichst vieler Praxisübungen.


Ihre Vorteile auf einen Blick


Nach dem Seminar können Sie...

… die Implikationen der Digitalen Transformation für Ihre Organisation einschätzen.

… zusammen mit Ihren Kolleg*innen als echtes Entwicklungsteam agieren.

… Hemmnisse entlang Ihres Softwareentwicklungsprozesses identifizieren.

… diejenigen Faktoren identifizieren, welche einer sicheren und modernen Softwareentwicklung zugrunde liegen.

… Ihr tägliches Handeln auf diese Erfolgsfaktoren ausrichten, um Ihre Softwareentwicklungsprozesse erfolgreicher und effizienter zu gestalten.

… durch die Nutzung moderner Methoden die Sicherheit der von Ihnen erstellten Software erhöhen.

 

Dieses Seminar bietet Ihnen...

… einen klaren und kritischen Blick auf Software und moderne Softwareentwicklung mit Fokus auf Sicherheit.

… die Erkenntnis, dass nicht nur die Technik über erfolgreiche Software entscheidet.

… Diskussionen mit Expert*innen in angenehmer Gesprächsrunde.

… Verständlichkeit auch für Nicht-Programmierer*innen.

ÜBERBLICK
Veranstaltungstyp
Inhouse-Seminar
Format
Online oder Präsenz
Abschluss
Teilnahmebescheinigung
Zugangsvoraussetzung
Praktische Erfahrungen rund um Entwicklung, Betrieb und/oder Management von Software (inkl. Beschaffung)
Termine, Anmeldefrist und Ort
  • Nach gemeinsamer Absprache
Dauer/ Ablauf
Bis zu 32 Stunden (online in 8 Modulen à 4 Stunden) Die einzelnen Module werden als synchrone Lerneinheiten durchgeführt. Dabei kann die Taktung nach Wunsch der Kund*innen erfolgen.
Sprache
Deutsch
Teilnahmegebühr
EUR 3.200,00 pro Person (bei Buchung aller 8 Module) Im Falle einer Gruppenanmeldung kontaktieren Sie uns bitte, um ein Angebot zu erhalten.
ZIELGRUPPE
  • Software-Architekt*innen
  • Software-Ingenieur*innen
  • Software-Entwickler*innen
  • Projektleiter*innen
  • IT-Administrator*innen
  • Beschaffer*innen von Individual-Software
INHALTE

Eine gemeinsame Sprache für Software

  • Software als Quellcode/Artefakt/Anwendung
  • Software im Wandel: Wir alle als Teil des soziotechnischen Systems
  • Softwareentwicklung „deconstructed“
  • Bausteine des Software-Lebenszyklus – Akteure/Prozesse/Tools
  • Landkarte der Buzzwords

Motivation: Verstehen der Einflüsse Digitaler Transformation und Künstlicher Intelligenz auf das heutige (Arbeits-)Leben

  • Digitale Transformation - eine Einführung
  • Implikationen der Digitalen Transformation
  • Säulen der Digitalen Transformation
  • ChatGPT, GitHub Copilot & Co. - Künstliche Intelligenz

Dimensionen der Sicherheit von Software

  • Software-Qualität
  • Sicherheit im Code
  • Sicherheit im Betrieb
  • Security-by-Design
  • Privacy-by-Design

Prinzipien des modernen Software-Engineering

  • „Modern“ vs. „veraltet“ (u. a. SOLID-Prinzipien)
  • Neue Anforderungen durch gesellschaftliche Trends
  • Entwicklung im Team als Erfolgsfaktor
  • Nachhaltige Softwareentwicklung

Aktuelle Software-Architekturen: Eine Übersicht

  • Monolithen im Vergleich zu verteilten Systemen (z. B. Microservice-Architekturen)
  • Neue Komplexität in verteilten Systemen: Kommunikation und Konsistenz
  • Synchrone und asynchrone Kommunikation in verteilten Systemen
  • Trade-Offs zwischen verschiedenen Architekturen - welche Architektur ist die richtige für mich?

Cloud-Computing

  • Einführung in Cloud-Computing
  • Cloud-Computing-Modelle
  • Cloud-Sicherheit und Datenschutz
  • Cloud-Wirtschaftlichkeit und Kostenmanagement
  • Auswahl und Evaluierung eines Cloud-Anbieters
  • Cloud-Migration und Implementierung

Keep IT Simple

  • (Notwendige vs. zufällige) Komplexität von Software
  • Vermeide Komplexität der Problemdomäne
  • Vermeide Komplexität der Lösungsdomäne

(Sec)DevOps, CI/CD und Containerisierung

  • Begriffs- und Konzeptdefinitionen
  • Ziele und Lösungsversprechen
  • Paradigmenwechsel durch Abstraktionslayer der Containerisierung
  • Sicherheit im Build-Prozess
  • Implikationen für das soziotechnische System
LERNZIELE

Teilnehmende sind …

  • sich bewusst, dass für eine konstruktive Kommunikation zwischen den beteiligten Rollen zunächst ein gemeinsamer Wortschatz rund um Softwareentwicklung etabliert werden muss, und beherrschen diesen.
  • bereit, Verantwortung im Team zu übernehmen, und können selbstmotiviert in ihrem speziellen Feld tätig sein, um Software erfolgreich (gemäß der Kriterien „modern“ und „sicher“) zu entwickeln.

Teilnehmende kennen …

  • rollenübergreifend (Entwickler*innen, Administrator*innen, Projektleitung, Auftraggeber*innen) grundlegende Begriffe rund um Software bzw. Softwareentwicklung und nutzen dieselbe Sprache.
  • grundlegende Aspekte von Sicherheit sowohl im Softwareentwicklungsprozess als auch während des Betriebs.
  • die grundlegenden Faktoren, welche Software sehr schnell sehr komplex werden lassen, und können somit den Ansatz des „Keep IT simple“ nachvollziehen.
  • die Prinzipien von Continuous Integration und DevOps sowie deren Integration in den Software-Lebenszyklus.
  • den Unterschied zwischen „lokalen“ Anwendungen und Cloud-Anwendungen sowie der verschiedenen dahinterstehenden Betriebsmodelle (finanziell, technisch).
  • verschiedene Architekturstile und Kommunikationsmuster sowie deren grundsätzliche Unterschiede.

Teilnehmende wissen …

  • darum, dass die Digitale Transformation aktuell in vielen Bereichen des (Arbeits-)Lebens vollzogen wird.
  • …, dass und wie sich Software in den letzten Jahren drastisch gewandelt hat inkl. der zugrundeliegenden Softwareentwicklungsprozesse.

Teilnehmende verstehen …

  • den Nutzen einer verbesserten Kommunikation/Zusammenarbeit der Akteure durch DevOps und erkennen, dass Änderungen der Unternehmenskultur notwendig sein können.
  • anhand konkreter Beispiele die Implikationen von (abwesender) Software-Sicherheit.
  • die Implikationen und Effekte der Digitalen Transformation für ihr (Arbeits-)Leben.
  • ..., dass Sicherheit bereits während der Entwicklung berücksichtigt werden muss.
  • die Prinzipien und Implikationen der modernen Softwareentwicklung und des für moderne Software notwendigen IT-Betriebs.
  • …, dass die Entscheidung für eine geeignete Software-Architektur stets individuell zu treffen ist. Dabei verstehen sie auch, dass diese Entscheidungsfindung als Abwägen von Trade-Offs zu betrachten ist, die sich gegenüberstehen.
  • entlang des Software-Lebenszyklus die Gründe für verschiedene Arten „zufälliger Komplexität“ und lernen Gegenmittel kennen.
  • die Implikationen der Softwareentwicklung für lokale Anwendungen und Cloud-Anwendungen sowie die sich daraus ergebenden unterschiedlichen Sicherheitsanforderungen.

Teilnehmende können …

  • einschätzen, wie es um die Sicherheit im gelebten Software-Lebenszyklus der eigenen Organisation bestellt ist.
  • einschätzen, inwiefern sich ihre Rolle und Tätigkeiten durch die Digitale Transformation verändern, und beurteilen, in welchen Prozessen ihres Unternehmens der Einsatz von Künstlicher Intelligenz (KI) denkbar wäre.
  • eigene Anwendungen konzeptuell analysieren, so dass sie geeignete (hybride) Cloud-Betriebsmodelle identifizieren und sinnvolle Features durch Cloud-Dienste substituieren können.
  • die Prozesse in ihrem Arbeitsumfeld identifizieren, welche zu gesteigerter (zufälliger) Komplexität führen, und erste Gegenmaßnahmen vorschlagen sowie umsetzen.
  • beispielhaft für eine eigene Anwendung konzeptuell eine CI/CD-Pipeline identifizieren und für die eigenen Prozesse einen (Sec)DevOps-Zyklus definieren.
  • innerhalb ihrer Organisation konstruktiv rollenübergreifend diskutieren, wie (Sec)DevOps gelebt werden könnte.
  • individuell für Projekte abwägen und begründen, welcher Architekturstil bzw. welche Form von Kommunikation zum Erreichen der jeweiligen Ziele erfolgversprechend ist.
TRAINER

Hannes Restel

Hannes Restel, M.Sc. of Computer Sciences, arbeitet am Fraunhofer-Institut für Offene Kommunikationssysteme FOKUS in Berlin als leitender Wissenschaftler und Projektmanager. Seit 2010 ist er in den Bereichen der Vernetzten Sicherheit und E-Health im Geschäftsbereich ESPRI tätig. Sein Forschungsschwerpunkt liegt auf situationsbezogenen Anwendungen und Frühwarnsystemen im Hinblick auf die wahrgenommene Sicherheit und die Mobile Experience Sampling Method (MESM). Darüber hinaus arbeitet Herr Restel als Software-Architekt und Software-Ingenieur mit Schwerpunkt auf Microservices und DevOps-Paradigmen. In den letzten Jahren ist er zudem als Dozent an der Hochschule für Technik und Wirtschaft Berlin (HTW Berlin) tätig.

 

Johannes Einhaus

Johannes Einhaus, Diplom-Volkswirt, ist seit 2001 wissenschaftlicher Mitarbeiter am Fraunhofer-Institut für Offene Kommunikationssysteme FOKUS in Berlin. Er hat sich in unterschiedlichen Anwendungsgebieten, u. a. dem Bildungsbereich und dem Gesundheitswesen, mit den Potenzialen moderner Informations- und Kommunikationstechnik sowie der Erprobung entsprechender Systeme in der Praxis beschäftigt. Derzeit ist er im Geschäftsbereich ESPRI - Vernetzte Sicherheit beschäftigt.

 

Ben Kraufmann

Ben Kraufmann, Diplom-Informatiker, ist seit 2010 wissenschaftlicher Mitarbeiter am Fraunhofer-Institut für Offene Kommunikationssysteme FOKUS in Berlin. Er ist spezialisiert auf sichere Informationssysteme im Gesundheitswesen und auf Informationssicherheit. Er kombiniert Fachwissen, methodisches Vorgehen und Kreativität, um sichere und innovative Systemlösungen von der Konzeption über die Entwicklung bis zur Inbetriebnahme zu realisieren.

 

Lucas Larisch

Lucas Larisch, M. Sc. Wirtschaftsinformatik, ist am Fraunhofer-Institut für Offene Kommunikationssysteme FOKUS in Berlin beschäftigt. Seit 2023 verstärkt er den Geschäftsbereich ESPRI - Vernetzte Sicherheit als wissenschaftlicher Mitarbeiter in der Software-Architektur und Fullstack-Entwicklung mit einem Schwerpunkt auf verteilten, insbesondere ereignisgesteuerten (event-driven), Systemen. Die Anwendungsgebiete der Projekte, an denen er beteiligt ist, umfassen dabei den Bereich der Öffentlichen Sicherheit wie auch Bildung an Schulen. Des Weiteren vermittelt er sein Wissen im Bereich der Softwareentwicklung als Dozent an der Hochschule für Technik und Wirtschaft in Berlin (HTW Berlin).