L'ortogonalità si riferisce alle diverse dimensioni che vengono indirizzate dai componenti del sistema. In genere, queste dimensioni assomigliano a: archiviazione dei dati, elaborazione dei dati (ad esempio, elaborazione e aggiornamento), presentazione dei dati (GUI e reporting), comunicazioni (trasporto, sincronizzazione), implementazione (server, workstation, terminali dell'utente finale) e così via on.
Crea una serie di dimensioni che rappresentano il tuo prodotto. Ogni dimensione avrà una caratteristica principale e sub-dimensioni, attributi che contribuiscono alla dimensione complessiva. Ad esempio, le comunicazioni come dimensione avranno sub-dimensioni di affidabilità, qualità del servizio, velocità, ecc. Quindi, prendi l'inventario dei componenti che hai suggerito di avere e produci una matrice di impatto - per ogni componente, che impatto ha su ogni dimensione. Un buon foglio di calcolo o un set di fogli di calcolo ti può aiutare con questo.
L'impatto che fornisci in ogni cella identifica l'efficacia con cui il componente risolve quella dimensione, i costi e gli svantaggi.
La mancanza di ortogonalità è indicata in tale matrice mediante l'imbrunimento e il raggruppamento - la "sbavatura" si verifica quando alcuni componenti tendono a dominare più dimensioni. "Clustering" si verifica quando più componenti rispondono a dimensioni specifiche con una sovrapposizione significativa tra i componenti.
Esempio di dimensione dell'archiviazione dei dati
Usiamo la dimensione "archiviazione dati", con sotto-dimensioni di "quantità", "velocità di aggiornamento", "velocità di lettura", "ridondanza", "costo di distribuzione in corso" e "flessibilità" (solo come set di avvio). Usiamo "memoria locale" e "memoria di rete" come componenti.
Per ciascuna sottodimensione forniremo una cifra di merito da 0 a 10, con un numero di dimensioni maggiori e maggiore, che potremo utilizzare a scopo di confronto. Quindi, a partire da "memoria locale":
- "quantità" - 6 - i singoli computer hanno uno spazio limitato
- "velocità di aggiornamento" - 9 (10 se si utilizzano gli SSD ovunque)
- "velocità di lettura" - 9 (10 se si usano gli SSD ovunque)
- "ridondanza" - 1
- "costo di implementazione in corso" - 6
- "flessibilità" - 6
Quindi per "archiviazione di rete":
- "quantità" - 10 - le farm di dischi possono essere ridimensionate dinamicamente
- "velocità di aggiornamento" - 4
- "velocità di lettura" - 6 (a seconda delle comunicazioni)
- "ridondanza" - 8-10 (a seconda dell'implementazione dello storage di rete)
- "costo di implementazione in corso" - 9
- "flessibilità" - 5
Suppongo anche che quando si dice "archiviazione locale" si intenda che ci sono molti meccanismi di archiviazione locali in uso. Ogni meccanismo conterà come un componente ed è necessario valutarli tutti.
Riepilogo
Una volta che hai questo foglio di calcolo, hai un sacco di numeri sulle tue mani e non sarai sicuro di cosa fare con loro. Ci sono molti modi per guardare una cosa del genere. Puoi trattarlo come una matrice di valutazione dei requisiti, oppure puoi creare una mappa di calore da esso.
Quando proponi una soluzione, dovresti essere in grado di produrre una matrice di impatto prima e dopo che ti permetta di descrivere l'impatto complessivo dei tuoi miglioramenti proposti.
D'altra parte, puoi capire cosa ti stanno già dicendo gli esperti, che la soluzione che hanno è "abbastanza buona".