Ottimizzare la progettazione del carico di lavoro usando i flussi
Questo articolo illustra l'ottimizzazione mirata dei carichi di lavoro usando i flussi. I diversi componenti di un carico di lavoro hanno requisiti e livelli di importanza diversi. Segmentando un carico di lavoro in flussi, è possibile classificare in ordine di priorità parti diverse di un carico di lavoro e allineare meglio gli investimenti dei carichi di lavoro con l'importanza di ogni flusso.
Questo processo di ottimizzazione del carico di lavoro è iterativo e prevede tre passaggi chiave: (1) definire la struttura del flusso all'interno del carico di lavoro, (2) definire i requisiti tecnici e (3) progettare il flusso per soddisfare i requisiti (vedere la figura 1).
Figura 1: Processo per ottimizzare i carichi di lavoro usando i flussi.
Definire il flusso
Prima di poter definire i requisiti di flusso, è necessario comprendere i driver aziendali per il flusso. I prerequisiti per definire un flusso identificano il processo aziendale e il caso d'uso supportati. Quando si conoscono i prerequisiti, è possibile iniziare a documentare il flusso.
Comprendere i prerequisiti
I flussi sono sequenze di azioni che supportano la funzionalità del carico di lavoro. Esistono due tipi principali di flussi: flussi utente e flussi di sistema. I flussi utente determinano le interazioni utente. I flussi di sistema determinano la comunicazione tra i componenti del carico di lavoro. I flussi supportano processi aziendali e casi d'uso. Un carico di lavoro è costituito da più casi d'uso. È necessario identificare il processo aziendale e il caso d'uso supportati dal flusso prima di documentare un flusso (vedere la figura 2).
Figura 2: Relazione tra processi aziendali, casi d'uso, flussi e carico di lavoro.
Identificare il processo aziendale
Un processo aziendale è una serie di azioni (fasi) che soddisfano un requisito aziendale. I flussi determinano la sequenza che un utente o i dati accettano per eseguire ogni fase di un processo aziendale. Ad esempio, la vendita online di prodotti è un processo aziendale. Le fasi di questo processo aziendale potrebbero essere elencare il prodotto online, ricevere ordini e consegnare il prodotto.
Identificare il caso d'uso
Un caso d'uso definisce i requisiti funzionali di un flusso. È necessario identificare e comprendere il caso d'uso supportato da un flusso prima di stabilire i requisiti tecnici di un flusso. Ogni caso d'uso deve supportare una fase in un processo aziendale (vedere la figura 2). Un caso d'uso deve definire gli attributi seguenti:
Scopo: articolato chiaramente le attività o gli obiettivi, ad esempio l'abilitazione degli acquisti online. Questa chiarezza guida la progettazione funzionale e imposta obiettivi chiari per la progettazione del flusso.
Criticità: valutare l'importanza del caso d'uso, da routine a critica. Il valore assegnato a un caso d'uso indica la definizione delle priorità e la progettazione del flusso. I casi d'uso di alto valore potrebbero richiedere considerazioni avanzate sulla gestione degli errori, sull'ottimizzazione delle prestazioni o sull'esperienza utente.
Consumer: identificare se gli utenti (clienti, personale) o i componenti di sistema sono i consumer primari. Questa categorizzazione determina se si tratta di un flusso utente o di un flusso di sistema e influisce sulla progettazione.
Eventi: definire trigger o condizioni che avviano e concludono il caso d'uso. Questi eventi definiscono i limiti del flusso.
Esecuzione: comprendere la frequenza operativa e la variabilità del caso d'uso per prevedere il carico del sistema. È necessario progettare un flusso per gestire diversi scenari di esecuzione.
Dipendenze: identificare le interdipendenze con altri casi d'uso per la gestione dei rischi. Il riconoscimento delle dipendenze di un caso d'uso consente di progettare flussi che si integrano senza problemi con altre parti di sistema. È necessario garantire la disponibilità degli input necessari e la compatibilità degli output con i processi successivi.
Documentare il flusso
Usare il caso d'uso per documentare il flusso. È necessario delineare o mappare ogni azione necessaria in un flusso. Acquisire i criteri e i percorsi decisionali. Identificare le interazioni con altri casi d'uso. Questa struttura funge da progetto per la progettazione e la gestione dei flussi. È anche necessario acquisire informazioni aziendali sul flusso. Assicurarsi di includere i dettagli seguenti nella documentazione del flusso:
Descrizione del flusso: descrizione generale del flusso.
Processo aziendale: il processo aziendale supportato dal flusso.
Proprietario del processo: l'utente proprietario del processo aziendale.
Stakeholder: le persone che è necessario informare o consultare lo stato o le modifiche del flusso.
Percorsi di escalation: singoli utenti o gruppi che è necessario contattare per risolvere i problemi. È una sequenza di persone. L'ambito della responsabilità individuale cresce con ogni persona nel percorso.
Impatto aziendale: importanza di questo flusso per l'azienda.
Classificazione di criticità: etichetta qualitativa che indica l'importanza relativa del flusso.
Per altre informazioni, vedere Esempi di Flow.
Definire i requisiti del flusso
Usare il caso d'uso per stabilire le destinazioni tecniche del flusso. Definire obiettivi misurabili per il flusso allineato ai cinque pilastri di Well-Architected Framework (WAF). Questi pilastri forniscono un framework per l'impostazione di obiettivi tecnici:
Obiettivi di affidabilità: valutare l'importanza di ogni flusso e impostare gli obiettivi di affidabilità di conseguenza. Determinare le soglie di prestazioni e stabilire contratti di servizio e obiettivi chiari. I flussi di criticità più elevati richiedono obiettivi di affidabilità più rigorosi.
Obiettivi di sicurezza: analizzare le esigenze di sicurezza di ogni flusso in base alla riservatezza dei dati e alle attività degli utenti. Implementare e aggiornare continuamente le misure di sicurezza per soddisfare queste esigenze garantendo al tempo stesso la conformità agli standard normativi.
Obiettivi di costo: comprendere le richieste di ogni flusso per un'allocazione efficace delle risorse. Impostare le destinazioni per bilanciare i costi con le prestazioni. Assicurarsi che l'utilizzo delle risorse sia allineato alle priorità aziendali.
Obiettivi operativi: definire le metriche per un monitoraggio e una risoluzione dei problemi efficaci. Gli obiettivi devono garantire un uso efficiente delle risorse e l'allineamento con gli obiettivi dell'organizzazione.
Obiettivi di prestazioni: destinazioni di prestazioni di base sui requisiti iniziali di ogni flusso. Assicurarsi che i flussi essenziali ricevano risorse adeguate e adattino continuamente gli obiettivi per soddisfare le esigenze in continua evoluzione e migliorare le esperienze utente.
Progettare il flusso
Progettare il flusso per soddisfare gli obiettivi tecnici. È consigliabile acquisire familiarità con le procedure consigliate per la progettazione del flusso in modo da ottenere il risultato corretto. Compilare e testare il flusso. Scorrere la progettazione fino a quando non soddisfa gli obiettivi tecnici stabiliti.
Seguire le procedure consigliate per la progettazione del flusso
Durante la progettazione di un flusso, seguire le procedure consigliate per la progettazione del flusso. Un flusso ben progettato ha gli attributi seguenti:
Ambito: identificare punti iniziali e finali distinti per ogni flusso. I limiti chiari consentono di ottimizzare le interazioni tra utenti o sistemi.
Logico: progettare i flussi con un ordine logico di passaggi. Ottimizzare per il percorso più efficiente e ridurre i passaggi non necessari.
Gestibile: i flussi di progettazione sono facili da aggiornare e gestire. Usare componenti modulari che è possibile modificare senza influire sull'intero carico di lavoro.
Definito: incorporare condizioni specifiche che attivano o guidano ogni passaggio in un flusso. Questa precisione garantisce che il flusso risponda in modo accurato agli input dell'utente, alle modifiche dei dati o agli stati di sistema.
Affidabile: creare percorsi di gestione degli errori e eccezioni nei flussi. Una gestione efficace degli errori impedisce interruzioni e mantiene l'integrità del flusso in circostanze impreviste.
Scalabile: assicurarsi che sia in grado di gestire carichi variabili e adattarsi alla crescita o alla riduzione dei volumi di dati o delle basi utente.
Sicuro: incorporare misure di sicurezza all'interno del flusso. Proteggere i dati e le interazioni degli utenti da accessi e minacce non autorizzati.
Efficiente: pianificare un uso efficiente delle risorse senza provisioning eccessivo. Tenere presente l'ottimizzazione dei costi.
Incentrato sull'utente: per i flussi utente, allineare la progettazione del flusso alle aspettative e ai comportamenti degli utenti. Renderlo intuitivo e ridurre la curva di apprendimento per i nuovi utenti.
Sviluppare e testare il flusso
Sviluppare il flusso per soddisfare gli obiettivi tecnici e testarlo per assicurarsi che soddisfi i propri requisiti. Questo processo verifica che il flusso funzioni come previsto, gestisce in modo efficiente le attività e soddisfi gli obiettivi tecnici. Ecco le indicazioni per compilare e testare un flusso:
Selezionare le tecnologie: scegliere tecnologie allineate alle destinazioni impostate in termini di affidabilità, sicurezza e prestazioni.
Flusso di sviluppo: creare il flusso in base alla progettazione, tenendo presenti le destinazioni impostate.
Flusso di test: eseguire test per garantire che il flusso soddisfi le destinazioni. Eseguire l'iterazione in base alle esigenze per soddisfare gli obiettivi.
Monitoraggio: implementare gli strumenti di monitoraggio per tenere traccia dell'utilizzo e dei costi delle risorse.
Esaminare periodicamente il flusso in base agli obiettivi impostati e agli standard del settore. Usare il feedback del monitoraggio e dei controlli per migliorare il flusso. Modificare gli obiettivi e i processi in base alle esigenze aziendali in continua evoluzione o ai progressi tecnologici.
Ottimizzare i flussi
Ripetere il processo definito in questo articolo per tutto il ciclo di vita del flusso. Durante l'iterazione della progettazione del flusso, usare Well-Architected Framework per ottimizzare i flussi dal punto di vista di ogni pilastro:
- Affidabilità del flusso
- Sicurezza dei flussi
- Ottimizzazione dei costi del flusso
- Eccellenza operativa del flusso
- Efficienza delle prestazioni del flusso
Esempi di flow
Ecco alcuni esempi di flusso che consentono di progettare i flussi. Gli esempi usano l'architettura di riferimento del modello di app Web affidabile come base e mostra la documentazione che è necessario avere in ogni flusso.
Flusso utente 1: Creare concerti imminenti
Descrizione del flusso: i dipendenti di Call Center usano l'applicazione per creare un concerto imminente.
Processi aziendali: questo flusso supporta il processo di acquisto dei ticket , ma è asincrono, riducendone la criticità.
Proprietario del processo: Director of Sales.
Stakeholder: reparto vendite, pianificazione e operazioni concertate, team della piattaforma e team dell'applicazione.
Percorsi di escalation: team dell'applicazione, team della piattaforma e reparto vendite.
Impatto aziendale: questo flusso è importante per rendere disponibili nuovi concerti sulle piattaforme di vendita, influenzando direttamente il flusso di ricavi principale dell'azienda. Quando i dipendenti del call center non sono in grado di creare concerti a causa dell'indisponibilità di questo flusso, influisce negativamente sia sui ricavi che sulla reputazione dell'azienda. Tuttavia, la disponibilità elevata non è essenziale per questo processo, poiché i concerti vengono in genere pianificati in anticipo su base settimanale. Il reparto vendite ha specificato un requisito di disponibilità del 95% per questo processo e può accettare tempi di inattività al di fuori dell'orario lavorativo a scopo di manutenzione.
Classificazione di criticità: bassa.
Flusso utente 2: Cerca concerti
Descrizione del flusso: i dipendenti del call center usano l'applicazione per cercare concerti imminenti.
Processi aziendali: questo flusso supporta il processo di acquisto dei biglietti , ma i dipendenti del call center possono scegliere di elencare tutti i concerti se la funzione di ricerca non è disponibile.
Proprietario del processo: reparto UX (User Experience).
Stakeholder: reparto vendite, team della piattaforma e team dell'applicazione.
Percorso di escalation: team dell'applicazione, team della piattaforma, responsabile reparto vendite su chiamata.
Impatto aziendale: questo flusso consente ai dipendenti del call center di trovare rapidamente concerti e fa parte del normale processo di vendita. La disponibilità elevata di questo flusso non è fondamentale perché i dipendenti hanno la possibilità di elencare i concerti anche in assenza. Ciò degrada l'esperienza del dipendente del call center potrebbe compromettere e influire sulla produttività. I clienti potrebbero riscontrare frustrazioni a causa di tempi di attesa o ritardi maggiori. Il reparto vendite ha richiesto una disponibilità del 99% di questo flusso durante l'orario di ufficio normale.
Classificazione di criticità: media.
Flusso utente 3: Ottenere un elenco dei concerti
Descrizione del flusso: i dipendenti del call center usano l'applicazione per ottenere un elenco di concerti.
Processi aziendali: questo flusso supporta direttamente il processo di acquisto del ticket .
Proprietario del processo: Director of Platform.
Stakeholder: reparto vendite, team della piattaforma, team dati.
Percorso di escalation: team di dati, team di dati on-call engineer, team on-call engineer della piattaforma.
Impatto aziendale: questo flusso è fondamentale per il percorso critico delle transazioni che generano ricavi per l'azienda. La disponibilità elevata è essenziale, poiché i dipendenti del call center si basano su questo flusso per elaborare gli acquisti di ticket. Nel riconoscimento della sua importanza, l'azienda impone un tempo di attività del 99,9% per questo flusso, che include ore di ufficio estese.
Classificazione di criticità: alta.
Flusso utente 4: Ticket di acquisto
Descrizione del flusso: i dipendenti del call center usano l'applicazione (il processo di autenticazione e autorizzazione ) per acquistare i biglietti per un concerto imminente (processo di concerti imminenti ) per conto dei clienti Relecloud.
Processi aziendali: questo flusso è la funzionalità di base e il flusso dell'applicazione.
Proprietario del processo: Director of Sales.
Stakeholder: reparto vendite e tutti i team tecnici.
Percorso di escalation: team di applicazioni on-call engineer, team on-call engineer della piattaforma, team di dati on-call engineer, Chief Operating Officer.
Impatto aziendale: la disponibilità elevata di questo flusso è fondamentale perché consente direttamente gli acquisti di ticket dei clienti. Qualsiasi malfunzionamento o indisponibilità di questo flusso può influire significativamente sia sui ricavi che sulla reputazione dell'azienda. L'azienda ha impostato un requisito rigoroso per questo processo vitale, prevedendo un tempo di attività del 99,9%, anche durante gli orari di ufficio prolungati.
Classificazione di criticità: alta.
Flusso utente 5: Autenticazione e autorizzazione
Descrizione del flusso: i dipendenti del call center accedono in modo sicuro all'applicazione. Gli amministratori forniscono loro i ruoli appropriati per acquistare i ticket per conto dei clienti Relecloud.
Processi aziendali: questo flusso supporta direttamente il processo di acquisto del ticket . Senza questa funzionalità, i dipendenti del call center non possono accedere all'applicazione per acquistare biglietti.
Proprietario del processo: team della piattaforma.
Stakeholder: team della piattaforma, team operativo e reparto vendite.
Percorso di escalation: team on-call engineer della piattaforma, Chief Operating Officer.
Impatto aziendale: questo flusso richiede disponibilità elevata perché i dipendenti del call center non possono acquistare ticket se questo flusso non funziona correttamente. Se questo flusso non è disponibile, influisce direttamente sui ricavi e sulla reputazione. È un processo chiave per cui l'azienda prevede un tempo di attività del 99,9%, incluso durante gli orari di ufficio prolungati.
Classificazione di criticità: alta.
Flusso di sistema: raccogliere i dati di telemetria
Descrizione del flusso: per comprendere le modifiche dello stato nel sistema di produzione, nelle istanze dell'applicazione Web e dell'API, raccogliere e inviare informazioni, errori e avvisi. Questi dati consentono al team operativo di eseguire il rilevamento anomalie, la risoluzione dei problemi e la profilatura.
Processi aziendali: questo flusso non supporta processi aziendali, ma fornisce dati importanti per il team operativo.
Proprietario del processo: Director of Operations.
Stakeholder: team operativo, team della piattaforma e team dati.
Percorso di escalation: team operativo (24/7), team di dati on-call engineer.
Impatto aziendale: questo flusso è essenziale per le attività di monitoraggio e miglioramento continuo dell'azienda. Deve essere il più ridondante e resiliente possibile. Il team operativo è responsabile del ripristino rapido di questo flusso dopo qualsiasi errore per evitare la mancanza di informazioni critiche e avvisi. Se il flusso non riesce a ottenere la disponibilità prevista, esiste il rischio di ignorare i problemi di produzione, causando potenzialmente gravi conseguenze. Per attenuare questo rischio, il reparto operativo mira al 99% del tempo di attività, 24/7. Devono pianificare un tempo di inattività correlato alla manutenzione almeno 48 ore in anticipo.
Classificazione di criticità: media.