Operational Excellence - Automatisointikuvio


Lue lisää hyvin rakennetuista toimintatavoista → Automaatio ja tehokkuus

Kuvio

Mistä etsiäMiltä hyvä näyttää
Sovellusalusta | Mittaristot✅ Kaikki KPI-mittareihin liittyvät tilastot sisältyvät vähintään yhteen mittaristoon
Sovellusalusta | Dokumentaatio✅ Jokaisen automatisoinnin tulokset ovat mitattavissa ja ajoitettuja
Sovellusalusta | Dokumentaatio✅ Kuka tahansa KPI-mittari sisältää luettelon vastuullisista sidosryhmistä

Anti-Mallit

Mistä etsiäMiltä huono näyttää
Sovellusalusta | Mittaristot⚡️ KPI-raportointia ei ole olemassa tai mittaristoista puuttuu joidenkin KPI-mittareiden tilastoja
Sovellusalusta | Dokumentaatio⚡️ KPI:t eivät sisällä vastuullisia sidosryhmiä
Sovellusalusta | Dokumentaatio⚡️ KPI-mittareita ei ole olemassa automaatioille tai niillä ei ole selkeitä ajanjaksoja mittauksille

Kuvio

Mistä etsiäMiltä hyvä näyttää
Sovellusalusta | Kulku✅ Flow Builderia käytetään tietueiden käynnistämään automatisointiin (Process Builderin ja työnkulkusääntöjen korvaamiseen)
Sovellusalusta | Kulku✅ Tietueiden käynnistämiä kulkuja, joilla on ennen tallennusta suoritettu suoritus, käytetään kenttäjoukolle ennen tietueen luomista
Sovellusalusta | Kulku✅ Kulut käsittelevät päätöslogiikkaa, silmukoita, API-kutsuja, DML-operaatioita ja monimutkaista monivaiheista orkestrointia
Sovellusalusta | Kulku✅ Kulun transaktioiden hallintaa käytetään väliaikaisten muutosten tekemiseen tarvittaessa
Sovellusalusta | Kulku✅ Virheiden käsittely on toteutettu kulkujen virheiden helpottamiseksi
Sovellusalusta | Kulku✅ Reaktiiviset ruutukulut tarjoavat dynaamisia käyttökokemuksia
Sovellusalusta | Kulku✅ Deklaratiivinen automatisointi valitaan, kun yrityskäyttäjien tai pääkäyttäjien täytyy muokata logiikkaa ilman kehittäjien osallistumista
Sovellusalusta | Kulku✅ Muuttujat eivät viittaa kovakoodattuihin arvoihin (tietuetyypeille, käyttäjille jne.)
Sovellusalusta | Kulku✅ Kulkee manuaalisen logiikan Apexiin suurissa datamäärien konteksteissa
Sovellusalusta | Kulku✅ Alakulkuja käytetään prosessien osioissa, joita täytyy käyttää uudelleen koko yrityksessä
Sovellusalusta | Kulku✅ Kaikki automaattisesti käynnistyvät kulut käyttävät päätös- ja/tai keskeytyselementtejä arvioidakseen syöttöehdot ja estääkseen loputtomia silmukoita tai suorituksia suurille datamääriin
Sovellusalusta | Kulku✅ Käyttäjiä pyydetään antamaan tietoja vain, kun olemassa olevaa järjestelmädataa ei voi käyttää
Sovellusalusta | Kulku✅ Kulut on järjestetty hierarkkiseen rakenteeseen, joka koostuu pääkulusta ja tukevista alakulkuista
Sovellusalusta | Kulku✅ Kaikilla käyttäjien syöttämillä tiedoilla on selkeä käyttötarkoitus kulussa
Sovellusalusta | Kulku✅ Jokainen kulku tarjoaa yksittäisen käyttötarkoituksen
Sovellusalusta | Kulku✅ Jokainen vaihe suorittaa tietyn, tarkkaan määritetyn tehtävän
Sovellusalusta | Kulku✅ Kaikki käyttäjäkontekstissa käynnistetyt kulut, abstrakti järjestelmäkontekstien transaktiot alakulkuihin, asetetaan yhdenmukaisesti Tauko-elementin jälkeen luodakseen uuden transaktion
Sovellusalusta | Kulku✅ Kaikki tietueiden käynnistämät kulut sisältävät käynnistimen järjestyksen arvot
Sovellusalusta | Kulku✅ Ulkoisia järjestelmäkutsuja tai pitkäaikaisia prosesseja sisältävät kulut käyttävät asynkronisia polkuja
Sovellusalusta | Kulku✅ Asiaan liittyvien datatoimintojen monimutkaiset järjestykset luodaan Orchestratorilla (monoliittisen kulun useiden alakulkujen kutsumisen sijaan)
Sovellusalusta | Vahvistus✅ Datan eheys noudatetaan sovellusalustan tasolla käyttämällä vahvistussääntöjä, identtisyyssääntöjä ja pakollisia kenttiä
Sovellusalusta | Vahvistus✅ Vahvistussäännöt estävät virheellisen datan syöttämisen ennen tallennusta (tehokumpi kuin käynnistimen vahvistus)
Sovellusalusta | Hyväksymisprosessit✅ Monivaiheinen hyväksymisreititys käsittelee rinnakkaiset ja peräkkäiset hyväksymispolut valtuutettujen hyväksyjien kanssa
Sovellusalusta | Hyväksymisprosessit✅ Hyväksymisarkkitehtuuri huomioi poikkeusskenaariot (kaikki hyväksyjät lomalla, kiireellinen liiketoimintavaatimus ohittaa normaalin hyväksynnän)

Anti-Mallit

Mistä etsiäMiltä huono näyttää
Sovellusalusta | Kulku⚡️ Process Builder ja työnkulkusäännöt, joita käytetään uuteen automatisointiin (Flow Builder on strateginen suunta)
Sovellusalusta | Kulku⚡️ Ohjelmallista automatisointia, jota käytetään, kun yrityskäyttäjien tai pääkäyttäjien täytyy muokata logiikkaa ilman kehittäjien osallistumista
Sovellusalusta | Kulku⚡️ Kulkujen vianmääritys puuttuu, mikä johtaa heikkoon virheiden palautukseen
Sovellusalusta | Kulku⚡️ Muuttujilla on kovakoodatut arvot
Sovellusalusta | Kulku⚡️ Kulkujen aktivoinnin täytyy kumota manuaalisesti ennen datan joukkolatausta
Sovellusalusta | Kulku⚡️ Kulun osia toistetaan kuluissa alakulkujen sijaan
Sovellusalusta | Kulku⚡️ Kulut käynnistävät käsittelemättömien poikkeusten ilmoitukset
Sovellusalusta | Kulku⚡️ Jopa yksinkertaiset kulut aiheuttavat säännöllisesti virheitä hallintarajoituksiin liittyen
Sovellusalusta | Kulku⚡️ Kulut vaativat lisätietoja asiayhteyden tarjoamiseksi
Sovellusalusta | Kulku⚡️ Kulut tarjoavat useita käyttötarkoituksia
Sovellusalusta | Kulku⚡️ Asiaan liittyvien vaiheiden ryhmät sisältävät toimintoja, jotka limittyvät muiden kulkujen vaiheiden ryhmien kanssa
Sovellusalusta | Kulku⚡️ Kulut pyytävät käyttäjiä syöttämään tietoja, kun tallennettua dataa voidaan käyttää niiden sijaan
Sovellusalusta | Kulku⚡️ Kulut vaativat syötteitä, joiden dataa ei käytetä
Sovellusalusta | Kulku⚡️ DML:n suorittaminen ruutukomponentista saaduilla kokoelmilla (käytä tietueen tai tietueen kokoelman ”Käytä tunnuksia ja kaikkia kenttäarvoja” -asetusta luodessasi, päivittääksesi tai poistaaksesi elementin, kun kokoelma saadaan ruutukomponentista)
Sovellusalusta | Kulku⚡️ Tietueiden käynnistämät kulut eivät käytä käynnistimen järjestyksen attribuutteja ollenkaan tai eivät käytä käynnistimen järjestyksen arvoja yhdenmukaisesti
Sovellusalusta | Kulku⚡️ Ei-synkronoituja polkuja, joita ei käytetä yhdenmukaisesti tai ollenkaan
Sovellusalusta | Kulku⚡️ Suuri, monoliittinen kulku yrittää koordinoida toisiinsa liittyvien datatoimintojen monimutkaisia sarjoja (alakulkujen kanssa tai ilman)
Sovellusalusta | Hyväksymisprosessit⚡️ Hyväksymisarkkitehtuuri ei huomioi poikkeusskenaarioita (kaikki loma-aikojen hyväksyjät, kiireelliset liiketoimintavaatimukset)
Sovellusalusta | Vahvistus⚡️ Datan eheyttä noudatetaan vain käynnistimissä vahvistussääntöjen sijaan (käynnistimen vahvistus on vähemmän tehokasta ja monimutkaisempaa)

Kuvio

Mistä etsiäMiltä hyvä näyttää
Sovellusalusta | Apex✅ Käynnistimen käsittelijän kehysjärjestelmä käyttää yksittäistä käynnistintä objektikohtaisesti, bulkkaamista, huolenaiheiden erottamista ja rekurssiivisten suoritusten estämistä
Sovellusalusta | Apex✅ Käynnisti käsittelijöitä delegoimaan palveluluokkiin liiketoimintalogiikkaa varten, pitäen huolenaiheet selkeästi erillään
Sovellusalusta | Apex✅ Käynnistimet käyttävät rekurssin suojausta käyttämällä staattisia merkintöjä tai erillistä rekurssin hallintaluokkaa
Sovellusalusta | Apex✅ Tulevaa Apexia käytetään säästeliäästi callout-kutsuille tai järjestelmäobjektin DML:lle
Sovellusalusta | Apex✅ Ei-synkronoidut Apex käyttävät ‘chainable’-monimutkaista DML-tiedostoa transaktioissa
Sovellusalusta | Apex✅ Apex käytetään suurille datamääriin (käsittelee suuria määriä dataa käyttämällä erillisiä hallintarajoituksia per osa)
Sovellusalusta | Apex✅ Erätyöllä on virheiden käsittely, joka kirjaa lokiin epäonnistuneet tietueet pysäyttämättä koko erän suoritusta
Sovellusalusta | Apex✅ Bulk API -rajapintaa käytetään vain, kun suuria määriä dataa täytyy käsitellä (natiiviin SOAP- ja REST API -rajapintoihin hyödynnetään pienempiä määriä dataa)
Sovellusalusta | Apex✅ Queueable Apex on käytössä monimutkaisessa työnkulkujen orkestroinnissa, ulkoisissa callout-kutsuissa uudelleenyrityslogiikalla ja käsittelyssä, joka hyötyvät asynkronoinnin rajoituksista
Sovellusalusta | Apex✅ Ajoitettu Apex suorittaa käsittelyn kiinteillä aikatauluilla yöhoitoa, päivittäistä raportointia, säännöllistä integraation synkronointia ja aikaan perustuvia liiketoimintasääntöjä varten
Sovellusalusta | Suunnittelun standardit✅ Synkronoitujen ja ei-synkronoitujen toimintojen käyttöskenaariot automaatioissa on kuvattu selkeästi osana suunnittelun standardeja
Sovellusalusta | Dokumentaatio✅ Automatisointien suunnitellut ja mahdolliset suorituspolut on kuvattu selkeästi

Anti-Mallit

Mistä etsiäMiltä huono näyttää
Sovellusalusta | Apex⚡️ Useat käynnistimet yhdelle objektille ennustamattomalla suoritusjärjestyksellä ja päällekkäisellä logiikalla
Sovellusalusta | Apex⚡️ Liiketoimintalogiikka upotettu suoraan käynnistimen tiedostoihin, mikä tekee testaamisesta vaikeaa
Sovellusalusta | Apex⚡️ Ei käynnistimen käsittelijän kehysjärjestelmää tai epäjohdonmukaisia käynnistimen kuvioita objekteissa
Sovellusalusta | Apex⚡️ Apex vaikutusalue on hyvin pieni (esimerkiksi vaikutusalueen koko = 1)
Sovellusalusta | Apex⚡️ Apex, jota käytetään ulkoisille callout-kutsuille (suuri määrä Salesforce-dataa, joka siirretään ulkoiseen järjestelmään Apex avulla)
Sovellusalusta | Apex⚡️ Asynkronoidut Apex, joita käytetään satunnaisesti (tulevaiset metodit ja jonossa oleva Apex käytetään epäjohdonmukaisesti tai vaiheittain)
Sovellusalusta | Apex⚡️ Async Apex, jota käytetään harvoin
Sovellusalusta | Apex⚡️ Tietokantaoperaatioilla ei ole selkeää ja yhdenmukaista logiikkaa suorituksen välittämiseksi Apexiin tarvittaessa
Sovellusalusta | Suunnittelun standardit⚡️ Synkronoitujen ja ei-synkronoitujen operaatioiden käyttötarkoituksia ei käsitellä
Sovellusalusta | Dokumentaatio⚡️ Automatisoinnin kutsua ei ole dokumentoitu

Kuvio

Mistä etsiäMiltä hyvä näyttää
Sovellusalusta | Sovellusalustan tapahtumat✅ Sovellusalustan tapahtumia käytetään tapahtumiin perustuvaan automatisointiin, joka irrottaa julkaisijat tilaajista
Sovellusalusta | Sovellusalustan tapahtumat✅ Julkaisijat eivät tiedä tilaajista ja julkaisevat Fire-and-Forget-viestin
Sovellusalusta | Sovellusalustan tapahtumat✅ Useat tilaajat reagoivat tapahtumiin itsenäisesti sovellusalustan tapahtumien käynnistämien kulkujen, Apex tai ulkoisten integraatioiden kautta
Sovellusalusta | Sovellusalustan tapahtumat✅ Toistotunnuksia käytetään toistamaan puuttuvia tapahtumia mistä tahansa 72 tunnin säilytysajan pisteestä
Sovellusalusta | Sovellusalustan tapahtumat✅ Sovellusalustan tapahtumat -ominaisuus sallii organisaatioiden välisen viestinnän, ulkoisten järjestelmien ilmoitusten ja sisäisten työnkulkujen orkestroinnin

Anti-Mallit

Mistä etsiäMiltä huono näyttää
Sovellusalusta | Sovellusalustan tapahtumat⚡️ Julkaisijoiden ja tilaajien välinen suora yhteys estää kompotoitavan automatisoinnin
Sovellusalusta | Sovellusalustan tapahtumat⚡️ Tilitason päivitys kutsuu suoraan mahdollisuuksien päivityksiä, tilitiimin ilmoituksia ja datan varaston synkronointia yhdessä transaktiossa (tiheä yhdistämistoiminto vaatii tilien logiikan muutoksia joka kerta, kun uusi alempi käsittely on tarpeen)
Sovellusalusta | Apex⚡️ Julkaise välittömästi sovellusalustan tapahtumat käytetään adhoc (reaaliaikaisia tapahtumia, joita käytetään Julkaise sitoumuksen jälkeen -vaihtoehdon sijaan, riippumatta julkaisujärjestyksen vaatimuksista tai tietueiden lukitsemisen riskeistä)

Kuvio

Mistä etsiäMiltä hyvä näyttää
Sovellusalusta | Apex✅ SOQL-lausekkeet käyttävät positiivisen logiikan vertailuoperaattoreita (INCLUDES, IN) ensisijaisena tai ainoana logiikkana
Sovellusalusta | Apex✅ SOQL välttää = NULL, != NULL tai käyttää niitä säästeliäästi positiivisten vertailukertojen jälkeen
Sovellusalusta | Apex✅ SOQL ei käytä LIMIT 1-lausekkeita
Sovellusalusta | Apex✅ SOQL ei käytä ALL ROWS-avainsanaa
Sovellusalusta | Apex✅ SOQL ei näy silmukoissa
Sovellusalusta | Apex✅ Wildcard-ehdot näytetään SOSL:ssä (ei SOQL:ssä)
Sovellusalusta | Apex✅ SOQL-lausekkeet välttävät LIKE-vertailuja tai osittaisia tekstien vertailuja
Sovellusalusta | Apex✅ SOQL on rivitetty try-catch-lohkoihin
Sovellusalusta | Apex✅ Muuttujat eivät viittaa kovakoodattuihin arvoihin (tietuetyypeille, käyttäjille jne.)
Sovellusalusta | Apex✅ Jokainen luokka tarjoaa yksittäisen käyttötarkoituksen
Sovellusalusta | Apex✅ Jokainen metodi suorittaa tietyn, tarkkaan määritetyn tehtävän
Sovellusalusta | Apex✅ Kaikilla input-muuttujilla on selkeä käyttötarkoitus luokassa
Sovellusalusta | Apex✅ Koodin suorittaminen vaatii vähimmäismäärän resursseja

Anti-Mallit

Mistä etsiäMiltä huono näyttää
Sovellusalusta | Apex⚡️ SOQL-lausekkeet käyttävät NOT-, NOT IN-ehtoja ensisijaisena tai vain vertailuoperaattorina (ei valinnaisena)
Sovellusalusta | Apex⚡️ SOQL-lausekkeet käyttävät avainsanaa ALL ROWS (ei valinnainen)
Sovellusalusta | Apex⚡️ SOQL-lausekkeet käyttävät = NULL-, != NULL-ehtoja ensisijaisena tai vain vertailuoperaattorina (ei valinnaisena)
Sovellusalusta | Apex⚡️ Muuttujilla on kovakoodatut arvot
Sovellusalusta | Apex⚡️ SOQL näytetään silmukoissa
Sovellusalusta | Apex⚡️ SOQL-lausekkeet käyttävät usein LIKE- ja yleismerkkisuodatusehtoja (ei valinnaisia)
Sovellusalusta | Apex⚡️ SOQL ei sisällytetä try-catch-lohkoihin
Sovellusalusta | Apex⚡️ SOQL-lausekkeet käyttävät LIMIT 1 (ei-valinnaista)
Sovellusalusta | Apex⚡️ SOSL-lauseketta käytetään harvoin tai ei jatkuvasti yleismerkkien valintaehdoille
Sovellusalusta | Apex⚡️ Luokat tarjoavat useita käyttötarkoituksia
Sovellusalusta | Apex⚡️ Metodit suorittavat useita tehtäviä tai metodit suorittavat tehtäviä, jotka eivät vastaa luokan määritettyä käyttötarkoitusta, johon ne kuuluvat
Sovellusalusta | Apex⚡️ Input-muuttujia ei käytetä metodeissa
Sovellusalusta | Apex⚡️ Metodit noutavat tietoja tarpeettomasti tietokannasta tai ulkoisista järjestelmistä

Kuvio

Mistä etsiäMiltä hyvä näyttää
Sovellusalusta | Apex✅ Mukautettuja poikkeuksia käytetään edistyneiden virheviestien ja logiikan luomiseen
Sovellusalusta | Apex✅ Koodi käsittelee kaikki DML-, SOQL-, callout-kutsut ja muut prosessin kriittiset vaiheet try-catch-lohkoihin
Sovellusalusta | Apex✅ Tietokantaluokkien menetelmiä voidaan käyttää yksinomaan kaikille datatoiminnoille (DML:n sijaan)
Sovellusalusta | Apex✅ Asynkronointi- ja joukkokonteissa käytetään Database-luokan metodeja DML:n sijaan
Sovellusalusta | Aura✅ JavaScript rivittää kaikki datatoiminnot ja prosessin kriittiset vaiheet try-catch-lohkoihin
Sovellusalusta | Aura✅ try-catch-lohkojen sisällä natiivia JavaScript Error-funktiota käytetään heittolausekkeissa (ei käytetä $A.error()-funktiota)
Sovellusalusta | Aura✅ Kaikki korjattavat virhelogiikat näytetään catch-lausekkeissa ja tarjoavat käyttäjille selkeitä viestejä
Sovellusalusta | Kulku✅ Datatoimintoja, callout-kutsuja ja muuta kriittistä käsittelylogiikkaa sisältävillä kuluilla on vikapolkuja kaikille tärkeimmille toiminnoille
Sovellusalusta | Kulku✅ Ruutukulut näyttävät käyttäjille virheitä jatkuvasti vikaliittimillä
Sovellusalusta | Kulku✅ Mukautetut virheviestit on määritetty näytettäville virheille
Sovellusalusta | Lightning (LWC)✅ JavaScript rivittää kaikki datatoiminnot ja prosessin kriittiset vaiheet if ()/else if () lohkoihin
Sovellusalusta | Lightning (LWC)✅ Kaikki @wire-funktiot käyttävät API:n tarjoamia data- ja error-ominaisuuksia
Sovellusalusta | Lightning (LWC)✅ Kaikki if (error)/else if (error)-lausunnot sisältävät logiikkaa, joka käsittelee virheet ja tarjoaa informatiivisia viestejä

Anti-Mallit

Mistä etsiäMiltä huono näyttää
Sovellusalusta | Apex⚡️ DML, SOQL, callout-kutsuja tai muita kriittisiä prosessin vaiheita, joita ei ole pakattu yhdenmukaisesti try-catch-lohkoihin
Sovellusalusta | Apex⚡️ Tietokanta-luokkien metodeja ei käytetä
Sovellusalusta | Apex⚡️ Vain DML:llä suoritetut datatoiminnot
Sovellusalusta | Apex⚡️ System.debug-lausunnot näytetään tuotanto-koodissa (ja niitä ei kommentoida)
Sovellusalusta | Aura⚡️ JavaScript ei rivitä datatoimintoja ja prosessin kriittisiä vaiheita yhdenmukaisesti try-catch-lohkoihin
Sovellusalusta | Aura⚡️ Komponentit käyttävät $A.error()
Sovellusalusta | Aura⚡️ Palautettavaa virhelogiikkaa ei näytetä yhdenmukaisesti catch-lausekkeissa eikä käyttäjille lähetettyjä virheviestejä näytetä selkeästi
Sovellusalusta | Kulku⚡️ Kulut eivät käytä vikapolkuja yhdenmukaisesti tai ollenkaan
Sovellusalusta | Kulku⚡️ Mukautettuja virheviestejä ei käytetä, joten käyttäjät näkevät oletusarvoisen “Tässä kulussa on tapahtunut käsittelemätön virhe” -viestin
Sovellusalusta | Lightning (LWC)⚡️ @wire-funktiot eivät käytä API:n tarjoamia data- ja error-ominaisuuksia (tai niitä ei käytetä yhdenmukaisesti)
Sovellusalusta | Lightning (LWC)⚡️ Jos käytetään ollenkaan, if (error)/else if (error)-lausunnot eivät sisällä oikeastaan logiikkaa, joka käsittelee virheet ja tarjoaa hyödyllisiä virheviestejä
Sovellusalusta | Lightning (LWC)⚡️ JavaScript ei käytä if ()/else if ()-lohkoja yhdenmukaisesti datatoimintojen tai kriittisten prosessien vaiheiden kanssa