queste attività sono attuate al meglio da un piccolo team composto da membri di un team a funzionalità incrociata. Le
problematiche tipicamente significative da un punto di vista dell'architettura includono l'utilizzabilità, le
prestazioni, la scalabilità, la sincronizzazione del processo e del thread e la distribuzione. Il team deve anche
includere membri con esperienza di dominio in grado di identificare le astrazioni chiave. Il team deve avere esperienza
anche con la strutturazione a livelli e l'organizzazione del modello. Il team dovrà essere in grado di tirare fuori
tutti questi disparati processi in un'architettura coesiva e coerente (quantunque preliminare).
Poiché il punto focale dello sforzo dell'architettura è lo slittamento verso problematiche di implementazione, è
necessario porre maggior attenzione alle problematiche specifiche riguardanti la tecnologia. Ciò forzerà il team
dell'architettura a spostare i membri o ad espandere fino ad includere persone con competenze di distribuzione (se
significative da un punto di vista dell'architettura). Per poter comprendere l'impatto potenziale della struttura sul
modello di implementazione e sulla facilità di integrazione, è utile avere esperti del processo di gestione della
costruzione del software.
Allo stesso tempo, è essenziale che il team dell'architettura non sia grande ed esteso. Una strategia per contrastare
questa tendenza è quella di mantenere un nucleo relativamente piccolo di persone con un gruppo satellite di membri
estesi del team da tenere come "consulenti" su problematiche chiave. Questa struttura funziona bene anche per
piccoli progetti, dove la competenza specifica può essere presa in prestito da altre organizzazioni; queste possono
essere portate all'interno in presenza di problematiche specifiche.
|