Coding Insights: Erlebnisorientierte Softwareentwicklung für Business-People
Praxisorientierter Einstieg in die Softwareentwicklung für Business-Professionals, die agile Prinzipien erleben möchten.
Auf einen Blick
Rahmendaten
2 Tage praxisorientiertes Training (remote)
Zielgruppe
- Geschäftsführer:in oder Eigentümer:in eines Tech-orientierten Unternehmens
- Scrum Master oder Agile Coach,
- Berufseinsteiger:innen
- Product Owner
- Quereinsteiger:innen
ohne Programmierhintergrund
Anwendungsbeispiele
- Einstieg in die Softwareentwicklung
- Aufbau von Know-How im Bereich Softwareentwicklung
- Kennenlernen von agiler Arbeitsweise in der Softwareentwicklung
- Konkrete Umsetzung von Code
- Zusammenarbeit in einem Remote-Setup
- Kennenlernen agiler Zusammenarbeit
Beschreibung
Dieser zweitägige Workshop vermittelt den agilen Softwareentwicklungsprozess anschaulich mit wenig Theorie und viel Praxis. Er ist speziell für große Teilnehmer:innenkreise entwickelt, die wenig bis keine IT-Vorkenntnisse haben. Der Workshop beinhaltet interaktive Praxisaufgaben, welche die grundlegenden Konzepte der agilen Entwicklung verständlich erklären und die notwendigen Kenntnisse der Programmiersprache Python näher bringen. Im Lean Coffee werden Fragen aller Art rund um das Thema Softwareentwicklung für die Teilnehmenden beantwortet. Prozess- oder IT-Kenntnisse sind explizit nicht erforderlich.
Zielgruppe
Dieser Workshop eignet sich insbesondere für eine oder mehrere Abteilungen oder Teams, sowie Firmen mit bis zu 100 Teilnehmer:innen. Er richtet sich an folgende Zielgruppen:
- Geschäftsführer:in/Eigentümer:in einer Tech-orientierten Firma, der/die keinen Programmierhintergrund hat, aber verstehen möchte, wie Softwareentwicklung umgesetzt wird und abläuft. Auch ein Gefühl für das Verhältnis von Aufwand zu Geld wird so verständlicher.
- Scrum Master oder Agile Coach ohne Programmierhintergrund, Jobstarter (Ersteinstieg in den Job), Product Owner, die technisches Wissen aufbauen möchten: Wie arbeitet mein Team eigentlich? Welche Prozesse gibt es in meinem Team und was versteckt sich hinter den Begrifflichkeiten? Ziel ist es, die Brücke zwischen Stakeholdern und Entwickler:innen (besser) zu schließen und besseres Anforderungsmanagement zu betreiben.
- Quereinsteiger:innen, die einen Einblick in die Softwareentwicklung bekommen wollen und dann ggf. weitere Kurse in Python machen werden.
Ablauf
In kleineren Teams entwickeln die Teilnehmer:innen gemeinsam, unterstützt durch den/die Trainer:in, eine vollständige kleine Anwendung in einzelnen Schritten. Nach jedem Schritt kommen alle Teams zusammen, präsentieren und feiern ihre Fortschritte und inspirieren sich gegenseitig für die nächste Runde.
Zu Beginn des Workshops wird zunächst der agile Entwicklungsprozess eines modernen Softwareprojekts erklärt. Anschließend werden gemeinsam in kleinen Gruppen (max. 10 Teilnehmer:innen) mit je einer Trainer:in konkrete Programmieraufgaben aus einem Beispielprojekt umgesetzt. Vor der Aufgabe gibt es je eine Einführung. Die Trainer:in gibt Anweisungen und moderiert durch die Aufgabe, während die Teilnehmer:innen interaktiv in der kollaborativen, geteilten Entwicklungsumgebung im Browser teilhaben und jeden Tastenanschlag live verfolgen, sowie selbst Code dazu beisteuern können.
Im Workshop berücksichtigt der/die Trainer:in den technischen Wissensstand der Gruppe und passt die Geschwindigkeit entsprechend an. Ziel ist es, das Verständnis der Komplexität von Software greifbar zu machen und den agilen Entwicklungsprozess durch die Bearbeitung der Aufgaben in regelmäßigen Zyklen (agile Sprints) erlebbar zu gestalten. In einer Demo nach jedem Zyklus erhalten die einzelnen Gruppen Einblicke in alternative Lösungen der anderen Teilnehmer:innen, sowie die Möglichkeit, Fragen zu stellen. Zum Abschluss können alle Teilnehmer:innen ihre Themen und Fragen rund um IT in einem moderierten Format teilen und besprechen.
Voraussetzungen
Für die Bearbeitung der Übungen sind kein spezielles Betriebssystem und keine weitere Software zu installieren, benötigt wird nur ein aktueller Browser und Freude am Mitmachen.
Agenda
- Vorstellung technischer Grundlagen
-
- Vorstellung des modernen Software-Delivery-Prozess von Anforderungsanalyse bis Monitoring
- Vorstellung von Test Driven Development
- Einführung in die Online-IDE im Browser (Aufbau, Ordner- und Dateistruktur)
- Übungsaufgabe 1 (2-3 Iterationen): Erste Programmierschritte
- Kennenlernen der grundlegenden Spracheigenschaften von Python (Variablen, Datentypen, Bedingungen, Funktionen, …)
- Erste Schritte in der Programmierung anhand einfacher Use-Cases
- Erstellen von Unit-Tests und Anwendung von Test-Driven-Development
- Refactoring der gewachsenen Codebasis
- Nutzen der Prinzipien des Separation of Concerns
- Umgang mit Fehlern und deren Behebung (Bugfixing)
- Lean-Coffee
- Brainstorming von Themen rund um Softwareentwicklung und den Übungsaufgaben, sowie Wissenswertes von den Trainern aus dem Projektalltag eines Software-Entwicklers
- Priorisierung der Themen
- Gemeinsamer Austausch/Diskussion über die Themen (Time boxed)
- Übungsaufgabe 2 (3 Iterationen): Fortgeschrittene Use-Cases
- Kennenlernen erweiterter Spracheigenschaften von Python (Schleifen, Datenstrukturen wie Listen, Klassen, …)
- Umsetzung der erweiterten Use-Cases
- Erstellen von Unit-Tests und Anwendung von Test-Driven-Development
- Refactoring der gewachsenen Codebasis
- Übersichtliche Strukturierung von Code durch Kapselung von Informationen mit Klassen
- Best Practices für die Benennung von Variablen, Funktionen und Klassen
- Wie man mit technischen Schulden umgehen sollte
- Wie man mit Resilient Software Design mit unerwarteten Fehlern umgeht
- Wie man Code mit defensiver Programmierung robust gestaltet
- Verwendung von 3rd-Party-Code und deren Fallstricke
Ablauf der einzelnen Iterationen
Der Workshop wird in kurzen Iterationen á 90 Minuten durchgeführt, in denen die wesentlichen Punkte (Planning, Implementierung, Review und Retro) enthalten sind:
- Einleitung: Was ist die Aufgabenstellung und was sind die Inhalte, die in diesem Sprint bearbeitet werden?
- Coding: Gemeinsame Bearbeitung der Aufgabe, zusammen mit der Trainer:in
- Review: Gemeinsame Betrachtung der Lösung und Diskussion über mögliche Alternativen und Verbesserungen. Was ist gut umgesetzt? Was ist verbesserungswürdig?
Retro/Lessons Learned: Was haben wir in dieser Iteration fachlich gelernt? Was haben wir als Team in der Zusammenarbeit gelernt?
- signiertes Teilnahmezertifikat
- firmeninternes Training
- Anpassungen möglich (Agenda, Tech-Stack, Sprache, usw.)
- kleine Trainingsgruppen
Warum inovex Academy?
Unser AngebotDie inovex Academy hat es sich zur Aufgabe gemacht, Wissen über Methoden und Technologien weiterzugeben, die wir in unseren Projekten bereits erfolgreich einsetzen.
Kuratierte Inhalte
Unsere Trainer:innen erstellen in Absprache mit Ihnen ein individuelles Trainingsangebot auf Basis Ihrer Anforderungen.
Anpassbarer Tech Stack
In den exklusiven Trainings können wir Ihren Tech Stack für die Trainingsinhalte berücksichtigen.
Individuelle Hilfestellung
Bei Bedarf können wir das Training auf einen konkreten Use Case Ihres Unternehmens ausrichten und direkt auf Basis Ihrer Daten arbeiten.
Unser Vorgehen bei Trainings
Von der Bedarfsanalyse bis zur Zertifikatsvergabe bieten wir maßgeschneiderte Trainings, die flexibel gestaltet und nach Ihren spezifischen Anforderungen durchgeführt werden.
Wenn Sie an einem Inhouse-Training interessiert sind, beginnen wir im ersten Gespräch, Ihren Bedarf zu ermitteln und Ihre Ziele zu besprechen. Dieses Gespräch bildet die Grundlage für ein erstes Angebot.
Sobald die Rahmendaten geklärt sind, beginnen unsere Trainer:innen mit der Anpassung der Trainingsinhalte. Viele unserer Trainings sind modular aufgebaut und bieten die Möglichkeit, die Agenda flexibel zu gestalten. Trainings, die auf Zertifizierungen vorbereiten, sind dagegen weniger flexibel. Hier können Sie jedoch den inhaltlichen Fokus nach Ihren Wünschen setzen.
Im Vorfeld des Trainings bekommen Sie alle relevanten Informationen zugesendet. Im Anschluss erfolgt das Training in den von Ihnen gewünschten Räumen und zur verabredeten Zeit. Hier richten sich unsere Trainer:innen nach Ihren Anforderungen.
Nach dem Abschluss des Trainings bekommen alle Teilnehmenden eine Urkunde zur Teilnahmebestätigung. Sie bekommen außerdem die Möglichkeit, uns Feedback zu den Inhalten und dem Ablauf zu geben. Wir freuen uns immer über Lob und Verbesserungsvorschläge.