Gli architetti software creano il progetto tecnico e il modello funzionale di un sistema software, sulla base di specifiche funzionali. Progettano inoltre l’architettura del sistema o vari moduli e componenti connessi alle esigenze delle imprese o dei clienti, alle piattaforme tecniche, al linguaggio dei computer o all’ambiente di sviluppo.