# -*- coding: utf-8 -*- import sys from pathlib import Path SKILL_DIR = Path.home() / ".kiro" / "skills" / "pptx-infrago" / "assets" sys.path.insert(0, str(SKILL_DIR)) from db_infrago_pptx import ( open_deck, save, add_notes, background_image_path, add_titel_bild_schwarz, add_statement_rot, add_titel_und_2_inhalte, add_titel_und_inhalt, add_kapiteltrenner_weiss, add_tabelle, add_ende_bild, ) FOOTER = "DB InfraGO AG | Helena Gruber | V.IWF 9 | 2026" KLASSIFIZIERUNG = "DB Vertraulich / DB confidential" prs = open_deck() # --- Folie 1: Titel --- slide = add_titel_bild_schwarz( prs, titel="Reorganisation IT V.IWF", untertitel="Neuschnitt der IT-Abteilung entlang Annex VII Konsultationsphasen", bild=background_image_path("weltkugel"), kategorie="Strategie", footer=FOOTER, klassifizierung=KLASSIFIZIERUNG, ) add_notes(slide, "Ziel: Vorstellung des Vorschlags zur Neuorganisation der IT im Bereich V.IWF. Zwei Varianten (C und D) werden vorgestellt.") # --- Folie 2: Statement --- slide = add_statement_rot( prs, titel="", statement="173 interne IT-Mitarbeitende auf 2 Abteilungen verteilt. 33 weitere IT-Aufgaben liegen ohne klare Ownership in 7 Fachabteilungen.", footer=FOOTER, klassifizierung=KLASSIFIZIERUNG, ) add_notes(slide, "Kernproblem: IT ist fragmentiert. IWF 1 (128 MA) und IWF 9 (45 MA) machen IT, aber auch IWF 2-8 haben IT-Aufgaben in ihren FuBen - ohne dedizierte IT-Verantwortung.") # --- Folie 3: IST-Zustand --- slide = add_titel_und_2_inhalte( prs, titel="IST: Zwei getrennte IT-Abteilungen", bullets_links=[ "V.IWF 1 - Digitalisierung Fahrplan & KM", "Leitung: Anatol Scholz | 128 MA", "IWF 11 Anforderungsmanagement (43)", "IWF 12 neXt Lab (30)", "IWF 13 Projekte Fahrplan (15)", "IWF 14 Regelwerk & Architektur (11)", "IWF 15 Solution Management (12)", "IWF 16 Infrastrukturdaten (10)", ], bullets_rechts=[ "V.IWF 9 - Digitale Vertriebsprodukte", "Leitung: Helena Gruber | 45 MA", "IWF 91 Digitale Partnerloesungen (10)", "IWF 92 Business IT Vertriebsprodukte (22)", "Data Team (Ltg. Germany, 5)", "Querschnitt/Steuerung (3)", "", "Zusaetzlich: ~727 ext. in Value Teams", ], footer=FOOTER, klassifizierung=KLASSIFIZIERUNG, ) add_notes(slide, "IWF 1 fuer C2S-Fahrplan, IWF 9 fuer O2C-Vertrieb. Dazu ~727 externe. IWF 2-8 haben zusaetzlich eigene IT-Aufgaben in ihren FuBen.") # --- Folie 4: Zahlen --- slide = add_tabelle( prs, titel="Handlungsbedarf in Zahlen", header=["Kennzahl", "Bedeutung"], zeilen=[ ["658", "Mitarbeitende im Bereich V.IWF (Dr. Feil)"], ["173", "Interne IT-Mitarbeitende (IWF 1 + IWF 9)"], ["33", "IT-Aufgaben in Fach-Abt. ohne IT-Ownership"], ["42-64", "Personen-Transfer in die IT-Abteilung"], ["215-237", "IT-Abteilung nach Transition (12 Teams)"], ], footer=FOOTER, klassifizierung=KLASSIFIZIERUNG, ) add_notes(slide, "658 MA Bereich. 173 IT. 33 IT-Aufgaben verstreut. Transfer 42-64. Ergebnis: 215-237 MA in IT-Abt.") # --- Folie 5: Kapiteltrenner Variante C --- slide = add_kapiteltrenner_weiss( prs, titel="Variante C", untertitel="IT-Abteilung entlang Annex VII Phasen", footer=FOOTER, klassifizierung=KLASSIFIZIERUNG, ) # --- Folie 6: Variante C Tabelle --- slide = add_tabelle( prs, titel="Variante C - IT-Teams nach Konsultationsphasen", header=["Phase", "IT-Themen", "Pers.", "Systeme"], zeilen=[ ["KP 4\nLangfrist", "Kapazitaetsstrategie,\nRahmenvertraege", "~20", "InKa (Langfrist),\niTrace, Segmentierung"], ["KP 3\nNetzfahrplan", "Netzfahrplan,\nBaufahrplan", "~43", "KonBel, TAKT,\nBBPneo, strecken.zeit"], ["KP 2\nUnterjaehrig", "Unterjaehrl. FP, GelV,\nBaubetriebsplanung", "~30", "UjK, UjV, TrassenOrder,\nBBP, PAULA, APN"], ["KP 1\nKurzfristig", "Kapazitaetssteuerung,\nKommunikation, Betrieb", "~35", "Portal Erstanmeldung,\nDB Livemaps, strecken.info"], ["Aftersales", "Abrechnung,\nKundenaustausch", "~20", "AC Trasse, SAP BRIM,\nInfraportal, Data Team"], ["Orga &\nQuerschnitt", "Leitung, FBF,\nSolution/Architektur", "~25", "SIC OP Strategie,\nPlattform, Projekte"], ], footer=FOOTER, klassifizierung=KLASSIFIZIERUNG, ) add_notes(slide, "Phase KP 1 = Kapazitaetssteuerung + kurzfristiger Fahrplan (ex-IWF 5 + Teile IWF 4). Phase KP 2 = unterjaehrig inkl. Baubetrieb (ex-IWF 4). Leitung: Helena Gruber, Chief Expert: Anatol Scholz.") # --- Folie 7: Kapiteltrenner Variante D --- slide = add_kapiteltrenner_weiss( prs, titel="Variante D", untertitel="Ziel-Organisation Gesamtbereich V.IWF", footer=FOOTER, klassifizierung=KLASSIFIZIERUNG, ) # --- Folie 8: Variante D Bereich gesamt --- slide = add_titel_und_inhalt( prs, titel="Variante D - Bereich V.IWF nach Reorganisation", bullets=[ "Bereichsleitung: Dr. Matthias Feil | ~760 MA", "7 Abteilungen nach Annex VII Phasen:", "1. KP 4 Langfristplanung (Engelbach, ~130)", "2. KP 3 Netzfahrplan (Poehle, ~105)", "3. KP 2 Unterjaehrl. FP & Baubetrieb (Homfeld, ~110)", "4. KP 1 Kapazitaetssteuerung & Kurzfrist (Fuerstner, ~44)", "5. Netzzugang & Regulierung (Etzold, 25 - unveraendert)", "6. Aftersales & Markt (Fett, ~40)", "7. Digitalisierung & IT (Gruber/Scholz, ~215-237)", "8. Regionale FP-Org. FV & GV (Fett, ~100) - NEU", ], footer=FOOTER, klassifizierung=KLASSIFIZIERUNG, ) add_notes(slide, "Neuschnitt nach Annex VII. IWF 6 bleibt. IWF 7+8 fusioniert unter Matthias Fett zur Regionalen Fahrplanorganisation Fernverkehr und Gueterverkehr (~100 MA). IT-Abt. (IWF 1+9 fusioniert + Transfers) wird groesste Abt. Prinzip: Fach = WHAT, IT = HOW.") # --- Folie 9: IT-Abteilung Detail --- slide = add_tabelle( prs, titel="IT-Abteilung: 12 Teams (Gruber / Scholz)", header=["Team", "MA", "Kern-Systeme / Aufgaben"], zeilen=[ ["Fahrplan-IT", "25", "KonBel, TAKT, BBP, PAULA"], ["Kundenportale", "20", "Infraportal, Trassenfinder, Portal Erstanmeldung"], ["Data & Analytics", "20", "InKa, ML-Modelle, Kapazitaetstransparenz"], ["Business IT Vertrieb", "22", "pathOS, TPN, APN, Abrechnungs-IT"], ["Simulation & Modelle", "15", "Zugfahrtsimulation, Optimierung Bauprogramme"], ["neXt / Schnelle Loesungen", "25", "#Einfachbahn, DB Livemaps, strecken.info"], ["Infrastrukturdaten", "15", "IDBF, strecken.zeit"], ["Bau-IT", "15", "BBPneo, BAPSI, KomBAU, Bauprognose-App"], ["FBF & Support", "20", "Fusioniert: FBF Fahrplan + FBF Bau + 2nd Level"], ["Solution / Architektur", "12", "SIC OP Strategie, uebergreifend"], ["Projekte", "15", "TTTneo, uebergreifende IT-Projekte"], ["Leitung + Regelwerk", "6", "Gruber, Scholz, fachliche Architektur"], ], footer=FOOTER, klassifizierung=KLASSIFIZIERUNG, ) add_notes(slide, "12 Teams, alle zwischen 12 und 25 Personen (intern). Klare Ownership pro System/Domaene. FBF fusioniert aus IWF 111 + IWF 112 + Support IWF 9. Data Team (Germany) fachlich Aftersales, org. in Data & Analytics.") # --- Folie 10: Uebergangsmatrix --- slide = add_tabelle( prs, titel="Uebergangsmatrix - Top-Transfers in die IT-Abteilung", header=["IT-Aufgabe", "Quell-OE", "Ziel-Team", "Pers.", "Prio"], zeilen=[ ["Portal Erstanmeldung + ML", "IWF 52 (19 MA)", "Kundenportale / Data", "7-11", "Hoch"], ["Zugfahrtsimulation + DB", "IWF 34 (11 MA)", "Simulation & Modelle", "3-5", "Hoch"], ["Digitalisierung BBP/PAULA", "IWF 4 (80 MA)", "Fahrplan-IT", "3-5", "Hoch"], ["IT-Anforderungen NFP", "IWF 331 (34 MA)", "Fahrplan-IT", "2-3", "Hoch"], ["Vertriebsprozesse Digit.", "IWF 7 (47 MA)", "Business IT Vertrieb", "3-5", "Hoch"], ["Abrechnungssysteme", "IWF 72 (22 MA)", "Business IT Vertrieb", "2-3", "Mittel"], ["IT-Anwendungen SE+IA/Trasse", "IWF 81+82 (21 MA)", "Business IT Vertrieb", "2-4", "Mittel"], ["Math. Optimierung Bau", "IWF 22 (37 MA)", "Simulation & Modelle", "2-4", "Mittel"], ["Tools Kapazitaetstransparenz", "IWF 21 (24 MA)", "Data & Analytics", "2-3", "Mittel"], ["Data Governance / CDO", "IWF 6 (25 MA)", "Data & Analytics", "1-2", "Niedrig"], ], footer=FOOTER, klassifizierung=KLASSIFIZIERUNG, ) add_notes(slide, "Hoch = sofort. Mittel = 6 Monate. Niedrig = 12 Monate. Gesamt: 42-64 Personen. Prinzip: Wer IT-Aufgaben laut FuBe hat, wechselt in IT-Abt. Fachliche Steuerung bleibt in KP-Abteilungen.") # --- Folie 11: Schlussfolie --- slide = add_ende_bild( prs, titel="Naechste Schritte:\nAbstimmung Variante - Transitionsplanung", bild=background_image_path("ice_bahnsteig"), ) # --- Speichern --- out_path = r"c:\Users\AndreKnie\OneDrive - Deutsche Bahn\Coden\Orchestrator\Analyse-O2C-C2S\output\2026-06-18_reorganisation-it-viwf-v2.pptx" out = save(prs, out_path) print(f"Datei erzeugt: {out}")