domenica 30 gennaio 2011

Efficienza vs efficacia

Spesso nel mio lavoro mi capita di dover pensare se la soluzione che ho in mente e che chiedo alla direzione di (far) realizzare, sia proprio la soluzione migliore in quell'istante per l'azienda, cercando di trovare il giusto compromesso tra soluzioni formalmente curate, frutto di architetture flessibili e manutenibili,... contro soluzioni veloci, che puntano alla risoluzione del mero problema del cliente, il così detto "quick and dirty"
La teoria della Qualità, del sistema Toyota non lascia alcun dubbio sulla strada da seguire: quello che bisogna fare è risolvere il problema, nel più breve tempo possibile, tanto da sostenere che, se nel giro di una settimana (la famosa Settimana Kaizen) non si riesce a trovare, e implementare una soluzione, significa che si sta sbagliando strategia.

La regola d'oro sembra quindi essere: puntare all'efficacia piuttosto che all'efficienza.

Ho sempre sostenuto che questa logica di miglioramento a piccoli passi, atta a risolvere velocemente il mero problema del cliente,  non fosse applicabile ad ogni realtà, ma solo a quelle che hanno superato una certa "massa critica" nell'organizzazione e standardizzazione aziendale, massa critica che deve essere raggiunta a
suon di pesanti investimenti.

Questo mio convincimento porta anche a ripensare al valore dell'efficienza che deve essere uguale o forse maggiore a quella dell'efficacia.
Mi piace vedere l'efficacia come il fine che deve obbligatoriamente essere raggiunto con un processo efficiente, ovvero "di qualità" che riesca a garantire flessibilità e manutenibilità nel tempo.

SQL Server, IIS 7 e Windows Server 2008

Che user viene utilizzato per far girare web app ASP.NET su IIS 7? E più concretamente, qual'è lo user con cui una web app si collega a SQL Server? In pratica, se SQL Server si trova sulla stessa macchina su cui gira IIS 7 e si volesse utilizzare l'integrated security evitando di mettere in chiaro una password nella configurazione, a quale user bisognerebbe garantire l'accesso al DB (modulando l'autorizzazione minima necessaria per fare tutto il lavoro)? La risposta è: IIS_IUSR.
Tale discorso vale anche se SQL Server e IIS 7 si trovassero su due macchine differenti, entrambe sotto lo stesso dominio.

IIS 7 su sistema x64

In questi giorni ho scoperto che esistono due moduli distinti asp.net per IIS: oltre a quello standard ne esiste uno specifico per macchine a 64 bit.

Volendo pubblicare una web app in ASP.NET su un tale sistema a 64 bit bisogna ricordarsi di agganciare eventuali estensioni particolari (oltre alle solite *.aspx) ad entrambi i moduli, pena l'impossibilità di visualizzare tali   pagine.