CoeveraBlueprints

Blueprint 003 · Datenmodell

Wie modellieren Sie etwas, für das Ihr CRM kein Objekt hat?

Inspektionen, Genehmigungen, Anlagen, Health Checks, Audits – die Frage setzt voraus, dass die Antwort eine Entwicklung ist. In einer aktuellen Anforderungsanalyse mit sechs Abteilungen brauchte ein Viertel der Anfragen überhaupt keine Entwicklung. Herauszufinden, welches Viertel, ist die wertvollste Stunde des gesamten Projekts.

Geschrieben von Veröffentlicht 2026-09-23Geprüft in einem Live-Coevera-SpaceÜbersetzt aus dem englischen OriginalMarkdown-Fassung ↓

Die kurze Antwort

Beginnen Sie nicht mit dem Modellieren. Beginnen Sie damit, jede Anforderung einem von sechs Urteilen zuzuordnen: bereits live im Space · eine Funktion, die ausgeliefert, aber abgeschaltet ist · per Konfiguration erreichbar · eine echte Entwicklung · eine harte Plattformgrenze, die umformuliert werden muss · oder kein Produktproblem. Nur das vierte ist eine Aufgabe der Datenmodellierung.

Wenn es doch eine Entwicklung ist, fällt die Wahl zwischen einer benutzerdefinierten Entität – mit eigenem API-Endpunkt, Formularen, Sequenznummerierung und Datensatzfunktionen –, zusätzlichen Feldern auf einer bestehenden Standardentität oder einem verknüpften untergeordneten Datensatz. Der Test ist, ob das Objekt einen eigenen Lebenszyklus hat und unabhängig aufgelistet wird.

Das Geschäftsproblem

Eine Organisation kommt mit einer Liste. Sechs Abteilungen wurden getrennt befragt, und zusammen brachten sie rund 44 unterschiedliche Anfragen zu Dingen hervor, die das CRM leisten soll: Vor-Ort-Inspektionen verfolgen, Genehmigungen an Anlagen hängen, festhalten, wer zu einer Veranstaltung eingeladen war und wer tatsächlich erschien, Account-Managern Vorschläge anzeigen, Onboarding-Quizze durchführen, nach Region berichten.

Jede Anfrage kam als Lösung statt als Problem formuliert – „wir brauchen eine Kachel auf dem Dashboard“, „wir brauchen ein neues Modul für Genehmigungen“ –, weil Menschen so beschreiben, was sie wollen. Und der Instinkt auf beiden Seiten des Tisches ist, die Liste für bare Münze zu nehmen und dafür Objekte zu entwerfen.

Dieser Instinkt ist auf eine ganz bestimmte Weise teuer. Er verwandelt eine Analyse in ein Entwicklungsangebot, und zwar bevor irgendjemand festgestellt hat, welche der 44 Dinge die Plattform bereits kann.

Warum der naheliegende Ansatz scheitert

Ein großer Teil der Anfragen sind keine Entwicklungen

Von rund 44 Anfragen entsprachen 11 Funktionen, die im eigenen Space des Kunden vorhanden und lizenziert und lediglich abgeschaltet waren. Neun davon ließen sich direkt einem Punkt aus den Besprechungsnotizen zuordnen. Keine Entwicklung, kein Schema, keine Modellierung – eine Admin-Sitzung.

Entwicklung für einen Schalter anzubieten, ist schlimmer als vergeudete Mühe. Es verbrennt Budget, das in die echten Lücken hätte fließen sollen, und wenn der Kunde später entdeckt, dass die Funktion die ganze Zeit da war, kostet es Glaubwürdigkeit, die schwer zurückzugewinnen ist.

Ein Coevera-Space legt das direkt offen. Im untersuchten Space enthielt die Collection application rund 107 Funktions- und Integrationsdatensätze, jeder mit einem Aktiv-Flag. Sie ist die Funktionsschaltzentrale pro Space, und sie zu lesen dauert Minuten.

Die KI-Fähigkeiten sind einzeln schaltbare Zeilen und häufig abgeschaltet, während eine andere Gruppe oft bereits eingeschaltet und nie vorgeführt ist. Im Referenzprojekt waren elf KI-bezogene Apps abgeschaltet, während weitere sechzehn Funktionen – darunter mehrere Integrationen sowie die Automatisierungs- und Reporting-Agenten – bereits aktiv waren und dem Kunden nie gezeigt worden waren.

Bündel von Anfragen haben oft eine gemeinsame Ursache

Einzeln betrachtet sahen drei der 44 Anfragen wie drei getrennte Entwicklungen aus: ein Bericht über Eingeladene einer Veranstaltung, ein Bericht darüber, wen man tatsächlich getroffen hat, und ein Vorschlag auf Basis der Teilnahme. Alle drei scheiterten an derselben fehlenden Beziehung – die Veranstaltungsentität hatte überhaupt keine direkte Verknüpfung zu Kontakten. Der einzige bestehende Weg lief über einen Spesendatensatz, sodass man nur dann sagen konnte, wer teilgenommen hatte, wenn jemand dafür Spesen abgerechnet hatte.

Eine Beziehung, einmal gebaut, machte aus drei Anfragen auswertbare Daten. Sie getrennt zu schätzen, hätte das Angebot verdreifacht und trotzdem nur drei Teilantworten geliefert.

Manches lässt sich um keinen Preis bauen

Eine Handvoll Anfragen zielte auf Plattformobjekte mit fester Form – ein Erweiterungspunkt, der schlicht nicht existiert. So etwas zu versprechen, ist das schlechteste Ergebnis überhaupt, weil der Fehler erst bei der Lieferung sichtbar wird statt beim Scoping.

Der Entscheidungsrahmen

Jede Anforderung bekommt genau ein Urteil, bevor irgendjemand irgendetwas schätzt. Das Urteil bestimmt, wem sie gehört, und genau das macht den Rahmen nützlich statt akademisch.

UrteilBedeutungZuständig
LiveHeute im Space aktiv. Die Lücke ist Bekanntheit, nicht Fähigkeit.Enablement / Schulung
SchalterWird mit dem Produkt ausgeliefert; die App ist in diesem Space inaktiv.Administrator
KonfigurationErreichbar mit Automatisierung, benutzerdefinierten Feldern, Berichten oder Schritt-Checklisten.Solution Architect / Admin
EntwicklungVöllig neues Schema, neue Beziehung oder Integration.Architekt + Engineering
GrenzeHarte Plattformgrenze. Auf etwas umlenken, das existiert.Produkt
Kein ProduktRichtlinien, Kommerzielles oder internes Tooling im CRM-Kostüm.Account-Team

Wenn das Urteil Entwicklung lautet – wohin gehört es?

Vier Ziele, in aufsteigender Reihenfolge der Kosten:

ZielVerwenden, wennKosten
Ein Feld auf einer bestehenden Entität Die Daten beschreiben diesen Datensatz und haben keine eigenständige Existenz – eine Stufe, ein Gebiet, ein Flag. Am günstigsten. Aber jedes Feld ist eine weitere Zeile auf einem Formular, das jeder Benutzer sieht.
Ein Untertyp einer bestehenden Entität Sie brauchen denselben Lebenszyklus und dieselbe Warteschlange, aber pro Variante einen anderen Feldsatz. Niedrig. Ausführlich behandelt in Blueprint 001.
Ein verknüpfter untergeordneter Datensatz Es gibt viele pro übergeordnetem Datensatz – Positionen, Inspektionsbesuche, Messwerte. Mittel. Ein Parent-Lookup und ein Inline-Raster auf dem Formular des übergeordneten Datensatzes.
Eine neue benutzerdefinierte Entität Sie hat einen eigenen Lebenszyklus, braucht eine eigene Referenznummerierung und wird eigenständig aufgelistet und ausgewertet. Am höchsten. Eigene Formulare, Berechtigungen und ein Eintrag im Anlegen-Menü.

Quelle. Coevera-Hilfecenter, Advanced admin — working with custom entities, dazu, was das teuerste der vier Ziele tatsächlich an Einrichtung erfordert.

Die entscheidende Frage ist kurz: Wird dieses Objekt eigenständig aufgelistet, gefiltert und ausgewertet, und hat es ein eigenes Leben? Eine Inspektion schon – sie hat ein Datum, einen Prüfer, ein Ergebnis, und Sie werden eine Liste der überfälligen wollen. Eine Distributorenstufe nicht; sie ist ein Attribut eines Accounts.

Was eine benutzerdefinierte Entität Ihnen tatsächlich gibt und wofür Sie daher bezahlen: einen eigenen REST-Endpunkt, eigene bearbeitbare Formulare pro Untertyp, sequenzbasierte Referenznummerierung und zuschaltbare Datensatzfunktionen – Aktivitäten, Dokumente, Notizen und globale Suche. Wenn Sie nichts davon brauchen, brauchen Sie wahrscheinlich auch die Entität nicht.

Mechanik der Konfiguration

Die Schaltzentrale lesen

Exportieren Sie die Funktionsdatensätze des Space und teilen Sie sie nach Aktivstatus auf, bevor Sie irgendetwas scopen. Ordnen Sie dann jede Kundenanfrage einer Zeile zu, und nennen Sie etwas erst dann eine Entwicklung, wenn keine Zeile es abdeckt.

Einen Schalter anhand der Nutzung bestätigen

Ein abgeschalteter Schalter ist für sich genommen ein schwacher Befund. Zusammen mit einem Nachweis der Nichtnutzung wird er stark: Durchsuchen Sie für KI-Felder jede Feldbeschreibungs-Collection nach einem nicht leeren KI-Optionsblock. Null konfigurierte Felder plus abgeschaltete App bedeuten, dass die Funktion nie genutzt wurde – eine weit belastbarere Aussage als der Schalter allein, und sie zeigt Ihnen, dass die Anfrage wirklich unerfüllt ist und nicht nur schlecht erklärt.

Die Einstellungen der Dublettenprüfung lohnen dieselbe Behandlung. Sie tragen ein Aktiviert-Flag, eine Ähnlichkeitsstufe und die abgeglichenen Feld-IDs pro Entität – eine Anfrage, „die Dublettenprüfung einzuschalten“, heißt also häufig eigentlich: „Die bestehende Regel gleicht auf zu wenigen Feldern ab.“

Lookup-Felder – die Mechanik, an der man hängen bleibt

  • Ein Lookup-Feld ist eine mehrwertige Beziehung, übertragen als Array von Referenzen – kein skalarer Fremdschlüssel. Ein Lesevorgang liefert ein Array von Referenzobjekten; ein leeres Array bedeutet, dass nichts verknüpft ist.
  • Das Schreiben eines Arrays ersetzt die Verknüpfungen, statt sie zu ergänzen. Senden Sie jedes Mal die vollständige gewünschte Menge; ein leeres Array löscht die Beziehung. Das ist der häufigste Weg, auf dem eine Integration unbemerkt Verknüpfungen von Datensätzen löst, die sie eigentlich in Ruhe lassen wollte.
  • Benutzerdefinierte Feldnamen werden wörtlich verwendet, ohne Suffix _id, obwohl System-Fremdschlüssel eines tragen.
  • Das Anlegen eines Lookup-Felds erfordert einen vollständigen Filterblock, selbst wenn das Filtern abgeschaltet ist – fehlt er, schlägt der Aufruf mit einem allgemeinen, nichtssagenden Fehler fehl.

Die Falle, wenn Sie doch eine benutzerdefinierte Entität anlegen. Beim Anlegen wird automatisch ein Standard-Untertyp darunter erzeugt, mit demselben Namen und einem leeren Formular. Fügen Sie Ihre eigenen Untertypen hinzu, sehen Benutzer einen Eintrag mehr im Anlegen-Menü, als Sie beabsichtigt haben, und der zusätzliche führt ins Leere. Legen Sie stattdessen einen Ihrer Untertypen auf den automatisch erzeugten Standard – siehe Blueprint 001.

Die Reihenfolge der Umsetzung

Sobald jede Anfrage ein Urteil hat, ergibt sich die Lieferreihenfolge von selbst – und sie zieht bewusst alles nach vorn, was nichts kostet.

  1. Blockaden lösenAlles, woran der Kunde heute festhängt. Tage, nicht Wochen, und es schafft Wohlwollen für alles Weitere.
  2. Zeigen, was der Kunde bereits besitztJedes Urteil Live, vorgeführt. Null Entwicklung. Im Referenzprojekt waren das sechzehn aktive Funktionen, die nie gezeigt worden waren.
  3. Einschalten und konfigurierenDie Urteile Schalter und Konfiguration. Eine Admin-Sitzung und etwas Einrichtung, vorbehaltlich der internen Freigabe, die der Kunde zuvor braucht.
  4. EntwickelnNur was die ersten drei Phasen überstanden hat – getrennt gescopt und angeboten, weil es inzwischen eine viel kürzere Liste ist.
  5. Folgeaufgaben außerhalb des ProduktsAn diejenigen übergeben, denen sie tatsächlich gehören, statt stillschweigend in den CRM-Umfang übernommen.

Die Phasen 1 bis 3 sind es, die das Gespräch verändern. Eine Anforderungsanalyse, die ein Viertel der Liste ohne jede Entwicklung liefert, bevor die erste Entwicklung angeboten wird, verdient sich das Recht auf eine ernsthafte Diskussion über den Rest.

Grenzen & Kompromisse

Der Vorbehalt, der die ganze Quick-Win-Geschichte untergräbt, wenn Sie ihn übersehen

Das Aktiv-Flag einer App unterscheidet nicht zwischen „ein Administrator kann das heute einschalten“ und „das ist hinter einer Lizenz gesperrt“. Bei manchen Zeilen spiegelt es die Berechtigung aus der Lizenz wider statt eines einfachen Schalters.

Klären Sie mit dem Produktteam, welche Punkte tatsächlich von einem Admin umschaltbar sind, bevor Sie sie als kostenlose Quick Wins präsentieren. Der gesamte Wert des Schalter-Befunds beruht auf dieser Unterscheidung, und wer sie falsch trifft, verwandelt einen Gewinn an Glaubwürdigkeit in einen Verlust.

Harte Grenzen – umlenken statt entwickeln

Im Referenzprojekt traten drei Kategorien auf, und für jede gibt es eine ehrliche Alternative:

GrenzeFolgeUmlenken auf
Manche Plattformobjekte haben eine feste Form und nehmen keine zusätzlichen Felder auf Eigene Inhalte lassen sich über diese Funktion nicht anzeigen Berichts- oder Dashboard-Kacheln oder von der Automatisierung erzeugte Aufgaben
Bestimmte Filter arbeiten nur auf Eigentümer und Organisationseinheit Das Filtern dieser Funktion nach Region ist nicht konfigurierbar Berichte und gespeicherte Filter über die nativen Standortfelder
Die Plattform hat keine Lernmanagement- oder Quizfunktion Eine Onboarding-Bewertung lässt sich nicht als Produktleistung zusagen Ein als Dienstleistung erbrachter Leitfaden oder ein Drittanbieter-LMS aus dem Integrations-Hub

Eines sollten Sie noch wissen, bevor Sie darum herum entwerfen: Freigabeprozesse können keine benutzerdefinierte Entität als Ziel haben, und der Freigabedatensatz selbst nimmt keine benutzerdefinierten Felder auf. Wenn Ihre neue Entität eine Freigabe braucht, prägt das den Entwurf – die Umgehung steht in Blueprint 001.

Die laufenden Kosten einer benutzerdefinierten Entität

Das sollte man klar aussprechen, weil es in der Schätzung meist fehlt: Jede benutzerdefinierte Entität ist ein weiteres Formular, das gepflegt werden muss, eine weitere Berechtigungsfläche, die stimmen muss, ein weiterer Eintrag im Anlegen-Menü und eine weitere Sache, die bei jeder Neukonfiguration des Space bedacht werden muss. Entitäten sind billig anzulegen und teuer zu besitzen.

Wo diese Analyse nicht helfen kann

Anfragen aus Besprechungsnotizen tragen Mehrdeutigkeiten, die kein Plattformwissen auflöst – eine unerklärte Abkürzung, ein unklarer Produktname, ein Verweis auf eine Person, die niemand zuordnen kann. Im Referenzprojekt ließen sich genau aus diesem Grund vier Punkte nicht scopen. Markieren Sie sie als offene Fragen, statt zu raten; eine Anfrage, die Sie missverstanden haben, ist gefährlicher als eine, die Sie noch nicht beantwortet haben.

Verifizierung

Das Ergebnis dieser Analyse ist eine Reihe von Aussagen darüber, was eine Plattform kann, gemacht gegenüber einem Kunden, der Sie beim Wort nehmen wird. Jede braucht einen Beleg, bevor sie ausgesprochen wird.

  • Jedes Urteil auf einen Beleg zurückgeführt. Ein Urteil Schalter nennt die App-Zeile und ihren Status. Ein Urteil Konfiguration nennt den Mechanismus, der es umsetzt. Ein Urteil Grenze nennt das Fehlen – die feste Objektform oder das Fehlen einer passenden Operation irgendwo im Schema.
  • Schalter anhand der konfigurierten Nutzung bestätigt, nicht allein aus dem Flag behauptet.
  • Lizenzierung mit dem Produktteam geklärt für jeden Punkt, der als kostenloser Schalter präsentiert wird.
  • Korrekturen dokumentiert, nicht stillschweigend übernommen. Mehrere erste Einschätzungen erwiesen sich als unzutreffend und wurden im Lauf der Analyse korrigiert; diese Spur zu bewahren, erlaubt es einem Prüfer, die Begründung nachzuvollziehen, statt das Ergebnis auf Treu und Glauben zu übernehmen.
  • Unlösbare Punkte als offene Fragen aufgeführt, mit dem Grund, warum sie sich offline nicht beantworten lassen.
  • Für alles, was bei Entwicklung landete: das Ziel anhand der vier Optionen in §3 begründet und die verworfenen Alternativen schriftlich festgehalten. Eine benutzerdefinierte Entität, deren Notwendigkeit niemand erklären kann, wird sechs Monate später trotzdem angelegt – von jemandem, der nicht weiß, dass sie bereits erwogen und verworfen wurde.

Was darauf hindeuten würde, dass die Analyse schiefgegangen ist: eine Entwicklung, die für etwas angeboten wird, das sich später als Schalter herausstellt; drei getrennte Schätzungen, die eine gemeinsame Ursache teilen; eine gelieferte benutzerdefinierte Entität, deren Listenansicht niemand öffnet.

Häufige Fragen

Wie modellieren Sie etwas, für das Ihr CRM kein Objekt hat, etwa Inspektionen, Genehmigungen oder Anlagen?

Klären Sie vor jedem Entwurf, unter welches von sechs Urteilen die Anforderung tatsächlich fällt: bereits live im Space, eine Funktion, die mit dem Produkt ausgeliefert wird, aber abgeschaltet ist, per Konfiguration erreichbar, eine echte Entwicklung, eine harte Plattformgrenze, die eine Umformulierung verlangt, oder gar kein Produktproblem. Nur das vierte ist eine Modellierungsaufgabe. Wenn es eine Entwicklung ist, fällt die Wahl zwischen einer neuen benutzerdefinierten Entität (eigener API-Endpunkt, Formulare, Sequenznummerierung und Datensatzfunktionen), zusätzlichen Feldern auf einer bestehenden Standardentität (günstiger, aber für alle sichtbar) oder einem verknüpften untergeordneten Datensatz mit einem Lookup zurück auf sein übergeordnetes Objekt.

Wann sollten Sie eine benutzerdefinierte Entität anlegen, statt benutzerdefinierte Felder hinzuzufügen?

Legen Sie eine benutzerdefinierte Entität an, wenn das Objekt einen eigenen Lebenszyklus hat, eine eigene Referenznummerierung braucht oder unabhängig aufgelistet und ausgewertet wird. Fügen Sie einer bestehenden Standardentität Felder hinzu, wenn die Daten diesen Datensatz beschreiben und keine eigenständige Existenz haben – das ist weit günstiger und erbt das gesamte Verhalten des übergeordneten Datensatzes, aber jedes Feld ist eine weitere Zeile auf einem Formular, das jeder Benutzer sieht. Verwenden Sie einen verknüpften untergeordneten Datensatz, wenn es viele pro übergeordnetem Datensatz gibt, etwa Positionen oder Inspektionsbesuche.

Warum brauchen CRM-Anpassungswünsche oft gar keine Entwicklung?

Weil viele gewünschte Fähigkeiten bereits mit der Plattform ausgeliefert werden und lediglich auf Space-Ebene deaktiviert sind. Jeder Coevera-Space stellt eine Funktionsschaltzentrale bereit; im untersuchten Space listete sie rund 107 Funktions- und Integrationsdatensätze mit jeweils einem Aktiv-Flag auf. In einer aktuellen Anforderungsanalyse mit sechs Abteilungen entsprachen 11 von rund 44 unterschiedlichen Anfragen Funktionen, die vorhanden und lizenziert, aber abgeschaltet waren – keine Entwicklung nötig. Diese Schaltzentrale vor dem Scoping zu lesen, ist der wertvollste einzelne Schritt einer Anforderungsanalyse, denn Entwicklung für etwas anzubieten, das ein Schalter ist, zerstört Glaubwürdigkeit und verbraucht Budget, das in echte Lücken fließen sollte.

Wie unterscheiden Sie eine echte Plattformgrenze von etwas, das nur konfiguriert werden muss?

Prüfen Sie die Form dessen, was Sie erweitern wollen. Manche Plattformobjekte haben eine feste Form und nehmen keine zusätzlichen Felder auf, und manche Filter arbeiten nur auf bestimmten Dimensionen wie Eigentümer oder Organisationseinheit. Wo es für eine Fähigkeit nirgends einen Mutations- oder Konfigurationsweg gibt, ist es eine harte Grenze, und die ehrliche Antwort besteht darin, die Anforderung auf etwas umzulenken, das existiert – Berichte, Dashboards oder von der Automatisierung erzeugte Aufgaben –, statt eine Entwicklung zu versprechen, die nicht geliefert werden kann.

Herausgegeben von Coevera · auf das Muster abstrahiert, keine KundendatenBlueprint 003 · veröffentlicht 2026-09-23