Chi è il Software Architect?
Come si può definire oggi un “Software Architect”? Il termine è molto utilizzato, ma spesso non viene inteso con la giusta connotazione e si tende a confondere il concetto di architettura del software con le tecniche di sviluppo del software a vari livelli.
Si può dire, in termini generali, che un Software Architect è colui che è in grado di avere una visione d’insieme del progetto e quindi capire (progettare, immaginare) il funzionamento dell’intero sistema.
Per essere un buon Software Architect occorre innanzitutto esperienza. Successivamente vengono evidenziati vari aspetti essenziali:
- Definizione dell’architettura del software
- Gestione dei requisiti non-funzionali (qualità del sistema)
- Definizione dell’architettura (come risolvere il problema?)
- Scelta delle tecnologie (gestione di rischi, complessità, costi)
- Valutazione (astratta) dell’architettura
- Capacità di interoperabilità dell’architettura (nei confronti di altri sistemi esistenti)
- Realizzazione dell’architettura, occorrono:
- Piena consapevolezza e visione del disegno finale (bisogna poter seguire tutto il ciclo di sviluppo per portare il progetto a compimento con successo)
- Leadership (responsabilità, capacità decisionali e tecniche)
- Coaching e mentoring (per supportare i vari membri coinvolti nello sviluppo)
- Qualità (non solo nella scelta dell’architettura, ma in tutto il processo! Revisioni e analisi del codice, applicazione di standard e principi di design, continuous integration, test automatici di unità, misurazione del code coverage…)
- Progettazione, sviluppo, testing (anche se non necessariamente nelle attività di tutti i giorni, il bravo Software Architect deve prendere parte al processo di sviluppo)
Leggi anche l’articolo originale.
Condividi: