Rollenuebersicht ausklappbar + Rollen-Glossar bereinigt
- Neuer ausklappbarer Block "Klicke fuer Rollenuebersicht" unter der RACI-Legende (in beiden RACI-Schritten); zeigt die gruppierten Rollen wie das linke Panel. - Rollen-Glossar bereinigt: - "Betrieb (AL B&C / AL App)" -> "Operation Manager (AL B&C/App)" - "Architektur" -> "IT-Architekt" (inkl. betroffener Quiz-Optionen) - SOR aus der Rollenuebersicht entfernt (bleibt Gate-Keeper-Label) - AL Basis & Cloud / AL Applikationen entfernt - Gruppen-Ueberschrift "Management (operative Fuehrung)" -> "Operative Fuehrung" - SOR-Hinweis aus der Rollenuebersicht entfernt - sw.js Cache hochgezaehlt. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
parent
795cfb5087
commit
47c8c9109e
2 changed files with 24 additions and 14 deletions
|
|
@ -480,21 +480,20 @@ const TOUR = {
|
|||
========================================================================= */
|
||||
const ROLLEN = {
|
||||
spm:"Service-Portfolio-Manager", sor:"Service Operations Runde (SOR)",
|
||||
service_owner:"Service Owner", al_basis_cloud:"AL Basis & Cloud",
|
||||
al_applikationen:"AL Applikationen", support_manager:"Support Manager",
|
||||
service_owner:"Service Owner", support_manager:"Support Manager",
|
||||
problem_manager:"Problem Manager", projektleitung:"Projektleitung",
|
||||
betriebsteam:"Betriebsteam", service_support_team:"Service-Support Team",
|
||||
projektteam:"Projektteam", queue_koordinator:"Queue Koordinator",
|
||||
first_level_agent:"1st Level Agent", second_level_agent:"2nd Level Agent",
|
||||
testmanagement:"Testmanagement", architektur:"Architektur",
|
||||
lieferant:"Lieferant", operations_manager:"Betrieb (AL B&C / AL App)", dpm:"Demand Portfolio Manager"
|
||||
testmanagement:"Testmanagement", architektur:"IT-Architekt",
|
||||
lieferant:"Lieferant", operations_manager:"Operation Manager (AL B&C/App)", dpm:"Demand Portfolio Manager"
|
||||
};
|
||||
// Rollen-Glossar fuer das Overlay: gruppiert/eingefaerbt nach den 6 Figuren-Kategorien
|
||||
// (Farbe = Filamentfarbe der Figuren). Deckt alle ROLLEN-Eintraege ab.
|
||||
const ROLLEN_GRUPPEN = [
|
||||
{ label:"Governance (Entscheider)", color:"#c9a227", roles:["spm","service_owner","sor"] },
|
||||
{ label:"Governance (Entscheider)", color:"#c9a227", roles:["spm","service_owner"] },
|
||||
{ label:"Umfeld / Auftraggeber", color:"#7d2e3f", roles:["dpm"] },
|
||||
{ label:"Management (operative Führung)", color:"#2f80c9", roles:["projektleitung","operations_manager","al_basis_cloud","al_applikationen","support_manager","problem_manager"] },
|
||||
{ label:"Operative Führung", color:"#2f80c9", roles:["projektleitung","operations_manager","support_manager","problem_manager"] },
|
||||
{ label:"Operative / Fachexperten", color:"#6b7686", roles:["queue_koordinator","first_level_agent","second_level_agent","testmanagement","architektur"] },
|
||||
{ label:"Externe", color:"#cfd6df", roles:["lieferant"] },
|
||||
{ label:"Teams (Sonderfiguren)", color:"#2f9e57", roles:["betriebsteam","service_support_team","projektteam"] }
|
||||
|
|
@ -744,7 +743,7 @@ const STATIONEN = [
|
|||
raci:[["service_owner","A"],["projektleitung","R"],["betriebsteam","C"],["architektur","C"],["spm","C"]],
|
||||
quiz:[
|
||||
{frage:"Wer trägt die Ergebnisverantwortung (A) für diese Aktivität?",
|
||||
optionen:["Service Owner","Projektleitung","SPM","Architektur"], richtig:0,
|
||||
optionen:["Service Owner","Projektleitung","SPM","IT-Architekt"], richtig:0,
|
||||
expl:"Der (designierte) Service Owner ist Accountable; die Projektleitung führt operativ aus (R)."},
|
||||
{frage:"Welches zentrale Artefakt entsteht hier?",
|
||||
optionen:["Betriebshandbuch","Service-Definition","Review-Bericht","Incident Record"], richtig:1,
|
||||
|
|
@ -758,8 +757,8 @@ const STATIONEN = [
|
|||
raci:[["service_owner","A"],["architektur","R"],["projektteam","R"],["spm","I"]],
|
||||
quiz:[
|
||||
{frage:"Wer führt das Architektur-Design operativ aus (R)?",
|
||||
optionen:["SPM","Service Owner","Architektur","Support Manager"], richtig:2,
|
||||
expl:"Architektur und Projektteam sind Responsible; der Service Owner bleibt Accountable."}
|
||||
optionen:["SPM","Service Owner","IT-Architekt","Support Manager"], richtig:2,
|
||||
expl:"IT-Architekt und Projektteam sind Responsible; der Service Owner bleibt Accountable."}
|
||||
]},
|
||||
{ id:"ds_03", phase:"design", typ:"aktivitaet",
|
||||
name:"Beschreiben des Vorgehens zur Implementierung",
|
||||
|
|
@ -823,7 +822,7 @@ const STATIONEN = [
|
|||
raci:[["projektleitung","A/R"],["architektur","C"],["service_owner","I"],["lieferant","C/I"]],
|
||||
quiz:[
|
||||
{frage:"Wer trägt die Ergebnisverantwortung (A) für die Koordination der Entwicklung?",
|
||||
optionen:["Projektleitung","Architektur","Service Owner","Lieferant"], richtig:0,
|
||||
optionen:["Projektleitung","IT-Architekt","Service Owner","Lieferant"], richtig:0,
|
||||
expl:"Die Projektleitung ist Accountable; Architektur berät (C), der Service Owner ist informiert (I)."}
|
||||
]},
|
||||
{ id:"tr_03", phase:"transition", typ:"aktivitaet",
|
||||
|
|
@ -1420,7 +1419,6 @@ function renderRollen(){
|
|||
html += `<div class="rolleItem"><span class="rDot" style="background:${g.color}"></span><span>${ROLLEN[r]}</span></div>`;
|
||||
});
|
||||
}
|
||||
html += `<p class="akteCount" style="margin-top:14px;line-height:1.45">Hinweis: Die <b>SOR</b> ist ein <b>Gremium</b> (SPM · Betrieb · Support-Manager · Service Owner …), das am Gate-Puck zusammenkommt — keine Einzelfigur.</p>`;
|
||||
$("#rollenList").innerHTML = html;
|
||||
const c = $("#rollenClose"); if(c) c.onclick = ()=> document.body.classList.remove("rollenOpen");
|
||||
}
|
||||
|
|
@ -1876,6 +1874,18 @@ function raciLegendHtml(){
|
|||
`<div class="rlGroup"><div class="rlGroupHead">ergänzend — nice-to-have</div>${erg.map(row).join("")}</div>` +
|
||||
`</div></details>`;
|
||||
}
|
||||
/* Ausklappbare Rollenübersicht (gleiche Inhalte wie das linke Rollen-Panel),
|
||||
direkt unter der RACI-Legende im Aktivitäts-Schritt. */
|
||||
function rollenLegendHtml(){
|
||||
let body = "";
|
||||
for(const g of ROLLEN_GRUPPEN){
|
||||
const items = g.roles.filter(r=>ROLLEN[r])
|
||||
.map(r=>`<div class="rolleItem"><span class="rDot" style="background:${g.color}"></span><span>${ROLLEN[r]}</span></div>`).join("");
|
||||
if(!items) continue;
|
||||
body += `<div class="rlGroup"><div class="rlGroupHead">${g.label}</div>${items}</div>`;
|
||||
}
|
||||
return `<details class="raciLegend rollenLegend"><summary class="rlSummary">Klicke für Rollenübersicht</summary><div class="rlBody">${body}</div></details>`;
|
||||
}
|
||||
|
||||
function renderRun(){
|
||||
renderList();
|
||||
|
|
@ -1919,13 +1929,13 @@ function activitySteps(st){
|
|||
auf:`<p style="margin:0 0 8px">${st.beschreibung}</p><h4 class="aufH">Das fällt darunter</h4><ul>${st.umfasst.map(u=>`<li>${u}</li>`).join("")}</ul>` },
|
||||
{ label:"Verantwortung (R + A)",
|
||||
frage:`Klärt die <b>zwei Pflicht-Rollen</b> dieser Aktivität: Wer setzt sie <b>operativ</b> um (<b>R</b>esponsible) und wer ist <b>rechenschaftspflichtig</b> (<b>A</b>ccountable — genau eine Rolle)? Stellt die Figuren auf die Spielfelder <b>R</b> und <b>A</b> im RACI-Kreis.`,
|
||||
legend: raciLegendHtml(),
|
||||
legend: raciLegendHtml() + rollenLegendHtml(),
|
||||
auf:`<h4 class="aufH">Operativ verantwortlich (R)</h4><div class="roleChips">${(st.raci.filter(([r,c])=>c.includes("R")).map(([r,c])=>`<span class="roleChip">${roleLabel(r)}${c.includes("A")?" (zugleich A)":""}</span>`).join("")) || '<span class="roleChip">— (keine eigene R-Rolle)</span>'}</div>`
|
||||
+ `<h4 class="aufH">Rechenschaftspflichtig (A)</h4><div class="roleChips">${(st.raci.filter(([r,c])=>c.includes("A")).map(([r,c])=>`<span class="roleChip">${roleLabel(r)}</span>`).join("")) || '<span class="roleChip">—</span>'}</div>`
|
||||
+ `<p class="muted" style="margin:10px 0 0;font-size:13px">R und A sind die <b>Pflicht</b>. Beratend (C) bzw. informiert (I) klärt der nächste Schritt (ergänzend).</p>` },
|
||||
{ label:"Beteiligung (C + I)",
|
||||
frage:`Ergänzt nun die <b>beteiligten</b> Rollen (ergänzend, nice-to-have): Wer wird <b>C</b>onsulted (vorab um Rat gefragt), wer nur <b>I</b>nformed (über das Ergebnis)? Stellt die Figuren auf die Spielfelder <b>C</b> und <b>I</b> im RACI-Kreis.`,
|
||||
legend: raciLegendHtml(),
|
||||
legend: raciLegendHtml() + rollenLegendHtml(),
|
||||
auf:`<h4 class="aufH">Konsultiert (C) / Informiert (I)</h4><div class="roleChips">${(st.raci.filter(([r,c])=>c.includes("C")||c.includes("I")).map(([r,c])=>`<span class="roleChip">${roleLabel(r)} · ${c}</span>`).join("")) || '<span class="roleChip">— (keine C/I-Rolle)</span>'}</div>`
|
||||
+ `<h4 class="aufH" style="margin-top:14px">RACI vollständig</h4>${raciTable(st)}` },
|
||||
{ label:"Artefakt", artefakt:true,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue