Ciao a tutti, ho l'impressione che questo sarà un post lungo, quindi siete avvertiti. :) Lo scopo di questa e-mail è di chiarire una mia posizione, già espressa in un altro thread. Ci tengo, perchè penso che sia importante affermare la professionalità ed il ruolo come vaolori che contribuiscono al bene comune. Quindi farò qualche semplificazione, ma terrò comunque i concetti molto reali e pratici. La domanda è: Si può scrivere un buon software solo se si conosce bene il problema, oppure serve essere dei bravi programmatori? La risposta sembra scontata: entrambe le cose sono indispensabili. Ma se uno scrive: Si può scrivere un buon software se si è degli utenti, piuttosto che degli sviluppatori. Certo, qualcuno deve aver messo assieme le due frasi, come se avessero lo stesso significato. Ma in questo secondo caso, la mia risposta è no, si può scrivere un buon programma se si è dei buoni programmatori. E quindi un utente può scrivere un buon software, ma solo se è un buon programmatore. E qui non si parla di cosa dovrebbe fare uno per essere un buon programmatore. In questo caso, io risponderei: dovrebbe scrivere del buon codice! E l'utente? Anche lui è importante? Ecco, qui voglio chiarire un'altra parte dei miei interventi, che non sono legati alla mia risposta sopra, ma ci sono stato trascinato. Spero che quanto segue sia più chiaro. In questa lista si parla di software libero (scusate ancora l'OT... :) ), e quindi molti sono abituati alle comunità in rete dove l'utente ha un suo ruolo e una certa possibilità e libertà di partecipare al processo di sviluppo. Molti, che conosco, sono anche sviluppatori, solo che lo fanno come liberi professionisti il che è una situazione particolare. La mia esperienza nasce, invece, all'interno di una società di medie dimensioni e oggi di grandi dimensioni, dove si fa software su commissione. Questo significa che noi non abbiamo l'utente, ma il cliente e quasi mai coincidono. Nella mia realtà, inoltre, è un po' complicato che uno sviluppatore faccia qualcosa che va contro le richieste del cliente. Il motivo, non è una ferrea disciplina aziendale, ma il processo che abbiamo. Finito il lavoro di sviluppo, il software passa attraverso 2 fasi distinte di test. Noi le chiamiamo le Prove di Verifica e Validazione e le Prove di Qualifica in Rete o Collaudo. Solo se il codice supera questi due passaggi arriva al cliente. Mi sembra si sentire il mormorio: " ma anche io testo il mio codice ". Non è la stessa cosa, perché in queste due fasi non sono io a provare il mio programma, ma lo fa una terza persona che si occupa di garantire la qualità del prodotto. Questo significa che tu non parli con l'utente? No, io parlo, se ne ho il mandato, sia con il cliente e sia con l'utente. Ma attenzione, perché spesso lo scopo del cliente non è quello di agevolare la vita all'utente. Spesso e volentieri, anche piccole cose, che potrebbero essere utili, non si possono fare, perché il cliente non vuole che l'utente possa farle. Questo, per chiarire il mio pensiero sull'interazione utente-sviluppatore, che ripeto non è legata a quanto ho risposto in origine. Ora potete essere d'accordo, ma anche no ovviamente. -- Mario