Erstellen einer Bestandsaufnahme der Anpassungen in Ihrer Organisation
Lernziele
Nachdem Sie diese Lektion abgeschlossen haben, sind Sie in der Lage, die folgenden Aufgaben auszuführen:
- Ermitteln des geschäftlichen und technischen Nutzens der Bewertung des aktuellen Zustands
- Bestimmen, wonach in einer Codebasis zu suchen ist
- Bestimmen, wie Prozesse und deklarative Anpassungen untersucht werden sollten
In einem Werk mit dem Titel "Reason in Common Sense" schrieb der Dichter und Philosoph George Santayana: "Wer sich nicht an die Vergangenheit erinnern kann, ist dazu verdammt, sie zu wiederholen." Dasselbe lässt sich zu Teams sagen, die Anwendungen entwickeln. Sich die Zeit zum Feststellen dessen zu nehmen, was in Ihrer Organisation bereits entwickelt wurde (samt Gründen und befolgten Standards), ist die Basis für künftigen Erfolg.
Wenn Sie Ihre Einführungsbemühungen mit einem Blick auf den aktuellen Zustand Ihrer Organisation beginnen, können Sie Probleme klar erkennen, bevor Sie Änderungen vornehmen. Zum Beispiel die Suche nach technischen Schulden, also nach Implementierungsentscheidungen, die anfangs sinnvoll waren, jetzt aber Innovation verhindern. Sie können auch Möglichkeiten finden, die richtigen Beteiligten besser einzubinden und Anpassungen an Ihren Teams vorzunehmen, bevor die Prozesse zu weit gediehen sind.
Die Analyse Ihrer bisherigen Arbeitsweise vor deren Umstellung hat für Ihre IT- und Anwendungsbereitstellungsteams viele Vorteile. Außerdem können Sie auf diese Weise feststellen, welche Probleme oder Unzulänglichkeiten in Ihren aktuellen Systemen durch veraltete Tools oder Technologien verursacht werden – und welche Probleme menschliche Ursachen haben. Diese von Menschen verursachten Probleme sind diejenigen, die Sie wirklich angehen müssen, bevor Sie versuchen, neue Technologie oder Funktionalität einzuführen.
Wie fangen Sie also an, Ihre Organisation zu untersuchen, wie sie heute dasteht?
Untersuchen Ihres Codes
Die Untersuchung Ihrer Codebasis kann eine Herausforderung darstellen. Besonders, wenn Sie neu in einer Organisation sind oder diese viel Code aufweist. Aber zu verstehen, wie die verschiedenen Teile Ihrer Organisation zueinander stehen, ist ein wesentlicher, notwendiger Schritt, um herauszufinden, wie Sie Ihre Organisation in präziseren, sinnvolleren Einheiten verwalten können.
Wonach suchen Sie also in Ihrem Code?
Typ des Codes | Zu suchende Elemente | Zu stellende Fragen |
---|---|---|
Auslöser | 1. Auslösermuster 2. Auslöserlogik | Hat Ihre Organisation einen Auslöser pro Objekt? Gibt es Geschäfts- oder Anwendungslogik, die direkt in einen Auslöser geschrieben wird? Geben Auslöser Logik oder Funktionalität an andere Klassen (sog. Auslöser-Handler) weiter? |
Apex-Klassen | 1. Benennungskonventionen 2. Kommentare 3. API-Version | Weisen Apex-Klassen gemeinsame Präfixe oder sogar Namespaces auf, um Codeeinheiten zu gruppieren? Haben Klassen basierend auf der Funktionalität ähnliche Namen? Sind Zweck und Urheberschaft von Code in Kommentaren dokumentiert? Enthalten Klassen Kommentare zur Verdeutlichung der Funktion? Welche API-Versionen werden von Klassen verwendet? |
Apex-Tests | 1. Testmuster/-einheiten 2. Codeabdeckung 3. Handhabung von Testdaten | Wie hängen Tests mit anderem Code zusammen? Gibt es für jede Klasse einen eigenen Test? Sind Ihre Tests in Funktionsgruppen organisiert? Gibt es Teile Ihrer Codebasis, die nicht durch Tests abgedeckt sind? Hängen Ihre Tests von gängigen Datenfaktoren oder statischen Ressourcen ab? Wir bei Ihren Tests die Anmerkung "seeAllData=True" verwendet oder werden sie mit einer API-Version vor 24 ausgeführt? |
Lightning-Komponenten und -Ereignisse | 1. Benennungskonventionen 2. Kommentare 3. Apex-Steuerfelder 4. API-Version | Verwenden Komponenten gemeinsame Präfixe oder sogar Namespaces zum Erstellen von Gruppen? Haben Komponenten in Bezug auf Funktionalität eindeutige Namen? Sind Lightning-Ereignisse als Anwendungs- oder Komponentenereignisse definiert? Sind Zweck und Urheberschaft von Komponenten und Ereignissen in Kommentaren oder Aura-Dokumentationsdateien nachvollziehbar dokumentiert? Werden Apex-Steuerfelder von Komponenten verwendet? Welche API-Versionen werden von Komponenten und Ereignissen verwendet? |
Visualforce | 1. Benennungskonventionen 2. Kommentare 3. Apex-Steuerfelder 4. API-Version | Verwenden Visualforce-Seiten und -Komponenten gemeinsame Präfixe oder sogar Namespaces zum Erstellen von Gruppen? Haben Seiten in Bezug auf Funktionalität eindeutige Namen? Werden Apex-Steuerfelder von Seiten verwendet? Welche API-Versionen werden von Seiten verwendet? Werden Seiten mit beliebigen E-Mail-Vorlagen verwendet? |
Anhand dieser Elemente können Sie Muster innerhalb des Codes in Ihrer Organisation erkennen. Aber diese Techniken helfen Ihnen möglicherweise nicht, alle Elemente Ihrer Codebasis zu verstehen. Oder wenn Ihre Codebasis nicht einheitlich organisiert zu sein scheint, müssen Sie vielleicht andere Wege ausprobieren, um herauszufinden, wie der Code Ihrer Organisation zusammenhängt.
Hier kann die neue Dependency API helfen. Durch Ausführen neuer Arten von Abfragen können Sie feststellen, wie Ihr Code und Ihre Metadaten organisiert sind. Sie können sich beispielsweise eine Lightning-Komponente auf einer bestimmten Seite oder das Apex-Steuerfeld einer bestimmten Visualforce-Seite ansehen und alle anderen Metadaten zurückverfolgen, die irgendwie mit diesem Apex-Steuerfeld oder Lightning-Komponente verbunden sind. Sie können mit diesen Abfragen auch Metadaten ermitteln, die nicht mehr verwendet werden, und entscheiden, ob sie sicher gelöscht werden können.
Überprüfen Ihrer Prozesse und deklarativen Anpassungen
Und was ist mit den deklarativen Anpassungen, die Sie in Ihrer Organisation vorgenommen haben? Wie sollten Sie Dinge angehen, die Sie mit Klicks statt mit Code realisiert haben?
Eine Möglichkeit des Einstiegs ist der Salesforce Optimizer. Dieses Tool kann Empfehlungen zur Verbesserung einiger Funktionen in Ihrer Salesforce-Implementierung geben. Nachdem Sie sich Ihren Optimizer-Bericht eingesehen haben, können Sie sich die Prozesse und deklarativen Anpassungen Ihrer Organisation genauer anschauen.
Wonach sollten Sie suchen?
Art der Anpassung | Zu suchende Elemente | Zu stellende Fragen |
---|---|---|
Flow/Visueller Flow | 1. Benennungskonventionen 2. Objektbezogene Muster 3. Aktive/inaktive Versionen 4. Flow-Logik 5. Flow-Bildschirme | Verwenden Flows Präfixe oder ähnliche Namen, um Gruppen zu erstellen? Haben Flows Namen mit eindeutigem Bezug zur Funktionalität? Haben Flows klare, aktuelle Beschreibungen? Mit welchen Objekten interagiert ein Flow? Wie ist das Verhältnis zwischen inaktiven Flows bzw. Flow-Versionen und aktiven Flows? Legen Flows gemeinsame Funktionalität in Subflows, aufrufbaren Aktionen oder Schnellaktionen ab? Wenn Flows Bildschirme haben, basieren diese auf Lightning-Komponenten? Sind Bildschirme von bestimmten Objekten und Feldern abhängig? Gibt es veraltete Automatisierungen, die in Flows umgewandelt werden müssen? |
Objekte und Felder | 1. Benennungskonventionen 2. Datensatztypen 3. Seitenlayouts 4. Berechtigungen 5. Aktionsüberschreibungen | Wurden benutzerdefinierte Objekte erstellt, die das Verhalten von Standardobjekten duplizieren? Nutzen mehrere Geschäftseinheiten die gleichen Objekte oder Felder? Werden Geschäftslogik und Validierungen nach Datensatztypen unterschieden? Haben Objekte und Felder klare, aktuelle Beschreibungen? |
Sie möchten sich ein klares Bild davon machen, wie gut Ihre Prozesse und deklarativen Anpassungen bisher organisiert waren. Wenn Sie feststellen, dass Ihre Organisation nicht so organisiert ist, wie Sie es gerne hätten, ist das in Ordnung. Jetzt ist es an der Zeit, die Bereiche zu bestimmen, in denen Ihr Team an der Verbesserung der Qualität arbeiten kann, und einige Standards zu entwickeln, die Ihnen helfen können, eine zukunftsfähige Organisation aufzubauen. Sie können auch Projekte ausmachen, die Sie zuerst in Angriff nehmen sollten, um Teile Ihrer Organisation in Ordnung zu bringen.
Bleiben Sie dran
In den kommenden Monaten werden wir weitere Ressourcen und Möglichkeiten zur praktischen Umsetzung dieser Konzepte hinzufügen. Sie haben die Möglichkeit, sich mit dem Entflechten von Metadaten und dem Erstellen von Paketen zu beschäftigen, und erfahren mehr über die Verwaltung freigeschalteter Pakete.
Ressourcen
- Artikel von BA Times: Wie ist der aktuelle Zustand?
- Artikel von Atlassian: Entkommen des schwarzen Lochs technischer Schulde
- Blogpost: Abtragen Ihrer technischen Schulden
- Salesforce-Hilfe: In Salesforce Optimizer ausgewertete Funktionen