ne approfitto per rispondere ad un commento di PadovaBoy ad una delle mie tante esternazioni :-)
Stringendo direi che possiamo asserire che noi, in quanto sviluppatori, abbiamo un solo focus: gli user needs.
Il nostro obiettivo è soddisfare i requisiti e i bisogni del cliente, io dico anche i bisogni del cliente del nostro cliente… ne parleremo :-), come lo facciamo direi che sono “fatti nostri” e non del cliente.
In questo senso quindi non ritengo sensato che l’architettura, come tante altre “parti” (leggi ad esempio i test) del processo di sviluppo, venga usata come merce di scambio e/o punto di forza, l’architettura ha un altro scopo ben preciso: tra le tante cose deve essere a nostro uso e consumo per garantirci di assorbire in maniera fluente e naturale le “change request”. Una “change request” viene spesso vissuta dall’intero team (quindi da tutta la filiera) come problematica e questa è una delle fonti di tutti i mali, quindi il nostro sforzo, in termini architetturali (e non solo naturalmente) deve tendere in 2 direzioni ben precise:
  • soddisfare i requisiti (funzionli e non);
  • rendere indolore (o quasi) qualsivoglia cambio di direzione;
“Vendere” un’architettura rischia invece di creare delle aspettative inattese nel cliente, faccio un esempio triviale:
il commerciale di turno “spinge” palrando di quanto è figo Wcf che scala e che quindi una soluzione a servizi è il top, il cliente ci casca e nella sua testa si immagina che un domani potrà scalare orizzontalmente in maniera totalmente indolore… ma sappiamo tutti che non è così, abbiamo generato un’aspettativa che non è scritto da nssuna parta che saremo in grado di soddisfare… il cliente in realtà voleva semplicemente fare delle fatture :-)
Si può fare! :-)

ndr: Roby… non fare l’ing quando leggi, grazie :-)

.m