Il duro mestiere dell’architetto software: vivere con i compromessi
Architettare è essere un perfezionista frustrato; una buona architettura minimizza questa infelicità grazie a compromessi accettabili. La principale abilità nell’architettura? Fare compromessi. Queste decisioni riflettono i percorsi più critici e importanti che un team affronta. L’impatto delle decisioni architetturali può essere valutato solo costruendo qualcosa e testandolo. Generare alternative ragionevoli è cruciale e ciò deriva dall’esperienza e dal lavoro su problemi simili in contesti analoghi. Fare ipotesi e condurre esperimenti a basso costo migliora il processo decisionale. L’architettura software è fatta di decisioni prese con informazioni incomplete e sotto pressione. Cercare la perfezione porta a infelicità, ma senza compromessi si ottengono sistemi fragili, costosi e non sostenibili. Le architetture software sono guidate dai requisiti di qualità (QARs), spesso sconosciuti durante le decisioni architetturali. I compromessi sono inevitabili e cruciali per portare una soluzione sul mercato. Anche se deludono i team, sono essenziali.