Files
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

338 lines
21 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>O2C + C2S — ART und Team-Übersicht</title>
<style>
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: #f5f5f5; color: #333; padding: 20px; }
h1 { margin-bottom: 8px; font-size: 1.8rem; }
.subtitle { color: #666; margin-bottom: 24px; font-size: 0.95rem; }
.legend { display: flex; gap: 16px; margin-bottom: 24px; flex-wrap: wrap; }
.legend-item { display: flex; align-items: center; gap: 6px; font-size: 0.85rem; }
.legend-dot { width: 14px; height: 14px; border-radius: 3px; }
.container { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
@media (max-width: 900px) { .container { grid-template-columns: 1fr; } }
.bereich { background: #fff; border-radius: 12px; box-shadow: 0 2px 8px rgba(0,0,0,0.08); overflow: hidden; }
.bereich-header { padding: 16px 20px; cursor: pointer; display: flex; justify-content: space-between; align-items: center; }
.bereich-header h2 { font-size: 1.1rem; }
</style>
<style>
.bereich-header .count { background: #eee; border-radius: 12px; padding: 2px 10px; font-size: 0.8rem; color: #555; }
.bereich-header .arrow { transition: transform 0.2s; font-size: 1.2rem; color: #999; }
.bereich.open .arrow { transform: rotate(90deg); }
.bereich-body { display: none; padding: 0 20px 16px; }
.bereich.open .bereich-body { display: block; }
.art { margin-bottom: 12px; }
.art-header { padding: 8px 12px; background: #f8f8f8; border-radius: 8px; cursor: pointer; display: flex; justify-content: space-between; align-items: center; font-size: 0.9rem; font-weight: 600; }
.art-header:hover { background: #f0f0f0; }
.art-teams { display: none; padding: 8px 0 0 12px; }
.art.open .art-teams { display: block; }
.team { padding: 6px 10px; margin: 4px 0; border-left: 3px solid #ddd; font-size: 0.85rem; border-radius: 0 4px 4px 0; background: #fafafa; }
.team:hover { background: #f0f7ff; }
.team .goal { color: #666; font-size: 0.8rem; margin-top: 2px; }
.team .size { color: #999; font-size: 0.75rem; float: right; }
.o2c .bereich-header { background: #e3f2fd; border-left: 4px solid #1976d2; }
.c2s .bereich-header { background: #e8f5e9; border-left: 4px solid #388e3c; }
.o2c .team { border-left-color: #1976d2; }
.c2s .team { border-left-color: #388e3c; }
.former { border-left-color: #bbb !important; background: #f0f0f0 !important; opacity: 0.7; }
.former:hover { opacity: 1; }
.former-section { margin-top: 12px; border-top: 1px dashed #ccc; padding-top: 8px; }
.former-toggle { font-size: 0.8rem; color: #888; cursor: pointer; padding: 4px 8px; background: #f5f5f5; border-radius: 4px; display: inline-block; }
.former-toggle:hover { background: #eee; color: #555; }
.former-list { display: none; }
.former-section.open .former-list { display: block; }
.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 24px; }
.stat { background: #fff; border-radius: 8px; padding: 16px; text-align: center; box-shadow: 0 1px 4px rgba(0,0,0,0.06); }
.stat .num { font-size: 1.6rem; font-weight: 700; }
.stat .label { font-size: 0.8rem; color: #666; margin-top: 4px; }
.blind-spot { background: #fff3e0; border: 1px dashed #f57c00; border-radius: 8px; padding: 12px 16px; margin-top: 16px; }
.blind-spot h3 { font-size: 0.95rem; color: #e65100; margin-bottom: 8px; }
.blind-spot li { font-size: 0.85rem; margin: 4px 0; color: #555; }
</style>
</head>
<body>
<h1>O2C + C2S — ART und Team-Übersicht</h1>
<p class="subtitle">Stand: 17.06.2026 | Quellen: Organigramm-PDFs (Aufbauorganisation) + arija-Confluence | Verifiziert gegen offizielle Team-Übersichten</p>
<div class="stats">
<div class="stat"><div class="num">2</div><div class="label">Bereiche</div></div>
<div class="stat"><div class="num">4 + 10</div><div class="label">ARTs (O2C + C2S)</div></div>
<div class="stat"><div class="num">~900</div><div class="label">Personen gesamt</div></div>
<div class="stat"><div class="num">164 + 736</div><div class="label">O2C + C2S</div></div>
</div>
<div class="legend">
<div class="legend-item"><div class="legend-dot" style="background:#1976d2"></div>O2C (Order2Cash) — 164 Personen</div>
<div class="legend-item"><div class="legend-dot" style="background:#388e3c"></div>C2S (Capacity2Schedule) — 736 Personen</div>
<div class="legend-item"><div class="legend-dot" style="background:#999"></div>Ehemalige Teams</div>
</div>
<div class="container">
<!-- O2C -->
<div class="bereich o2c open">
<div class="bereich-header" onclick="this.parentElement.classList.toggle('open')">
<h2>O2C — Order2Cash</h2>
<span class="count">4 ARTs, 164 Personen</span>
<span class="arrow"></span>
</div>
<div class="bereich-body">
<!-- ART pathOS -->
<div class="art open">
<div class="art-header" onclick="this.parentElement.classList.toggle('open')">
ART pathOS (Bestellsystem) <span class="count">53 Personen, 5 Teams</span>
</div>
<div class="art-teams">
<div class="team"><strong>Backend</strong><span class="size">14</span><div class="goal">Services, Prozesse, Schnittstellen (Fusion aus CIB + Zero)</div></div>
<div class="team"><strong>Frontend</strong><span class="size">10</span><div class="goal">Portal UI + Middleware (ehem. Team 404)</div></div>
<div class="team"><strong>Ops Squad</strong><span class="size">10</span><div class="goal">CI/CD, Deployment, Monitoring, Betrieb (inkl. ehem. SUBP)</div></div>
<div class="team"><strong>ProF</strong><span class="size">9</span><div class="goal">Produkt & Fachlichkeit (neu ab PI 41)</div></div>
<div class="team"><strong>FbF & 2nd Level Support</strong><span class="size">7</span><div class="goal">Fachliche Betriebsführung + Support</div></div>
<div class="former-section" onclick="this.classList.toggle('open')">
<div class="former-toggle">▸ Ehemalige Teams anzeigen</div>
<div class="former-list">
<div class="team former"><strong>Team CIB</strong><div class="goal">→ aufgegangen in Backend (PI 41)</div></div>
<div class="team former"><strong>Team Zero</strong><div class="goal">→ aufgegangen in Backend (PI 41)</div></div>
<div class="team former"><strong>Team 404</strong><div class="goal">→ umbenannt in Frontend (PI 41)</div></div>
<div class="team former"><strong>Team STeam</strong><div class="goal">→ aufgelöst, Aufgaben auf OPs + Teams verteilt (PI 39)</div></div>
<div class="team former"><strong>Team SUBP</strong><div class="goal">→ aufgenommen in Operations Squad</div></div>
</div>
</div>
</div>
</div>
<!-- ART Abrechnung -->
<!-- Coruscant, Rogue One, XWing gehören hierher, NICHT zu #Einfachbahn (Confluence-verifiziert) -->
<div class="art">
<div class="art-header" onclick="this.parentElement.classList.toggle('open')">
ART Abrechnung / AC Trasse <span class="count">52 Personen, 4 Teams</span>
</div>
<div class="art-teams">
<div class="team"><strong>Team Coruscant</strong><span class="size">23</span><div class="goal">AC Trasse Entwicklung</div></div>
<div class="team"><strong>Team Rogue One</strong><span class="size">8</span><div class="goal">AC Trasse Entwicklung</div></div>
<div class="team"><strong>Team XWing</strong><span class="size"></span><div class="goal">AC Trasse Testing/QA</div></div>
<div class="team"><strong>Taskforce Wookies</strong><span class="size">3</span><div class="goal">AC Trasse</div></div>
<div class="team"><strong>Team SAP (BRIM)</strong><span class="size"></span><div class="goal">SAP-Integration, extern bei FIO.I4 (Ansprechpartnerin: Nadine Saidi)</div></div>
</div>
</div>
<!-- ART APN -->
<div class="art">
<div class="art-header" onclick="this.parentElement.classList.toggle('open')">
ART APN (Anlagenportal Netz) <span class="count">36 Personen, 4+ Teams</span>
</div>
<div class="art-teams">
<div class="team"><strong>Abstellgleis 9 3/4</strong><span class="size">9</span><div class="goal">APN Entwicklung</div></div>
<div class="team"><strong>Volta</strong><span class="size">6</span><div class="goal">APN Entwicklung</div></div>
<div class="team"><strong>Team 3</strong><span class="size">5</span><div class="goal">APN Entwicklung</div></div>
<div class="team"><strong>Feature Team VE / Baku</strong><span class="size">9</span><div class="goal">APN Vermarktung/Entwicklung</div></div>
<div class="team"><strong>APN Academy</strong><span class="size">5</span><div class="goal">Business Analysten, Schulung</div></div>
</div>
</div>
<!-- DigiPaLö -->
<div class="art">
<div class="art-header" onclick="this.parentElement.classList.toggle('open')">
DigiPaLö (#Einfachbahn) <span class="count">11 Personen</span>
</div>
<!-- ACHTUNG: Coruscant, Rogue One, XWing gehören NICHT hierher (ART Abrechnung, Confluence-verifiziert) -->
<div class="art-teams">
<div class="team"><strong>PM: Claudia Froldi</strong><div class="goal">Product Manager, RTE und System Architect in Personalunion</div></div>
<div class="team" style="border-left-color:#f57c00; background:#fff8e1;"><strong>⚠️ Teamstruktur</strong><div class="goal">Keine agilen Teams im Organigramm ausgewiesen — Themenblöcke: Große Lösungen, Kleine Lösungen, Kundenportal</div></div>
</div>
</div>
</div>
</div>
<!-- C2S -->
<div class="bereich c2s open">
<div class="bereich-header" onclick="this.parentElement.classList.toggle('open')">
<h2>C2S — Capacity2Schedule</h2>
<span class="count">10 ARTs, 736 Personen</span>
<span class="arrow"></span>
</div>
<div class="bereich-body">
<!-- ART Uj Konstruktion -->
<div class="art">
<div class="art-header" onclick="this.parentElement.classList.toggle('open')">
ART Uj Konstruktion <span class="count">153 Personen, 8 Teams</span>
</div>
<div class="art-teams">
<div class="team"><strong>Team Nexus</strong><span class="size">13</span><div class="goal">UjK Entwicklung</div></div>
<div class="team"><strong>Team Adams</strong><span class="size">16</span><div class="goal">UjK Entwicklung</div></div>
<div class="team"><strong>Team Flow</strong><span class="size">16</span><div class="goal">UjK Entwicklung</div></div>
<div class="team"><strong>Team Ains</strong><span class="size">13</span><div class="goal">Migration IFP → SIC OP</div></div>
<div class="team"><strong>Team FaPS</strong><span class="size">12</span><div class="goal">UjK Entwicklung</div></div>
<div class="team"><strong>Team Galaxy</strong><span class="size">11</span><div class="goal">UjK Entwicklung</div></div>
<div class="team"><strong>Team PlanBau</strong><span class="size">23</span><div class="goal">UjK Baufahrplan</div></div>
<div class="team"><strong>Team Bestand (Best)</strong><span class="size">32</span><div class="goal">UjK Bestand</div></div>
</div>
</div>
<!-- ART Uj Veröffentlichung -->
<div class="art">
<div class="art-header" onclick="this.parentElement.classList.toggle('open')">
ART Uj Veröffentlichung <span class="count">80 Personen, 6 Teams</span>
</div>
<div class="art-teams">
<div class="team"><strong>Team BIS</strong><span class="size">12</span><div class="goal">UjV Entwicklung</div></div>
<div class="team"><strong>Team Juice</strong><span class="size">10</span><div class="goal">UjV Entwicklung</div></div>
<div class="team"><strong>Team Triton</strong><span class="size">7</span><div class="goal">UjV Entwicklung</div></div>
<div class="team"><strong>Team Adapt</strong><span class="size">12</span><div class="goal">UjV Entwicklung</div></div>
<div class="team"><strong>Team Hermes</strong><span class="size">12</span><div class="goal">UjV Entwicklung</div></div>
<div class="team"><strong>Team Merkur</strong><span class="size">12</span><div class="goal">UjV Entwicklung</div></div>
</div>
</div>
<!-- ART SuN -->
<div class="art">
<div class="art-header" onclick="this.parentElement.classList.toggle('open')">
ART SuN (Scheduling und Netz) <span class="count">122 Personen, 8 Teams</span>
</div>
<div class="art-teams">
<div class="team"><strong>Team Rocket</strong><span class="size">8</span><div class="goal">SuN Entwicklung</div></div>
<div class="team"><strong>Team Netzfahrplan</strong><span class="size">14</span><div class="goal">SuN Netzfahrplan</div></div>
<div class="team"><strong>Team TADA</strong><span class="size">15</span><div class="goal">SuN Entwicklung (Jira: NEXTTADA)</div></div>
<div class="team"><strong>Team Catena</strong><span class="size">15</span><div class="goal">SuN Entwicklung</div></div>
<div class="team"><strong>Team Flux</strong><span class="size">11</span><div class="goal">SuN Entwicklung</div></div>
<div class="team"><strong>Team FaMe</strong><span class="size">11</span><div class="goal">SuN Fahrplan-Merger</div></div>
<div class="team"><strong>Team Atlas</strong><span class="size">13</span><div class="goal">SuN Entwicklung</div></div>
<div class="team"><strong>Team Fuse</strong><span class="size">12</span><div class="goal">SuN Entwicklung</div></div>
</div>
</div>
<!-- ART IDBF -->
<div class="art">
<div class="art-header" onclick="this.parentElement.classList.toggle('open')">
ART IDBF (Infrastrukturdaten für Betrieb und Fahrplan) <span class="count">49 Personen, 6 Teams</span>
</div>
<div class="art-teams">
<div class="team"><strong>Team InfraHub</strong><span class="size">9</span><div class="goal">IDBF Infrastrukturdaten</div></div>
<div class="team"><strong>Team Origami</strong><span class="size">5</span><div class="goal">IDBF UX/Frontend</div></div>
<div class="team"><strong>Team Skyforge</strong><span class="size">5</span><div class="goal">IDBF Backend/Plattform</div></div>
<div class="team"><strong>Team BLISS</strong><span class="size">3</span><div class="goal">IDBF</div></div>
<div class="team"><strong>Team IMPuls</strong><span class="size">10</span><div class="goal">IDBF Anforderungen, Kommunikation BIDM</div></div>
<div class="team"><strong>Team Mändëlbröd</strong><span class="size">8</span><div class="goal">IDBF</div></div>
<div class="former-section" onclick="this.classList.toggle('open')">
<div class="former-toggle">▸ Ehemalige Teams anzeigen</div>
<div class="former-list">
<div class="team former"><strong>Team PHOENIX</strong><div class="goal">→ Vorläufer, aufgegangen in neue Teamstruktur</div></div>
<div class="team former"><strong>Team Blaupause</strong><div class="goal">→ archiviert 05/2026</div></div>
</div>
</div>
</div>
</div>
<!-- ART CM -->
<div class="art">
<div class="art-header" onclick="this.parentElement.classList.toggle('open')">
ART Capacity Management (CM) <span class="count">44 Personen, 4 Teams</span>
</div>
<div class="art-teams">
<div class="team"><strong>Team Analytics Dashboards</strong><span class="size">8</span><div class="goal">CM Datenanalyse</div></div>
<div class="team"><strong>Team CMDP Crush</strong><span class="size">10</span><div class="goal">CM Data Platform</div></div>
<div class="team"><strong>Team CMDP Marlin</strong><span class="size">11</span><div class="goal">CM Data Platform</div></div>
<div class="team"><strong>Team Business Intelligence</strong><span class="size">8</span><div class="goal">CM BI</div></div>
</div>
</div>
<!-- ART BARD -->
<div class="art">
<div class="art-header" onclick="this.parentElement.classList.toggle('open')">
ART BARD <span class="count">63 Personen, 5 Teams</span>
</div>
<div class="art-teams">
<div class="team"><strong>PzE</strong><span class="size">11</span><div class="goal">BARD Entwicklung</div></div>
<div class="team"><strong>AST</strong><span class="size">18</span><div class="goal">BARD Entwicklung</div></div>
<div class="team"><strong>BaBeDas</strong><span class="size">11</span><div class="goal">BARD Entwicklung</div></div>
<div class="team"><strong>FOps</strong><span class="size">11</span><div class="goal">BARD Fachliche Operations</div></div>
<div class="team"><strong>InfraTec</strong><span class="size">4</span><div class="goal">BARD Infrastruktur/Technik</div></div>
</div>
</div>
<!-- ART Kommunikation -->
<div class="art">
<div class="art-header" onclick="this.parentElement.classList.toggle('open')">
ART Kommunikation (KOM) <span class="count">64 Personen, 6 Teams</span>
</div>
<div class="art-teams">
<div class="team"><strong>Team Carpo</strong><span class="size">10</span><div class="goal">Regelkommunikation</div></div>
<div class="team"><strong>Team Io</strong><span class="size">9</span><div class="goal">Regelkommunikation</div></div>
<div class="team"><strong>Team Metis</strong><span class="size">9</span><div class="goal">Regelkommunikation</div></div>
<div class="team"><strong>Team Pandia</strong><span class="size">10</span><div class="goal">Regelkommunikation</div></div>
<div class="team"><strong>Team Europa</strong><span class="size">8</span><div class="goal">Regelkommunikation</div></div>
<div class="team"><strong>Team Dia</strong><span class="size">7</span><div class="goal">Regelkommunikation</div></div>
</div>
</div>
<!-- ART KuK -->
<div class="art">
<div class="art-header" onclick="this.parentElement.classList.toggle('open')">
ART KuK (Kapazität und Konflikt) <span class="count">40 Personen, 4 Teams</span>
</div>
<div class="art-teams">
<div class="team"><strong>Team Cortex</strong><span class="size">7</span><div class="goal">KuK Entwicklung</div></div>
<div class="team"><strong>Team Hippocampus</strong><span class="size">10</span><div class="goal">KuK Entwicklung</div></div>
<div class="team"><strong>Team Iris</strong><span class="size">8</span><div class="goal">KuK Entwicklung</div></div>
<div class="team"><strong>Team Thalamus</strong><span class="size">11</span><div class="goal">KuK Entwicklung</div></div>
</div>
</div>
<!-- ART Plattform -->
<div class="art">
<div class="art-header" onclick="this.parentElement.classList.toggle('open')">
ART Plattform <span class="count">47 Personen, 4 Teams</span>
</div>
<div class="art-teams">
<div class="team"><strong>Operations</strong><span class="size">13</span><div class="goal">Plattform-Betrieb</div></div>
<div class="team"><strong>Core</strong><span class="size">9</span><div class="goal">Plattform-Kern</div></div>
<div class="team"><strong>Enablement</strong><span class="size">12</span><div class="goal">Plattform-Befähigung, Self-Service</div></div>
<div class="team"><strong>KITE</strong><span class="size">5</span><div class="goal">Plattform-Tooling</div></div>
</div>
</div>
<!-- Übergreifend -->
<div class="art">
<div class="art-header" onclick="this.parentElement.classList.toggle('open')">
Übergreifende Teams & Projekte <span class="count">diverse</span>
</div>
<div class="art-teams">
<div class="team"><strong>Team QuEST</strong><span class="size">17</span><div class="goal">Qualität, End-to-End System Testing</div></div>
<div class="team"><strong>Cockpit</strong><span class="size">13</span><div class="goal">Solution-Cockpit, Steuerung C2S</div></div>
<div class="team"><strong>FSTOR</strong><span class="size">6</span><div class="goal">Fahrplan-Storage</div></div>
<div class="team"><strong>TTT-Projekt</strong><span class="size">8</span><div class="goal">Technische Projektleitung</div></div>
<div class="team"><strong>VT Architekturteam</strong><span class="size">3</span><div class="goal">Verfahrenstechnik Architektur</div></div>
<div class="team"><strong>AnnexVII</strong><span class="size">3</span><div class="goal">Regulatorik</div></div>
</div>
</div>
</div>
</div>
</div>
<!-- Blinde Flecken -->
<div class="blind-spot">
<h3>⚠️ Blinde Flecken — Noch nicht vollständig in der Analyse</h3>
<ul>
<li><strong>Team-Ziele/Produkte</strong> — Viele Teams haben im Organigramm keine Produkt-/Zielbeschreibung. Zu vertiefen über Confluence/Jira.</li>
<li><strong>Jira-Metriken</strong> — Velocity, Bug-Rates, Sprint-Metriken (benötigt VPN).</li>
<li><strong>GitLab Code-Ownership</strong> — Welches Team besitzt welche Repos?</li>
<li><strong>Abhängigkeiten zwischen ARTs</strong> — Welche Teams interagieren?</li>
<li><strong>DB Planet</strong> — Kein Zugriff von extern (Intranet), manuelle Extraktion nötig.</li>
</ul>
</div>
<script>
// Auto-collapse all ARTs on load (keep Bereiche open)
document.querySelectorAll('.art').forEach(a => a.classList.remove('open'));
</script>
</body>
</html>