Software Engineering in der industriellen Praxis - Einführung Christian Schmitz - msg ...
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
SEIP-Vorlesung WS 2020/2021 Unsere Regeln für ein optimales Online-Meeting Bitte schalte das Micro stumm, wenn du nicht sprichst Mute your mic when not speaking Bitte Kamera einschalten ☺ Please turn your video on at all times ☺ Wenn möglich, Headset benutzen Please use a headset if possible Bei Fragen – bitte Hand heben über den Button Use “raise hand” button for questions Oder alternativ im Chat kommentieren Alternatively, comment in chat © msg | WS 2020/2021 | Software Engineering in der industriellen Praxis – Einführung 2
Software Engineering Disciplines & Vorlesung Software Engineering in der industriellen Praxis (SEIP) Modul B.1 Modul A Modul C & D Modul B.2 © msg | WS 2020/2021 | Software Engineering in der industriellen Praxis – Einführung 3
Vorstellung Christian Schmitz Privates Ausbildung • (Noch) Ismaninger • Diplom-Informatiker • Verheiratet • IPMA Level B • 43 Jahre • Scrum Master, Product Owner, SAFe Agilist • 1 Sohn, 1 Tochter • iSAQB Software Architect Erfahrung Referenzen Christian Schmitz • 17 Jahre msg • Projektportfoliomanagement Geschäftsbereichsleiter • 13 Jahre Führung • Internationale Projektleitung • 25 Jahre IT • Projekt-Audits • 21 Jahre Projektmanagement • PM-Coaching • 17 Jahre Banking & Automotive • PM-Vorlesung und -Schulungen © msg | WS 2020/2021 | Software Engineering in der industriellen Praxis – Einführung 2
msg systems ag msg auf einen Blick msg in Zahlen Australien | Brasilien | Bulgarien | China | Deutschland | Frankreich | Großbritannien | Indien | Italien | Kanada | Korea | Kroatien | Niederlande | Österreich | Philippinen | Polen | Portugal | Rumänien | Russland | Schweiz | Serbien | Singapur | Slowakei | Slowenien | Spanien | Tschechische Republik | USA • Gründung: 1980 • Gesellschaftsform: AG, unabhängig • Geografie: D-A-CH, International Standorte Weltweit • Mitarbeiter: > 8.000 • • Umsatz: Lünendonk-Rating: 1.031 Mio. € (2019) Platz 6 unter den erfolgreichsten deutschen IT- 27 Beratungs- und Systemintegrationsunternehmen © msg | WS 2020/2021 | Software Engineering in der industriellen Praxis – Einführung 5
msg systems ag msg auf einen Blick Beratung Achmea | Aptargroup | Bausparkasse Schwäbisch Hall | Bayerisches Landesamt für Steuern | BRUNATA | Deutscher Sparkassenverlag | E.ON | Provinzial Rheinland | Versorgungsanstalt des Bundes und der Länder (VBL) Individuallösungen Allianz | AUDI | BG-PHOENICS | BMW Financial Services | BMW Group | Daimler | DER TOURISTIK | Deutsche Bank | Deutsche Post | Sächsischer Landtag | Versicherungskammer Bayern | VR Leasing Standardsoftware ERGO Hestia | Finanz Informatik | Helvetia | HUK-COBURG | ING Nationale-Nederlanden | Migros Bank | Munich Re | Sparda Banken | Talanx | Vienna Insurance Group | Volkswagen Financial Services | Zurich Insurance Group Branchenunabhängige Services Bausparkasse Schwäbisch Hall | Bayern LB | BSH Hausgeräte | Bundesrat | CSS Kranken-Versicherung AG | Gothaer | PKV-Verband | Provinzial NordWest © msg | WS 2020/2021 | Software Engineering in der industriellen Praxis – Einführung 6
Vorstellung Spannende Aufgaben Einstieg als Werkstudent, Bachelorand/Masterand, Trainee, (Young) Professional • Fachliche Beratung mit vielen verschiedenen Branchenschwerpunkten • Management Consulting • Anwendungsentwicklung in modernen Systemumgebungen • SAP-Consulting fachlich & technisch • Produktentwicklung SAP & weitere • Technologie- & Architekturberatung • Business Intelligence Beratung & Entwicklung • Test- & Qualitätsmanagement • Application Management © msg | WS 2020/2021 | Software Engineering in der industriellen Praxis – Einführung 7
Agenda Software Engineering in der industriellen Praxis - Einführung 1. Beispiele komplexer Software-Engineering Projekte 2. Eigenschaften industrieller SE-Vorhaben © msg | WS 2020/2021 | Software Engineering in der industriellen Praxis – Einführung 8
Agenda Software Engineering in der industriellen Praxis - Einführung 1. Beispiele komplexer Software-Engineering Projekte 2. Eigenschaften industrieller SE-Vorhaben © msg | WS 2020/2021 | Software Engineering in der industriellen Praxis – Einführung 9
1. Beispiele komplexer Software-Engineering Projekte Vision der EGP: Durchgängigkeit und Transparenz durch Integration Accounting, Meldewesen und Controlling & Risikomanagement • Partner: Fiducia & GAD • Branche: Finanzdienstleistungen • Projektart: Entwicklung und Integration • Zeitraum: 2015 – 2021 • Team: ca. 225 Mitarbeitende • Aufwand: > 625 Personenjahre • Technologie (Auszug): • Singlepage-Application auf Basis HTML5, Javascript (VueJS und PatternFly) • Microservices auf Basis der Containertechnologien Docker und Kubernetes • REST Services • Java 11, SpringBoot • InMemory • BigData © msg | WS 2020/2021 | Software Engineering in der industriellen Praxis – Einführung 10
1. Beispiele komplexer Software-Engineering Projekte Die verteilte Projektorganisation ist eine Herausforderung im Gesamtprojekt Münster • Projektmanagement Office Münster Hürth/Köln • Accounting • Datenmanagement • Meldewesen • Datenmanagement Eschborn • Reporting • Datenmanagement • Datenqualität Köln msg Frankfurt • Controlling Fiducia & GAD • Meldewesen • Methode Fiducia & GAD Bretten msg Karlsruhe • Controlling • Methode msg • Methode • Technik msg • Betrieb Stuttgart msg • Meldewesen Fiducia & GAD Aschheim/München • Technik msg Ismaning/München msg • Datenmanagement • Technik Fiducia & GAD • Framework © msg | WS 2020/2021 | Software Engineering in der industriellen Praxis – Einführung 11
1. Beispiele komplexer Software-Engineering Projekte EGP – Software-Engineering-Umgebung (Fließband) Quelle [7]: FAZ © msg | WS 2020/2021 | Software Engineering in der industriellen Praxis – Einführung 12
1. Beispiele komplexer Software-Engineering Projekte Portierung der UC Leasing Herausforderung und Zielsetzung Lösung Kundennutzen Herausforderungen: • Die msgGillardon fungiert in diesem Projekt als • Die technische Expertise von Micro Focus wurde um • Durchführung einer Portierung der Generalunternehmer, als Spezialist für Fachberatung die langjährige Projekterfahrung der msg bei BMW, Leasinganwendung der BMW Bank in das Global Data und Integration mit den Projektschwerpunkten: dem Wissen um die IT-Landschaft des Kunden und Center (GDC) der BMW AG (zOS, LINUX) • „Single-point-of-contact“ dessen Prozesse ergänzt und somit der gemeinsame • Die Herausforderung bestand in der vollständigen • Steuerung eines 30-köpfigen Projektteams verteilt Projekterfolg erzielt. Beibehaltung der Fachlichkeit und Bedienbarkeit, bei über 4 Länder gleichzeitigem Wechsel auf eine moderne • Projekt-Management Technologie. • Qualitätsmanagement • Integration mit bestehenden Systemen und Zielsetzung: Schnittstellen inkl. Middleware und • Ziel war eine 1:1-Umstellung der Applikation. Outputmanagement • Neben einem Redesign obsoleter • Workflow-Steuerung Schnittstellentechnologien sollte die Datenhaltung • Systems Management und Monitoring geändert werden und die alte hierarchisch-relationale • Rollout Management Datenbank des Unisys-Systems durch eine relationale • Knowledge Transfer zum zukünftigen Daten und Fakten Oracle-Datenbank ersetzt werden. Auch die Betriebsverantwortlichen Dauer 12 Monate Darstellung der Online-Masken wurde beibehalten, so dass der Plattformwechsel für die Endanwender nicht Zeitraum 09/2006 – 12/2008 erkennbar war. Team 30 FTE © msg | WS 2020/2021 | Software Engineering in der industriellen Praxis – Einführung 13
1. Beispiele komplexer Software-Engineering Projekte iDEAL – integrated Delivery of an European Application Landscape Herausforderung und Zielsetzung Lösung Kundennutzen Herausforderungen: • Aufteilung der Anforderungen nach Fachdomänen • Anforderungsspezifikation zur Auswahl einer • Das europäische Programm iDEAL ist unterteilt in drei und übergreifende Themen (z.B. Einführungskonzept, Kaufsoftware Module (Frontend, Retail Lease and Loan, Trainingsplan, Migration, Rollout, Archivierung, • Einheitliche Vertriebs-Prozesse Commercial Finance) zur Ablösung des Frontend, der Monitoring, Rollen und Rechte, Cross-Functions) • Harmonisierte IT-Landschaft mit reduzierten Run- Middleware und des Backend in den Pilotmärkten • Folgende fachlichen Kernthemen wurden spezifiziert: Kosten Italien, Großbritannien und Deutschland. • Angebots und Antragsprozess • Im Modul Frontend: Erstellung eines Fach-konzepts • Fahrzeugselektion und Management der finanzabhängigen für die Pilotmärkte für die zukünftige Lösung des Attribute inkl. Restwerttabellen neuen Frontend der BMW FS • Produktmanagement und Kalkulation • Prüfen der Anforderungsvorgaben gegen eine • Parallele Erarbeitung der Themen durch Bildung von Kaufsoftware; Abweichungen abstimmen und Experten-Teams. anpassen. • Planung, Entwicklung und Durchführung von • Harmonisierung der Anforderungen zwischen dem Workshops in den Pilotmärkten und mit den Programm-Kernteam, den Märkten und den Programm-Kernteams mit fachlichen und technischen Softwareanbietern Schwerpunkten • Harmonisierung und Funktionsabgrenzung der Daten und Fakten Zielsetzung: modulübergreifenden Themen und Prozesse mit den • Roll-Out der neuen Lösungen für das FrontEnd, Dauer 14 Monate Middleware und Back-End in den Pilotmärkten ITA, Lösungsanbietern • Erstellung von Interface Contracts und Spezifications Zeitraum 01/2015 – 02/2016 DE, UK bis Ende 2020. Späterer Roll-Out in weiteren europäischen Ländern. • Erstellung von Business Test Cases Team 25 FTE (msg), insgesamt 250 © msg | WS 2020/2021 | Software Engineering in der industriellen Praxis – Einführung 14
1. Beispiele komplexer Software-Engineering Projekte Architektur Touristische Plattform © msg | WS 2020/2021 | Software Engineering in der industriellen Praxis – Einführung 15
1. Beispiele komplexer Software-Engineering Projekte Masterplan 2010/2011 Touristische Plattform © msg | WS 2020/2021 | Software Engineering in der industriellen Praxis – Einführung 16
1. Beispiele komplexer Software-Engineering Projekte Teamgebirge Teamgebirge Zielszenario © msg | WS 2020/2021 | Software Engineering in der industriellen Praxis – Einführung 17
1. Beispiele komplexer Software-Engineering Projekte Organigramm Projekteigner IT Gesamtprojektleitung PMO Qualitätsmanagement Anforderungsmanagement Architektur Training / Schulung Unlimited Leitung: BT Procurement Product / TO R2 TO R2 TO R2 Test (Linie) Calculation Sales After Sales Interfaces Release- TPL TPL TPL TPL TPL TPL manager SW- Fach-/Test- Fach-/Impl.- Fachteam Fachteam Team Testteam Entwicklung team Teams Build-/Konfigurations- Umgebungs- Tools management management © msg | WS 2020/2021 | Software Engineering in der industriellen Praxis – Einführung 18
Agenda Software Engineering in der industriellen Praxis - Einführung 1. Beispiele komplexer Software-Engineering Projekte 2. Eigenschaften industrieller SE-Vorhaben © msg | WS 2020/2021 | Software Engineering in der industriellen Praxis – Einführung 19
2. Eigenschaften industrieller SE-Vorhaben Lebensdauer und Umfang Betriebliche Informationssysteme leben lange • 10, 20 und mehr Jahre • Die Anwendung überlebt viele Framework-Wartungen • Das Anwendungssystem lebt wesentlich länger als die Hardware • Das Anwendungssystem lebt länger als Basis- und Systemsoftware (→ Trennung von Anwendung und Technik!) Betriebliche Informationssystem sind umfangreich und komplex • Ihre technische Struktur erfordert sorgfältige Architektur • Ihre Erstellung erfordert Teams (→ Know-How-Transfer, Einarbeitung) • siehe Block „Architektur“ und Testing • siehe Block „Projektmanagement“ © msg | WS 2020/2021 | Software Engineering in der industriellen Praxis – Einführung 20
2. Eigenschaften industrieller SE-Vorhaben Industrieller Maßstab Größenordnung Aufwand: wird gemessen in „Personenjahren“ (einige wenige bis hin zu sehr vielen) Anzahl Programmzeilen: einige 100.000 bis hin zu Millionen Konsequenzen Teams erforderlich (nicht Einzelpersonen) Steuerung und Organisation erforderlich für Kommunikation, Management, Qualitätssicherung © msg | WS 2020/2021 | Software Engineering in der industriellen Praxis – Einführung 21
2. Eigenschaften industrieller SE-Vorhaben Große Projekte 50 Entwickler arbeiten an 70 Komponenten, die miteinander vernetzt sind – die Grenze von Intuition! GO BVK AM2 AmSupply Tango Lines of Code (fachlich ohne Kommentare) 4,5 Mio 0,8 Mio 0,6 Mio 0,5 Mio 0,4 Mio Anzahl Komponenten 136 13 78 100 19 Anzahl Entwickler (im Schnitt) 60 60 30 40 55 Auswertung großer Software-Engineering Projekte bei sd&m, Stand: Juli 2007 Quelle: sd&m AG © msg | WS 2020/2021 | Software Engineering in der industriellen Praxis – Einführung 22
2. Eigenschaften industrieller SE-Vorhaben Komplexität durch Größe und Vielfalt, nicht durch Tiefe • Größe verursacht durch Komplexität der Anwendung (z.B. Reisebuchungssystem eines Reiseveranstalters, Zahlungsverkehrssystem einer Bank) • Komplexität nicht durch knifflige und tiefgehende Algorithmik, sondern durch Vielzahl (einfacher) Kombinationen Konsequenzen • Klare Begriffe und Definitionen erforderlich (wie im akademischen Bereich) • Standard-Architektur für betriebliche Informationssysteme © msg | WS 2020/2021 | Software Engineering in der industriellen Praxis – Einführung 23
2. Eigenschaften industrieller SE-Vorhaben Verhältnis von Netto-Code zu Brutto-Code Netto-Code = Programmzeilen, die geradeaus das eigentliche Problem lösen Brutto-Code = Netto-Code + Daten-Fehlerbehandlung + System-Fehlerbehandlung + Hilfefunktion + Berechtigungsprüfung + Protokollierung + Datenübertragung (Middleware) + ... © msg | WS 2020/2021 | Software Engineering in der industriellen Praxis – Einführung 24
2. Eigenschaften industrieller SE-Vorhaben Verhältnis von Netto-Code zu Brutto-Code Quotient Netto/Brutto • Typische studentische Übung: =1 • Typisches industrielles System: = 0,5 ... 0,25 Konsequenzen • Architektur: Ausgliederung von Querschnittsfunktionen in separate Module/Komponenten • Werkzeuge: Generierung von schematischen Code-Teilen © msg | WS 2020/2021 | Software Engineering in der industriellen Praxis – Einführung 25
2. Eigenschaften industrieller SE-Vorhaben Große Datenvolumen • 10 Millionen Reiseaufträge pro Jahr, • 5 Millionen Fahrzeugbestellungen pro Jahr, • 5 Millionen Zahlungsaufträge täglich, ... Konsequenzen • Hoch-effiziente Benutzerschnittstelle • Massenverarbeitung im Batch • Performanz ist immer ein Problem • häufig viele Nutzer (insbesondere bei Web-Anwendungen) Transaktionssteuerung erforderlich © msg | WS 2020/2021 | Software Engineering in der industriellen Praxis – Einführung 26
2. Eigenschaften industrieller SE-Vorhaben Es gibt einen Auftraggeber! • Industrielle Systeme müssen bezahlt werden • Ein System wird aus einem geschäftlichen Grund bestellt (nicht aus einem technischen Grund) Konsequenzen • Vertrauen muss erworben werden • Neben technischer Expertise auch echtes Verständnis der anwendungsfachlichen Lösung erforderlich • Psychologische Geschicklichkeit erforderlich • Es gibt eine Abnahme – oder auch nicht • Das System ist gewollt ☺ • siehe Block „Projektmanagement: Wirtschaftlichkeit von IT-Projekten“ © msg | WS 2020/2021 | Software Engineering in der industriellen Praxis – Einführung 27
2. Eigenschaften industrieller SE-Vorhaben Reale Umwelt • Nachbarsysteme • Altsystem-Ablösung Konsequenzen • Netto/Brutto-Quotient schrumpft • Produktive Systeme sind vor Fehlfunktion zu schützen • Vorgehen in Stufen • Parallelbetrieb • Migration © msg | WS 2020/2021 | Software Engineering in der industriellen Praxis – Einführung 28
2. Eigenschaften industrieller SE-Vorhaben Dokumentierte Spezifikation • Ist erforderlich (Team-Fluktuation!) • Typischerweise heute in UML (o.ä.) • Im agilen Vorgehen auch zunehmend über Requirements • Im akademischen Sinne keine formale Spezifikation • Aus Sicht des fachlichen Auftraggebers erscheint sie trotzdem schnell unerträglich technisch formal Konsequenzen • Brücke zwischen Verständlichkeit und Präzision erforderlich © msg | WS 2020/2021 | Software Engineering in der industriellen Praxis – Einführung 29
2. Eigenschaften industrieller SE-Vorhaben Tests • Modul-Tests • Subsystem-Tests • Integrations-Tests (einschließlich Verbindung zu Nachbarsystemen) • Abnahme-Tests • Regressions-Tests • siehe Block „Requirements Engineering, Software Configuration Management & DevOps “ © msg | WS 2020/2021 | Software Engineering in der industriellen Praxis – Einführung 30
2. Eigenschaften industrieller SE-Vorhaben Projekt Management (…auch agil…) • 10-20% des Gesamtaufwands • Planung und Steuerung • Aufwandsschätzung • Change Request Management • Peopleware [Tom DeMarco] • siehe Block „Projektmanagement“ © msg | WS 2020/2021 | Software Engineering in der industriellen Praxis – Einführung 31
2. Eigenschaften industrieller SE-Vorhaben Typisches Delta zwischen Hochschul-Wissen und Industrie-Erfahrung Projektvorgehen Viele Absolventen haben während ihres Studiums keine größeren Projekte durchgeführt. Die wenigen, die bereits ein Projekt durchgeführt haben, kennen meist eine einfachere Organisation (z.B. gleiche Zeitzone) – die in Industrieprojekten oft nicht vorkommt. Klare Sprache – klares Denken Nur wenige Absolventen sind in der Lage, einen Sachverhalt oder eine Handlungsanweisung kurz in klarer, leicht verständlicher Sprache niederzuschreiben (was z.B. einen guten Product Owner auszeichnet). Werkzeug-Kenntnisse Die Absolventen haben zumeist mit akademischen Mitteln Software entwickelt. Die wenigsten kennen den Umgang mit einer Continous Deployment Pipeline oder haben gelernt, den Funktionsumfang einer modernen Entwicklungsumgebung zu nutzen. Programmierung Zwar haben die meisten Absolventen während ihres Studiums das Programmieren gelernt – dies aber unter Rahmenbedingungen, die nicht mit Industrieprojekten vergleichbar ist. (siehe folgende Folie) © msg | WS 2020/2021 | Software Engineering in der industriellen Praxis – Einführung 32
2. Eigenschaften industrieller SE-Vorhaben Entwickeln bei msg ist mehr als in Java zu programmieren – und mehr als an der Hochschule vermittelt werden kann Von 100 Hochschulabsolventen haben (kumulativ): 70% … im Team entwickelt … und 50% … mit gemeinsam gepflegten Code-Teilen … und 20% … zudem mit einer Versionsverwaltung gearbeitet… und 10% … mit der Wartung der erstellten Software andere Entwickler… und 5% … über mehrere Jahre?... und 0% … haben geschäftskritische Software-Teile geschrieben… und 0% … bei dem ein Ausfall im Stundenbereich Millionen kostet? © msg | WS 2020/2021 | Software Engineering in der industriellen Praxis – Einführung 33
Christian Schmitz Geschäftsbereichsleiter msg systems ag +49 (170) 9241329 Robert-Bürkle-Straße 1 christian.schmitz@msg-gillardon.de 85737 Ismaning +49 89 96101-0 Vielen Dank für Ihre Aufmerksamkeit! +49 89 96101-1113 info@msg.group value – inspired by people © msg | WS 2020/2021 | Software Engineering in der industriellen Praxis – Einführung 34
Sie können auch lesen