Raccomandazioni per l'identificazione e la classificazione dei flussi

Si applica a questa raccomandazione per l'affidabilità di Azure Well-Architected Framework:

RE:02 Identificare e valutare i flussi utente e di sistema. Usare una scalabilità di criticità in base ai requisiti aziendali per classificare in ordine di priorità i flussi.

Questa guida descrive le raccomandazioni per identificare e classificare in ordine di priorità i flussi del carico di lavoro. L'identificazione e la definizione delle priorità dei flussi di carico di lavoro comporta il mapping dei flussi utente e dei flussi di sistema per determinare la loro criticità all'organizzazione. Questa procedura garantisce di identificare e classificare in ordine di priorità la funzionalità del carico di lavoro più critica per ridurre il rischio di errori dannosi. L'errore di identificare e classificare in ordine di priorità i flussi del carico di lavoro può causare suddivisioni del sistema e affidabilità compromessa del carico di lavoro.

Definizioni

Termine Definizione
Flusso utente Percorsi o sequenze di azioni eseguite dagli utenti all'interno di un'applicazione o di un sistema.
Flusso di sistema Flusso di informazioni e processi all'interno di un sistema. Il sistema segue automaticamente questo flusso per abilitare i flussi utente o la funzionalità del carico di lavoro.

Strategie di progettazione chiave

Quando si progetta il carico di lavoro, è essenziale definire i flussi utente e i flussi di sistema. I flussi utente graficono lo spostamento di un utente tramite l'applicazione. Si concentrano sull'interfaccia utente, sulle interazioni, sulle decisioni e sui passaggi necessari per completare un'attività. I flussi utente offrono una prospettiva incentrata sull'esperienza utente e sulla progettazione dell'interfaccia. I flussi di sistema graficino i lavori interni del carico di lavoro. Si concentrano sullo spostamento dei dati, l'elaborazione di input, l'elaborazione di output e le interazioni tra i componenti del carico di lavoro, i servizi back-end e le API esterne. I flussi di sistema indicano i dettagli complessi del funzionamento interno del carico di lavoro.

È necessario identificare e definire i flussi nelle fasi iniziali della progettazione del carico di lavoro. Offre una comprensione più chiara degli effetti sull'affidabilità del carico di lavoro. Allinea le decisioni dell'architettura in modo stretto agli obiettivi di affidabilità del carico di lavoro.

Identificare tutti i flussi utente e di sistema

L'output di identificazione di tutti i flussi utente e di sistema è un catalogo di tutti i flussi nel carico di lavoro. Questo processo di identificazione richiede di eseguire il mapping di ogni interazione e processo dell'utente all'interno di un sistema dall'inizio alla fine. Questo mapping è un prerequisito per identificare i flussi critici. Ecco i consigli per identificare tutti i flussi utente e di sistema in un carico di lavoro:

  • Intervistare gli stakeholder. Gli stakeholder possono fornire informazioni preziose per identificare i flussi e possono anche aiutare a eseguire il mapping e la definizione delle priorità dei flussi. È anche possibile intervistare utenti, business analyst e team tecnici per raccogliere informazioni dettagliate sulle interazioni e sulle dipendenze degli utenti all'interno del carico di lavoro.

  • Esaminare la documentazione. Nella fase di progettazione potrebbe non essere disponibile documentazione da esaminare. Tuttavia, se la documentazione esiste, è consigliabile usarla. Richiedere diagrammi dell'architettura di sistema, manuali utente e descrizioni dei processi. Questi documenti consentono di comprendere le funzionalità previste del carico di lavoro e i relativi singoli flussi.

  • Osservare il carico di lavoro. Monitorare il carico di lavoro in funzione, notando il modo in cui gli utenti interagiscono con esso e il modo in cui i diversi componenti interagiscono tra loro. È consigliabile analizzare i log di sistema, le metriche delle prestazioni e i log attività utente per identificare modelli, attività frequenti e risposte di sistema.

  • Elencare i flussi identificati. I colloqui, la documentazione e l'osservazione devono consentire di identificare tutti i flussi nel carico di lavoro. Compilare un elenco di tutti i flussi identificati e classificarli in flussi utente (concentrandosi sulle interazioni degli utenti) e sui flussi di sistema (concentrandosi sui processi back-end e sullo spostamento dei dati).

  • Definire i punti di inizio e fine del flusso. Per ogni flusso identificato, definire chiaramente dove inizia il flusso e dove termina. Per i flussi utente, documentare ogni interazione dell'utente e il risultato previsto. Concentrarsi sull'esperienza utente e sulla progettazione dell'interfaccia. Per i flussi di sistema, è necessario identificare i trigger sottostanti e i risultati previsti.

  • Suddividere ogni flusso. Suddividere ogni flusso in singoli passaggi, descrivendo le azioni, le decisioni o i processi che si verificano a ogni punto. Si noti come ogni passaggio interagisce con altre parti del sistema, incluse le dipendenze da altri flussi o sistemi esterni. Dovrebbe essere possibile individuare il modo in cui i flussi si integrano con e influiscono sul carico di lavoro e sull'esperienza utente. Questo doppio approccio offre una visione olistica dell'intero carico di lavoro.

  • Documentare output univoci. Identificare eventuali percorsi o eccezioni alternativi all'interno di ogni flusso, ad esempio la gestione degli errori o la diramazione condizionale. Se un flusso ha più risultati possibili, è necessario aggiungerlo al catalogo come voci distinte. Per i flussi utente, è necessario identificare il comportamento previsto dell'interazione. Per i flussi di sistema, è necessario identificare il comportamento previsto del processo.

  • Visualizzare con diagrammi. Creare diagrammi di flusso o diagrammi per rappresentare visivamente il flusso e i relativi passaggi. È possibile utilizzare strumenti come Microsoft Visio, diagrammi di sequenza UML, diagrammi caso d'uso, strumenti di disegno semplici o un elenco descrittivo in formato testo (vedere Catalogo di flussi di esempio).

  • Aggiornare il mapping dei flussi in modo iterativo. Il mapping dei flussi è un processo iterativo. I flussi possono modificare, dividere o combinare, in particolare nella fase di progettazione. Man mano che i flussi del carico di lavoro diventano più chiaramente definiti, è necessario aggiornare il catalogo dei flussi in modo che corrispondano. Convalidare e perfezionare i diagrammi di flusso con feedback degli stakeholder per garantire accuratezza e completezza.

Identificare i processi aziendali per ogni flusso

I processi aziendali sono una serie di attività per ottenere un output, ad esempio l'evasione degli ordini, la gestione del servizio clienti o il controllo dell'inventario. L'identificazione dei processi aziendali per ogni flusso implica il mapping dei flussi a uno o più processi aziendali. Questo mapping consente di comprendere l'importanza di ogni flusso per l'azienda.

Potrebbe essere disponibile la documentazione o i piani aziendali esistenti che forniscono un mapping dei flussi ai processi aziendali. A volte manuali dell'utente, materiali di training o specifiche di sistema possono fornire informazioni dettagliate sull'uso e sullo scopo desiderato del carico di lavoro e dei relativi flussi. In caso contrario, è necessario eseguire il mapping dei flussi ai processi aziendali supportati. Ecco i consigli per identificare i processi aziendali per ogni flusso:

  • Usare gli output del carico di lavoro. È possibile usare gli output del carico di lavoro e la suddivisione dei flussi per correlare i flussi con i processi aziendali supportati. Esaminare prima di tutto gli output generati dal carico di lavoro. L'output può essere report di vendita, file di dati o attività completate.

  • Condurre interviste. Parlare con i membri del team e gli stakeholder che interagiscono con il carico di lavoro. È consigliabile porre domande specifiche sulle attività quotidiane, sul modo in cui usano il carico di lavoro e sugli obiettivi che raggiungono con esso. I team tecnici spesso hanno una conoscenza più approfondita della struttura del carico di lavoro e possono fornire informazioni dettagliate sui processi aziendali supportati.

  • Monitorare l'utilizzo del carico di lavoro. Per i carichi di lavoro esistenti, monitorare il carico di lavoro e cercare modelli di utilizzo che indicano i processi aziendali sottostanti, ad esempio l'immissione dei dati, l'elaborazione degli ordini o l'interazione del cliente.

  • Connettere l'output a un processo aziendale. Connettere i punti dagli output del flusso al processo aziendale complessivo supportato. Ad esempio, se un passaggio di flusso prevede l'elaborazione degli ordini dei clienti, supporta direttamente il processo aziendale di evasione degli ordini. L'evasione degli ordini contribuisce all'obiettivo aziendale di mantenere la soddisfazione dei clienti e generare ricavi. Infine, usare la suddivisione del flusso per determinare quale flusso ha creato il report di vendita.

Identificare i proprietari e gli stakeholder del processo per ogni flusso

Il proprietario del processo per un flusso è l'individuo responsabile dell'esecuzione corretta di un determinato processo. Sono responsabili di tale processo e dei flussi che lo supportano. È necessario identificare il proprietario del processo per ogni flusso di carico di lavoro. È anche necessario identificare gli stakeholder per ogni flusso. Gli stakeholder possono essere coinvolti nel carico di lavoro, avere dipendenze da un flusso o gestire una dipendenza che il flusso ha.

Potrebbe essere disponibile una matrice di assegnazione delle responsabilità (RAM) o una matrice RACI che identifica già i proprietari e gli stakeholder del processo. In genere, i proprietari dei processi sono responsabili o responsabili di un processo e si consultano o si informano gli stakeholder.

Identificare i percorsi di escalation per ogni flusso

L'identificazione dei percorsi di escalation riguarda la determinazione dei canali per l'escalation dei problemi correlati a un flusso. I problemi che richiedono l'escalation possono essere aggiornamenti urgenti, problemi di sicurezza, riduzione delle prestazioni o eventi imprevisti tecnici. L'obiettivo di identificare un percorso di escalation è garantire una risoluzione tempestiva ed efficace dei problemi.

Il percorso di escalation mappato dovrebbe iniziare con la persona o il gruppo più probabile per risolvere un problema specifico. Se questa persona o gruppo non riesce a risolvere il problema, il percorso di escalation deve identificare il punto di contatto successivo. Il prossimo punto di contatto ha responsabilità più ampie ed è in grado di coordinare le strategie di mitigazione con più parti dell'organizzazione. Il numero di persone in un percorso di escalation varia in base al flusso e all'organizzazione. Troppe persone su un percorso di escalation possono rallentare gli sforzi di risoluzione.

Identificare l'impatto aziendale di ogni flusso

L'identificazione dell'impatto aziendale di ogni flusso è essenziale per comprendere in che modo ogni flusso contribuisce ai principali obiettivi aziendali. L'impatto aziendale può includere la generazione dei ricavi, la soddisfazione dei clienti o l'efficienza operativa. Comprendendo sia l'impatto positivo che negativo di ogni flusso, è possibile classificare in ordine di priorità gli sforzi per garantire l'affidabilità dei flussi più importanti per l'azienda. È importante considerare l'impatto diretto dell'errore del flusso e il relativo effetto indiretto su altri processi interconnessi. Ecco i passaggi per identificare l'impatto aziendale di ogni flusso:

  • Identificare l'impatto positivo. Determinare i vantaggi previsti quando un flusso viene eseguito come previsto. I vantaggi previsti possono includere un miglioramento dell'efficienza, un aumento dei ricavi, una maggiore soddisfazione dei clienti o qualsiasi altro effetto positivo sull'azienda.

  • Identificare l'impatto negativo. Valutare il potenziale impatto negativo se un processo ha esito negativo o non funziona come previsto. Valutare la possibilità di quantificare perdite specifiche, ad esempio i cali dei ricavi. Includere effetti soggettivi come danni alla reputazione, erosione della fiducia dei clienti o effetti negativi su altri processi aziendali correlati.

  • Definire i presupposti di capacità e disponibilità. Stabilire presupposti sulla capacità prevista e sulla disponibilità di ogni processo. Prendere in considerazione fattori come la velocità effettiva per unità di tempo, l'orario di ufficio previsto e il tempo di attività percentuale di destinazione. Se ci sono aspettative per l'obiettivo del tempo di ripristino (RTO) o l'obiettivo del punto di ripristino (RPO), è necessario includere queste aspettative. Questi presupposti consentono di comprendere i requisiti di affidabilità di ogni flusso.

Valutando sistematicamente questi aspetti, è possibile ottenere una visione completa del modo in cui ogni flusso influisce sull'azienda e prendere decisioni strategiche sull'ottimizzazione dell'affidabilità.

Assegnare una classificazione di criticità a ogni flusso

Una valutazione dettagliata dell'importanza del flusso rispetto agli impatti aziendali complessivi consente di assegnare una classificazione di criticità a ogni flusso. È possibile usare classificazioni quantitative o qualitative di criticità. Lo scopo è ordinare i flussi in base alla priorità e assegnare un'etichetta che consente di identificare i flussi critici. Questo processo è una continuazione logica dell'identificazione, del mapping e dell'allineamento con i processi aziendali e l'impatto. Usare le descrizioni di criticità seguenti per assegnare le classificazioni critiche:

  • Criticità elevata: i flussi di criticità elevata sono parte integrante delle funzioni aziendali di base. Influiscono direttamente sugli aspetti critici di un'azienda, ad esempio l'esperienza del cliente, le transazioni finanziarie, i protocolli di sicurezza, la salute umana e la sicurezza. L'errore o l'interruzione di questi flussi può portare a effetti negativi immediati o a lungo termine significativi. Esempi di effetti negativi includono la perdita di ricavi, la violazione della fiducia e i problemi legali. La definizione delle priorità di questi flussi garantisce che gli aspetti più cruciali del carico di lavoro siano affidabili e resilienti.

  • Criticità media: i flussi di criticità media sono importanti per la funzionalità completa del sistema, ma non si interfacciano direttamente con il cliente o le operazioni aziendali critiche. Ad esempio, se un problema interrompe un flusso di elaborazione dati interno, è possibile ritentare l'elaborazione dei dati senza effetti esterni immediati. Questi flussi sono essenziali per operazioni uniformi, ma offrono un buffer in termini di effetto immediato del cliente o finanziario, consentendo risposte gestite a problemi.

  • Bassa criticità: i flussi a bassa criticità non hanno un effetto diretto o significativo sulle funzioni aziendali di base o sull'esperienza del cliente. Alcuni esempi includono processi ausiliari come trasferimenti di log notturni o funzionalità facoltative degli utenti, ad esempio sondaggi di feedback. Anche se questi flussi contribuiscono al sistema complessivo, è improbabile che l'interruzione causi problemi significativi di business o operativi.

Seguendo questo approccio strutturato per assegnare criticità, è possibile classificare in ordine di priorità le risorse e concentrarsi sulla gestione e il miglioramento dell'affidabilità e dell'efficacia dei flussi più critici.

Compromesso: le aspettative più elevate per l'affidabilità talvolta coincidono con costi di configurazione più elevati, costi operativi e carico di gestione per gli operatori. Assicurarsi che gli stakeholder comprendano i potenziali aumenti dei costi per migliorare l'affidabilità dei flussi critici.

Allineamento dell'organizzazione

Cloud Adoption Framework fornisce indicazioni per i carichi di lavoro che richiedono la classificazione della criticità aziendale.

Per altre informazioni, vedere Business criticality in cloud management (Criticità aziendale nella gestione cloud).