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.
Acut
Capitalia
Digitalmood
Farmasi
Ideattiva
IF65
ItalPresseGauss
MB Social Media Marketing
Multilingue
SoftSolutions!
Storti
Studio Pastore
Twin
Unicredit Group