Che cosa si intende per struttura e architettura

Che cosa si intende per struttura e per architettura? Quali sono le differenze? La parola "architettura" viene spesso usata per indicare qualcosa che si trova ad un livello superiore, mentre la parola "struttura" sembra indicare decisioni prese ad un livello più basso, i dettagli. In realtà non c'è alcuna differenza tra i due termini. Nella progettazione del software, i dettagli di basso livello e quelli di alto livello fanno tutti parte dello stesso insieme. Non esiste una linea che li separi. Essi fanno parte di un unico insieme che definisce la forma del sistema.

L'obiettivo?

L'obiettivo della buona progettazione del software è quello di ridurre al minimo le risorse umane necessarie per realizzare e manutenere il sistema. Se l'impegno necessario cresce ad ogni nuova richiesta da parte del cliente, allora vuol dire che la struttura è cattiva.

Cronaca di un disastro annunciato

Quando i sistemi vengono sviluppati in fretta e furia, quando l'unico modo per produrre codice è quello di aggiungere nuovi membri al team e quando si tiene in poca considerazione la pulizia e la struttura del codice, si va a creare una situazione di stallo all'interno del progetto, dove anche la più piccola e semplice delle modifiche richiede un impegno esorbitante da parte di tutto il team. Il lavoro diventa ben presto frustrante e questo si ripercuote sull'intero progetto, sul team e sull'azienda stessa!

La lepre e la tartaruga

Tutti conoscono la storia di Esopo sulla lepre e la tartaruga. La morale di questa storia è che "la calma e la determinazione premiano". Così come la lepre aveva sopravvalutato le proprie capacità, anche gli sviluppatori fanno altrettanto. Alcuni di essi cadono nel vecchio equivoco: "Possiamo sistemarlo dopo; l'importante è metterlo sul mercato!". Le cose poi non vengono sistemate, perché le pressioni non calano mai e così il groviglio di codice cresce e la produttività cala drasticamente. La più grande bugia alla quale gli sviluppatori credono è che del codice mal realizzato li faccia andare più veloci, ma la verità è che programmare male è sempre più lento del programmare bene. L'unico modo per procedere rapidamente è fare le cose per bene.

Last updated