Ruolo: Architetto di software
Questo ruolo conduce allo sviluppo dell'architettura software del sistema, che include la promozione e la creazione di un supporto per le decisioni tecniche chiave che limitano la progettazione generale e l'implementazione del progetto.
Relazioni
Esegue:Responsabile di:
Esegue anche:Modifica:
Descrizione principale

L'architetto di software ha la responsabilità globale di guidare le decisioni tecniche maggiori, espresse come architettura software. Ciò include di solito l'identificazione e la documentazione degli aspetti strutturali significativi del sistema, inclusi i requisiti, la progettazione, l'implementazione e la distribuzione delle "viste" del sistema.

L'architetto è inoltre responsabile di dover fornire i fondamenti logici di queste decisioni, equilibrando le considerazioni dei vari stakeholder, riducendo al minimo i rischi tecnici e garantendo che le decisioni vengano effettivamente comunicate, convalidate e condivise.

Proprietà
Ricorrenze multiple
Facoltativo
PianificatoYes
Personale
Skill

"L'architetto ideale dovrebbe essere una persona di lettere, un matematico, familiare con gli studi storici, uno studente di filosofia diligente, informato sulla musica, non ignorante di medicina, colto nelle questioni di consulto giuridico, familiare con l'astronomia ed i calcoli astronomici." - Vitruvio circa 25 AC

Riepilogando, è necessario che l'architetto di software sia completo, possegga maturità, visione ed una profonda esperienza che gli consenta di afferrare i problemi rapidamente e di emettere giudizi educati e critici in assenza di informazioni complete. In modo più specifico, è necessario che l'architetto di software o i membri del team di architettura combinino questi skill:

  • Esperienza in entrambi i domini del problema, attraverso una completa comprensione dei requisiti e il dominio di progettazione software. Se esiste un team, è possibile stendere queste qualità ai membri del team, ma è necessario che almeno un architetto di software fornisca la visione globale per il progetto.
  • Leadership per spingere l'impegno lavorativo tecnico attraverso vari team e per prendere le decisioni critiche sotto pressione e per rendere tali decisioni fattive. Per essere valido, è necessario che l'architetto di software ed il responsabile del progetto lavorino a stretto contatto, con l'architetto di software che guida le problematiche tecniche ed il responsabile del progetto quelle amministrative. E' necessario che l'architetto di software disponga dell'autorità per prendere decisioni tecniche.
  • Comunicazione per guadagnarsi la fiducia, per persuadere, per motivare e per sostenere. L'architetto di software non può dirigere per decreto ma solo con il consenso del resto del progetto. Per essere valido, l'architetto di software deve guadagnarsi il rispetto del team del progetto, del responsabile del progetto, del cliente e della comunità degli utenti, oltre che del team di gestione.
  • Orientamento all'obiettivo e per l'attività con una concentrazione inesorabile sui risultati. L'architetto di software rappresenta la forza tecnica che conduce dietro il progetto, non un visionario o un sognatore. La carriera di un architetto di software di successo è una lunga serie di decisioni prese nell'incertezza e sotto pressione. Solo coloro che sono in grado di concentrarsi su ciò che è necessario fare avranno successo in questo ambiente del progetto.

Da un punto di vista competente, è anche necessario che l'architetto di software comprenda le capacità Ruolo: Progettista. Tuttavia, a differenza del progettista, l'architetto di software:

  • tende ad essere generico piuttosto che specialista, conoscendo molte tecnologie ad un livello elevato piuttosto che poche tecnologie in modo dettagliato
  • prende decisioni tecniche più ampie e perciò ha ampie conoscenze ed esperienze, oltre skill di leadership e comunicazione, che sono fondamentali.
Approcci assegnazione

Se il progetto è abbastanza grande da garantire un team di architetti, l'obiettivo è quello di disporre di una buone mescolanza di talenti che copra un ampio spettro di esperienza e che condivida una comprensione comune del processo di progettazione del software. Non è necessario che il team di architettura sia un comitato di rappresentanti dei vari team, domini o contraenti. L'architettura software è una funzione a tempo pieno, con lo staff dedicato permanentemente ad essa.

Per progetti più piccoli, una singola persona può ricoprire entrambi i ruoli di responsabile del progetto e architetto di software. Tuttavia, se possibile, sarebbe meglio che i ruoli fossero eseguiti da persone separate, per garantire che la pressione su un ruolo non provochi la negligenza dell'altro.

Ulteriori informazioni