Files
Orchestrator/bahn/Analyse-O2C-C2S/output/2026-06-18_reorganisation-it-viwf.py
T
ankn a5f8fb49ab Migrate all repos into monorepo context folders
Bahn: aisupport, Analyse-O2C-C2S, awesome-bahn-mcp-servers, beam-mcp,
      Confluence_Bot, db-planet-mcp-server, O2C-Harness, project-audit,
      Projekt-KIQ-HP, teamlandkarte-mcp
Dhive: Jury-Voting
Privat: CV, NoteGraph (NOTE: NoteGraph needs complete redo after consolidation)
Shared: AI-Orchestrator, OrgMyLife, power_skills_and_more
Shared/references: symphony (read-only)

Bahn repos remain available as independent remotes - this monorepo
pulls them in via subtree, the originals are untouched.
2026-06-30 20:39:52 +02:00

202 lines
8.9 KiB
Python

# -*- 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}")