Filipe: "ich will dass diese zwei kategorien perfektionniert werden, ich
will dass fertige aufgaben da stehen und so ... so dass dogfather und
rechte hand es so einfach wie möglich haben aber so professionell wie
auch nur möglich."
Bis heute waren beide Kacheln ein leeres Formular: Titel tippen, Art
wählen, Text schreiben. Ein leeres Feld beantwortet keine Frage — es
stellt sie noch einmal.
ENTWICKLUNG: 34 Beobachtungen in fünf Blöcken, vier Antworten je Zeile
(Läuft · Wächst gerade · Da hakt es · Kann ich nicht sagen). Es sind
BEOBACHTUNGEN, keine Eigenschaften — "Absagen kommen rechtzeitig" statt
"ist zuverlässig". Eine Eigenschaft kann man nur bestätigen oder
bestreiten; ein Verhalten kann man gesehen haben oder nicht.
TALENTE: 21 Merkmale in fünf Gruppen, 6 Warnzeichen getrennt geführt,
fünf Trichterstufen mit je GENAU EINEM nächsten Schritt. Eine Liste
wächst und wird nie wieder angesehen; ein Trichter fragt bei jeder Karte
"und jetzt?". Die Standzeit steht dabei — "seit 41 Tagen beobachtet"
ist eine Auskunft über uns, nicht über den Kandidaten.
VIER RIEGEL, JEDER MIT GEGENPROBE:
· Block 5 ("Wie geht es dir damit?") gehört der Person — lesend UND
schreibend, auch vor DogFather. Er kommt gar nicht erst aus dem
Server; Schreiben gibt dasselbe 404 wie ein erfundener Schlüssel.
Nach außen dringt eine Ampel OHNE Namen, und die schweigt, solange
das Team so klein ist, dass "jemandem geht es zu viel" dasselbe wäre
wie ein Name.
· Der Stand des anderen kommt erst nach dem eigenen Klick — sonst
klickt man dasselbe. Sichtbar ist nur, DASS es einen gibt: sonst
sähen "noch niemand" und "du darfst es nicht sehen" gleich aus.
· "Da hakt es" ohne Anlass wird abgelehnt. "Läuft" nicht — 28
Pflichtfelder je Person wären das Gegenteil von "so einfach wie
möglich".
· Talente gehört DogFather und der rechten Hand. Ein Modi bekommt 404
auf Seite UND Schnittstelle.
WAS NICHT GEBAUT IST, UND WARUM: keine Punktzahl, kein Durchschnitt,
keine Rangliste, keine Gesamtnote. Eine Zahl über einem Menschen wird
gelesen, verglichen und weitererzählt. Und kein Rot — "da hakt es" ist
eine Beobachtung, kein Alarm.
DER PLAN LAG AN EINER STELLE FALSCH, gemessen statt vermutet: Er sagte
"keine neue Tabelle, der Stand liegt in punkt_stand". Dort ist der
Schlüssel (bereich, schluessel, creator_id) — genau EIN Stand je Punkt
und Person. Zwei unabhängige Augenpaare passen da nicht hinein, ohne
eine lebende Tabelle neu zu bauen. Also eine eigene.
EIN RÜCKSCHLAG, DEN NUR DIE PRÜFUNG GEFUNDEN HAT: Die Liste der
Bretter, die ein Modi oder die rechte Hand öffnen darf, wird aus den
KACHELZIELEN abgeleitet. Als die Kacheln auf die neuen Seiten zeigten,
fielen beide Bretter heraus — und die Seite verlinkte auf ein 404. Kein
Fehler im Riegel, sondern in seiner Quelle.
Dazu zwei kleinere Funde vom Hinsehen statt vom Messen: Die Ampel sagte
"Solange ihr zu 1 seid" (jetzt drei Sätze für drei Lagen), und die
Fußzeile der Talente-Seite lag auf der Bühne — die Kontrastprüfung hatte
sie übersprungen, weil ein Link darin steht. Beide behoben, und die
Prüfung hat den stillen Aussetzer gleich mit verloren.
Geprüft: rollen 314 · start-ansicht 147 · crew-adresse 132 · neue-seiten
70 · nachwuchs 69 · entwicklung 40 · css-klassen 30 · zwischenspeicher
21 · alle-wege 19 · rechtetafel 19 — alles grün.
Was noch fehlt, steht in der Notiz, Abschnitt 9: die eigene Karte für
die Person, der Übergang "Probe" → Zugang, der Vorlagentext zum
Ansprechen.
Co-Authored-By: Claude Opus 5 <[email protected]>
276 lines
15 KiB
JavaScript
276 lines
15 KiB
JavaScript
/* =====================================================================
|
||
Der Katalog „Entwicklung" (11.09.2026)
|
||
|
||
Filipe: *"ich will dass diese zwei kategorien perfektionniert werden,
|
||
ich will dass fertige aufgaben da stehen und so … so dass dogfather
|
||
und rechte hand es so einfach wie möglich haben aber so
|
||
professionell wie auch nur möglich."*
|
||
|
||
Hier steht die eine Hälfte davon: das, was man anklickt, statt es zu
|
||
tippen. Die Herleitung jeder einzelnen Zeile steht im Vault
|
||
(02 Projekte/Entwicklung & Nachwuchs – Plan.md, Abschnitt 1 und 3);
|
||
hier steht bei jedem Punkt in zwei Sätzen, WARUM er im Katalog ist.
|
||
|
||
---------------------------------------------------------------------
|
||
VIER ENTSCHEIDUNGEN, DIE MAN DEM KATALOG NICHT ANSIEHT
|
||
---------------------------------------------------------------------
|
||
|
||
1. ES SIND BEOBACHTUNGEN, KEINE EIGENSCHAFTEN.
|
||
Nicht „ist zuverlässig", sondern „Absagen kommen rechtzeitig".
|
||
Eine Eigenschaft kann man nur bestätigen oder bestreiten; ein
|
||
Verhalten kann man gesehen haben — oder eben nicht. Das ist der
|
||
Unterschied zwischen einem Gespräch und einem Urteil.
|
||
|
||
2. JEDER PUNKT IST ALS ETWAS FORMULIERT, DAS PASSIERT — nicht als
|
||
etwas, das fehlt. „Fragen bleiben nicht unbeantwortet" statt
|
||
„ignoriert Fragen". Die Liste soll man mit jemandem durchgehen
|
||
können, ohne dass sie wie eine Anklageschrift klingt.
|
||
|
||
3. DIE STUFEN SIND KEINE NOTEN, SONDERN ERWARTUNGEN.
|
||
`probe` ist das, was ab Tag eins gilt. `standard` das, was nach
|
||
ein paar Monaten normal ist. `senior` das, wofür man jemanden
|
||
fragt. Wer auf Probe ist, wird nicht daran gemessen, ob ein
|
||
Bereich ohne ihn läuft — und die Oberfläche zeigt das auch so.
|
||
|
||
4. KEINE GESAMTNOTE, NIRGENDS. Es gibt keine Punktzahl, keinen
|
||
Durchschnitt, keine Rangliste. Das ist keine Nachlässigkeit,
|
||
sondern der wichtigste Einzelentscheid des ganzen Bereichs: Eine
|
||
Zahl über einem Menschen wird gelesen, verglichen und
|
||
weitererzählt. Gebraucht wird ein Gesprächsanlass, keine Note.
|
||
|
||
---------------------------------------------------------------------
|
||
UND DER LETZTE BLOCK GEHOERT NICHT EUCH
|
||
|
||
Block 5 beantwortet ausschliesslich die Person selbst. DogFather und
|
||
die rechte Hand sehen dort keinen einzigen Klick — nur eine Ampel
|
||
ohne Namen. Das ist kein Entgegenkommen, sondern die Bedingung
|
||
dafuer, dass ehrlich geantwortet wird; eine unehrliche Antwort waere
|
||
schlechter als keine.
|
||
|
||
Die sechs Punkte darin stammen aus der Forschung dazu, warum
|
||
freiwillige Moderatoren aufhoeren — in dieser Reihenfolge: zu wenig
|
||
Zeit, Streit im Team, fehlende Eskalationswege, seelische Last ohne
|
||
Ansprechpartner, fehlende Autonomie, fehlende Anerkennung.
|
||
===================================================================== */
|
||
|
||
/** Die vier Antworten. Reihenfolge und Bedeutung stehen hier, nicht in
|
||
* der Oberflaeche -- sonst hiesse dieselbe Antwort auf zwei Seiten
|
||
* unterschiedlich.
|
||
*
|
||
* "unklar" IST EINE ECHTE ANTWORT und kein Weglassen. Ohne sie klickt
|
||
* man im Zweifel "laeuft", weil das die freundlichste Taste ist --
|
||
* und ab da steht im Katalog eine Beobachtung, die niemand gemacht
|
||
* hat. */
|
||
export const ENTWICKLUNG_STUFEN = [
|
||
{ schluessel: "laeuft", name: "Läuft", zeichen: "✓",
|
||
text: "Habe ich gesehen. Passt." },
|
||
{ schluessel: "waechst", name: "Wächst gerade", zeichen: "↗",
|
||
text: "Geht in die richtige Richtung – noch nicht durchgehend." },
|
||
{ schluessel: "hakt", name: "Da hakt es", zeichen: "!",
|
||
text: "Ist mir aufgefallen. Kein Vorwurf – ein Thema." },
|
||
{ schluessel: "unklar", name: "Kann ich nicht sagen", zeichen: "–",
|
||
text: "Habe ich nicht gesehen. Ehrlicher als zu raten." },
|
||
];
|
||
|
||
/** Die Erwartungsstufen. `rang` nur zum Sortieren -- er ist keine Note. */
|
||
export const ENTWICKLUNG_ERWARTUNG = [
|
||
{ schluessel: "probe", name: "Ab Tag eins", rang: 1,
|
||
text: "Das gilt für alle, auch in der Probezeit." },
|
||
{ schluessel: "standard", name: "Nach ein paar Monaten", rang: 2,
|
||
text: "Das ist normal, wenn jemand angekommen ist." },
|
||
{ schluessel: "senior", name: "Wofür man jemanden fragt", rang: 3,
|
||
text: "Das kann nicht jeder – und es wird auch nicht von jedem erwartet." },
|
||
];
|
||
|
||
/** Die fünf Blöcke. `nurSelbst` ist der Riegel: Was hier `true` steht,
|
||
* sieht ausser der Person NIEMAND -- auch DogFather nicht. */
|
||
export const ENTWICKLUNG_BLOECKE = [
|
||
{ schluessel: "chat", name: "Im Chat",
|
||
text: "Die tägliche Arbeit. Was hier passiert, sehen die Zuschauer – "
|
||
+ "und es entscheidet, ob sie wiederkommen." },
|
||
{ schluessel: "druck", name: "Wenn es eng wird",
|
||
text: "Der Teil, der sich nicht üben lässt. Hier zeigt sich, was bleibt, "
|
||
+ "wenn es unangenehm wird." },
|
||
{ schluessel: "team", name: "Im Team",
|
||
text: "Wie die Zusammenarbeit läuft. Streit im Team ist der zweithäufigste "
|
||
+ "Grund, warum Leute aufhören – noch vor der Arbeit selbst." },
|
||
{ schluessel: "selbst", name: "Wie viel von selbst",
|
||
text: "Der Unterschied zwischen Ausführen und Mitdenken. Und – weiter unten – "
|
||
+ "zwischen Mitdenken und Überlastung." },
|
||
{ schluessel: "befinden", name: "Wie geht es dir damit?", nurSelbst: true,
|
||
text: "Diese sechs Fragen beantwortest nur du. Niemand aus dem Team sieht "
|
||
+ "deine Antworten – auch DogFather nicht. Sichtbar wird nur, ob es im "
|
||
+ "Team gerade jemandem zu viel wird, ohne Namen." },
|
||
];
|
||
|
||
export const ENTWICKLUNG_PUNKTE = {
|
||
/* ---- Block 1: Im Chat --------------------------------------------- */
|
||
chat: [
|
||
{ schluessel: "e-chat-neue-begruesst", stufe: "probe",
|
||
titel: "Neue werden begrüßt statt übersehen",
|
||
text: "Der erste Satz an einen Neuen entscheidet, ob er wiederkommt. "
|
||
+ "Kostet nichts und passiert trotzdem selten." },
|
||
{ schluessel: "e-chat-fragen-beantwortet", stufe: "probe",
|
||
titel: "Fragen bleiben nicht unbeantwortet",
|
||
text: "Eine unbeantwortete Frage ist schlimmer als eine abgelehnte – "
|
||
+ "sie sagt: du bist hier nicht gemeint." },
|
||
{ schluessel: "e-chat-regel-erklaert", stufe: "probe",
|
||
titel: "Regeln werden erklärt, bevor sie durchgesetzt werden",
|
||
text: "Wer erst löscht und dann erklärt, hat einen Gegner statt eines Mitglieds." },
|
||
{ schluessel: "e-chat-frueh-abgefangen", stufe: "standard",
|
||
titel: "Ein Spruch wird abgefangen, bevor eine Debatte daraus wird",
|
||
text: "Die eigentliche Arbeit passiert vorher, nicht beim Timeout. "
|
||
+ "Was man hier sieht, ist das, was NICHT passiert ist." },
|
||
{ schluessel: "e-chat-ton-bleibt", stufe: "standard",
|
||
titel: "Der Ton bleibt derselbe, auch wenn der Chat kippt",
|
||
text: "Nicht Freundlichkeit – Gleichmäßigkeit. Genau darauf achtet ein Chat: "
|
||
+ "ob dieselbe Sache heute anders behandelt wird als gestern." },
|
||
{ schluessel: "e-chat-ohne-buehne", stufe: "standard",
|
||
titel: "Es wird eingegriffen, ohne den Chat zur Bühne zu machen",
|
||
text: "Eine Bestrafung mit Publikum erzeugt Publikum." },
|
||
{ schluessel: "e-chat-laeuft-ohne-blick", stufe: "senior",
|
||
titel: "Der Chat läuft auch, wenn gerade niemand hinsieht",
|
||
text: "Das Gegenteil von Anwesenheit. Man merkt es nur daran, dass nichts passiert." },
|
||
{ schluessel: "e-chat-weitergereicht", stufe: "senior",
|
||
titel: "Neue werden weitergereicht, nicht nur bedient",
|
||
text: "Aus einem beantworteten Neuen wird ein Mitglied, sobald er jemanden kennt." },
|
||
],
|
||
|
||
/* ---- Block 2: Wenn es eng wird ------------------------------------ */
|
||
druck: [
|
||
{ schluessel: "e-druck-fragt-statt-raet", stufe: "probe",
|
||
titel: "Bei Unsicherheit wird gefragt statt geraten",
|
||
text: "Fragen ist ein Zeichen von Sicherheit, nicht von Schwäche – "
|
||
+ "und genau das misst, ob sich jemand im Team traut." },
|
||
{ schluessel: "e-druck-eigener-fehler", stufe: "probe",
|
||
titel: "Eine eigene Fehlentscheidung wird von selbst angesprochen",
|
||
text: "Der einzige Punkt der Liste, der sich nicht vortäuschen lässt." },
|
||
{ schluessel: "e-druck-nicht-persoenlich", stufe: "standard",
|
||
titel: "Provokation geht nicht ins Persönliche zurück",
|
||
text: "Unhöflichkeit ist in vergleichbaren Gemeinschaften der häufigste "
|
||
+ "Ablehnungsgrund – noch vor jedem Können." },
|
||
{ schluessel: "e-druck-notiz-statt-erinnerung", stufe: "standard",
|
||
titel: "Nach einem Vorfall steht eine Notiz da, keine Erinnerung",
|
||
text: "Am nächsten Tag fehlt die Hälfte. Eine Notiz von gestern schlägt "
|
||
+ "ein gutes Gedächtnis." },
|
||
{ schluessel: "e-druck-frueh-eskaliert", stufe: "standard",
|
||
titel: "Es wird eskaliert, bevor es zu spät ist – nicht danach",
|
||
text: "Zu früh eskalieren ist ein kleiner Fehler. Zu spät ist der teure." },
|
||
{ schluessel: "e-druck-streit-beruhigt", stufe: "senior",
|
||
titel: "Ein Streit zwischen zwei anderen wird beruhigt, ohne Partei zu sein",
|
||
text: "Unparteilichkeit unter Druck – in jeder Moderationsanleitung der erste Punkt." },
|
||
{ schluessel: "e-druck-unpopulaer-getragen", stufe: "senior",
|
||
titel: "Eine unpopuläre Entscheidung wird getragen, auch öffentlich",
|
||
text: "Wer eine Regel nur durchsetzt, solange Applaus kommt, setzt sie nicht durch." },
|
||
],
|
||
|
||
/* ---- Block 3: Im Team --------------------------------------------- */
|
||
team: [
|
||
{ schluessel: "e-team-absage-rechtzeitig", stufe: "probe",
|
||
titel: "Absagen kommen rechtzeitig, nicht im letzten Moment",
|
||
text: "Nicht Zuverlässigkeit – Vorlaufzeit. Die kann man planen, "
|
||
+ "eine Absage um 19:55 nicht." },
|
||
{ schluessel: "e-team-teamchat-gelesen", stufe: "probe",
|
||
titel: "Was im Teamchat steht, wird gelesen",
|
||
text: "Der billigste Punkt der Liste und der am häufigsten gerissene." },
|
||
{ schluessel: "e-team-wissen-geteilt", stufe: "standard",
|
||
titel: "Wissen wird geteilt, nicht gehortet",
|
||
text: "Wer als Einziger weiß, wie etwas geht, ist kein Gewinn, sondern ein "
|
||
+ "Ausfallrisiko – und darf nicht krank werden." },
|
||
{ schluessel: "e-team-kritik-direkt", stufe: "standard",
|
||
titel: "Kritik an anderen kommt zu ihnen, nicht über sie",
|
||
text: "Streit im Team ist der zweithäufigste Grund, warum Moderatoren "
|
||
+ "aufhören. Dieser eine Punkt bewacht ihn." },
|
||
{ schluessel: "e-team-zusagen-halten", stufe: "standard",
|
||
titel: "Zusagen halten – und wenn nicht, wird es gesagt",
|
||
text: "Der zweite Halbsatz ist der wichtigere." },
|
||
{ schluessel: "e-team-neue-eingearbeitet", stufe: "senior",
|
||
titel: "Neue werden eingearbeitet, ohne dass jemand darum bittet",
|
||
text: "Der Punkt, an dem aus Mitarbeit Verantwortung wird." },
|
||
{ schluessel: "e-team-widerspruch-nach-oben", stufe: "senior",
|
||
titel: "Widerspruch kommt auch mir gegenüber",
|
||
text: "Ausdrücklich so formuliert: Ein Team, das dem Sprecher nicht "
|
||
+ "widerspricht, hat aufgehört zu denken. Hier steht niemand über dem anderen." },
|
||
],
|
||
|
||
/* ---- Block 4: Wie viel von selbst ---------------------------------- */
|
||
selbst: [
|
||
{ schluessel: "e-selbst-ohne-erinnerung", stufe: "probe",
|
||
titel: "Aufgaben werden abgearbeitet, ohne Erinnerung",
|
||
text: "Die untere Kante. Alles darüber ist ein Plus, das hier ist die Grundlage." },
|
||
{ schluessel: "e-selbst-nicht-in-der-liste", stufe: "standard",
|
||
titel: "Etwas wird gesehen und gemacht, was nicht in der Liste stand",
|
||
text: "Der Unterschied zwischen Ausführen und Mitdenken." },
|
||
{ schluessel: "e-selbst-vorschlag-statt-klage", stufe: "standard",
|
||
titel: "Eigene Vorschläge kommen als Vorschlag, nicht als Beschwerde",
|
||
text: "Dieselbe Beobachtung, zwei Formen – eine davon ist brauchbar." },
|
||
{ schluessel: "e-selbst-abgegeben", stufe: "standard",
|
||
titel: "Aufgaben werden abgegeben, statt alles selbst zu machen",
|
||
text: "Die häufigste Ursache für Überlastung ist nicht die Menge, "
|
||
+ "sondern das Nicht-Abgeben." },
|
||
{ schluessel: "e-selbst-bereich-laeuft-allein", stufe: "senior",
|
||
titel: "Ein Bereich läuft komplett ohne mich",
|
||
text: "Der Punkt, an dem eine Stufe wirklich verdient ist." },
|
||
{ schluessel: "e-selbst-nein-gesagt", stufe: "senior",
|
||
titel: "Es wird nein gesagt, wenn es zu viel ist",
|
||
text: "Steht bewusst ganz oben statt als Mangel: Nein sagen zu können ist "
|
||
+ "die schwerste Fähigkeit im Ehrenamt – und sie verhindert genau den "
|
||
+ "Ausfall, der sonst kommt." },
|
||
],
|
||
|
||
/* ---- Block 5: Wie geht es dir damit? (nur die Person selbst) ------- */
|
||
befinden: [
|
||
{ schluessel: "e-ich-menge-passt", stufe: "probe",
|
||
titel: "Die Menge passt gerade",
|
||
text: "Zu wenig Zeit ist der meistgenannte Grund, warum Moderatoren aufhören." },
|
||
{ schluessel: "e-ich-niemand-schwierig", stufe: "probe",
|
||
titel: "Es gibt gerade niemanden im Team, mit dem es schwierig ist",
|
||
text: "Der zweithäufigste Grund – und der, über den am wenigsten geredet wird." },
|
||
{ schluessel: "e-ich-weiss-an-wen", stufe: "probe",
|
||
titel: "Ich weiß, an wen ich mich wende, wenn etwas eskaliert",
|
||
text: "Ein fehlender Eskalationsweg fühlt sich nicht wie ein fehlender Weg an, "
|
||
+ "sondern wie Unsicherheit." },
|
||
{ schluessel: "e-ich-jemand-zum-reden", stufe: "probe",
|
||
titel: "Nach einer hässlichen Schicht gibt es jemanden zum Reden",
|
||
text: "Wer Hässliches wegmoderiert, nimmt es mit. Das geht nicht von allein weg." },
|
||
{ schluessel: "e-ich-nein-ohne-problem", stufe: "probe",
|
||
titel: "Ich kann nein sagen, ohne dass es ein Problem ist",
|
||
text: "Nicht ob du darfst – ob es sich so anfühlt. Das ist der Unterschied." },
|
||
{ schluessel: "e-ich-faellt-auf", stufe: "probe",
|
||
titel: "Ich habe das Gefühl, dass es auffällt, wenn ich da bin",
|
||
text: "Fehlende Anerkennung ist der am häufigsten genannte emotionale Preis – "
|
||
+ "und der billigste zu beheben." },
|
||
],
|
||
};
|
||
|
||
/* ---------------------------------------------------------------------
|
||
ABGELEITET, NICHT ABGESCHRIEBEN
|
||
|
||
Jede Zahl ueber diesen Katalog wird gerechnet. Eine Ueberschrift
|
||
"38 Beobachtungen" waere beim naechsten Punkt still falsch -- und
|
||
genau das war sie schon: Der Plan im Vault sagt 38, gezaehlt sind es
|
||
34. Deshalb steht nirgends eine Zahl, die jemand pflegen muesste.
|
||
------------------------------------------------------------------- */
|
||
|
||
/** Alle Punkte als flache Liste, mit ihrem Block. */
|
||
export const ENTWICKLUNG_ALLE = ENTWICKLUNG_BLOECKE.flatMap((b) =>
|
||
(ENTWICKLUNG_PUNKTE[b.schluessel] || []).map((p) => ({ ...p, block: b.schluessel })));
|
||
|
||
/** Die Punkte, die andere ueber jemanden setzen duerfen -- also alles
|
||
* ausser Block 5. Als eigene Liste, damit die Riegel im Server sie
|
||
* nicht jedes Mal neu zusammensuchen muessen. */
|
||
export const ENTWICKLUNG_FREMD = ENTWICKLUNG_ALLE.filter((p) => {
|
||
const b = ENTWICKLUNG_BLOECKE.find((x) => x.schluessel === p.block);
|
||
return !b?.nurSelbst;
|
||
});
|
||
|
||
/** Und die, die nur die Person selbst beantwortet. */
|
||
export const ENTWICKLUNG_SELBST = ENTWICKLUNG_ALLE.filter((p) => {
|
||
const b = ENTWICKLUNG_BLOECKE.find((x) => x.schluessel === p.block);
|
||
return !!b?.nurSelbst;
|
||
});
|
||
|
||
/** Schnellzugriff Schluessel -> Punkt. */
|
||
export const ENTWICKLUNG_NACH_SCHLUESSEL = new Map(
|
||
ENTWICKLUNG_ALLE.map((p) => [p.schluessel, p]));
|