[Linuxtrent] Re: [OT] Utente o programmatore?

  • From: Antonio Galea <antonio.galea@xxxxxxxxx>
  • To: linuxtrent <linuxtrent@xxxxxxxxxxxxx>
  • Date: Mon, 13 Oct 2014 01:52:13 +0200

2014-10-12 8:58 GMT+02:00 Mario Alexandro Santini <alexmario74@xxxxxxxxx>:
>
> Concordo con quanto scrivi, aggiungo una considerazione. L'utente "umano" 
> entra in gioco solo quando c'è un'interfaccia grafica, il
> che rappresenta spesso una minima parte dei sistemi complessi.
> Al di fuori dei programmi per la produttività individuale, che la maggioranza 
> degli utenti è abituata ad utilizzare, tutto il resto del mondo
> dello sviluppo ruota attorno a programmi che spesso non hanno a che fare con 
> degli "umani", ma con altri programmi.
> E penso proprio che in futuro la maggioranza della programmazione sarà sempre 
> più legata al Machine to Machine, più che al
> Machine to Human.

Questi programmi machine to machine fanno comunque delle cose che
servono ad esseri umani, e questi ultimi ne sono gli "utenti" in senso
lato: anche se non devono riempire una form con i dati dello studente,
hanno le idee chiare non solo su cosa deve fare un programma, ma
soprattutto sul _perché_ lo deve fare in un modo anziché in un altro.

La mia esperienza sarà di parte, ma sono fermamente convinto che la
conoscenza dei motivi produca software di gran lunga migliore - non
fosse altro che perché in ogni sistema complesso servono dei
compromessi, e scegliere quelli giusti richiede comprensione.

> Questo lo presumo dal fatto che negli anni ho visto ridursi notevolmente la 
> "ricchezza" delle interfacce.
> Dai programmi a riga di comando, alle interfacce grafiche, a quelle web e 
> oggi quelle su telefonino, c'è una progressiva riduzione
> dell'interazione umomo macchina verso l'essenzialità.

Sei sicuro che un'interfaccia grafica sullo smartphone multitouch sia
più "essenziale" delle schede perforate? Io vedo una continua crescita
della pervasività del software nella vita quotidiana, e questa
"riduzione dell'interazione" non riesco a coglierla - però mi fermo,
sto andando fuori tema.

>> Chiaramente non è una prassi nel modello di sviluppo Opensource, ma nelle 
>> aziende che sviluppano codice proprietario avviene più
>> spesso di quel che si pensa. Non so le percentuali, ma so, anche per 
>> conoscenza diretta, che moltissime commissioni di codice a
>> sviluppatori indiani o ucraini o polacchi o comunque esterni all'azienda, 
>> sono strutturate proprio in questo modo.
>
> Già, uno dei motivi per cui l'automazione dei test ed anche il TDD sono 
> sempre più richiesti.

Il motivo è lo stesso che citavo nell'altra email: quasi sempre
l'outsourcing viene fatto senza preoccuparsi (troppo) del livello
degli sviluppatori a contratto, ma basando la scelta prevalentemente
su questioni di convenienza economica - il team remoto è acquisito in
quanto manovalanza sostituibile, e come tale viene trattato (e poco
importa che spesso siano persone parecchio più competenti di chi li
stipendia). Con un modello di produzione del genere, l'onere di
garantire un prodotto all'altezza dei requisiti non può che passare a
chi esegue il testing.

>> E il programma che ne esce è comunque un buon programma, anche se chi lo ha 
>> sviluppato non l'ha nemmeno mai visto o usato.
> Concordo anche qua.

Se cambiate "è comunque" con "può essere comunque", allora sono
d'accordo anche io: ma non è affatto sempre vero, e il modello che
avete descritto sta cambiando già da parecchio perché ha evidenti
limiti.

Ad esempio, il fatto che la rappresentatività degli stakeholder nel
processo produttivo è troppo ridotta (clienti ed utenti sono
generalmente coinvolti solo sulla carta, prima di iniziare, oppure nel
test a prodotto realizzato); e ovviamente il fatto che un documento di
specifiche preciso è rigido è costosissimo da ottenere e risulta
spesso malamente inadeguato. Agile programming, anyone?

Antonio
--
Per iscriversi  (o disiscriversi), basta spedire un  messaggio con OGGETTO
"subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx


Other related posts: