Nelle ultime 48 ore ho assistito a scontri a fuoco tra due miei colleghi. Il motivo è una diatriba per effettuare l'installazione da remoto di un'applicazione. Qua da noi con il termine applicazione intendiamo un sistema composto da qualche decina di file batch, un database SQL Server/Oracle, centinaia di tabelle, stored-procedure, viste, task schedulati per girare di notte e via dicendo. Ogni progetto comincia sempre in modo piuttosto semplice e controllato: man mano che passa il tempo, e si uniscono altre persone al team di sviluppo, la complessità aumenta e si arriva alla fine che quasi si perde il controllo e l'intero sistema rischia di collassare prima di mettersi in moto. In realtà, questo non accade mai, perchè ci sono persone che ricordano tutto a memoria e anche quando questa fallisce c'è un po' di documentazione che la rinfresca.
La diatriba, dicevo, nasce dal fatto che quello che per gli sviluppatori è semplice, per l'utente finale non lo è affatto. In altre parole, un mio collega (sviluppatore SQL Server certificato Microsoft, dalla mentalità piuttosto tecnica e rigida) considerava come consegnata un'applicazione dopo aver fatto un copia ed incolla di un folder sul server del cliente. Il folder conteneva batch, script SQL, files .cmd, directory di log, etc. L'altro mio collega (ingegnere gestionale che lavora più a stretto contatto col cliente, e comunque dal modo di lavorare molto, molto meno tecnico) si aspettava qualcosa di più raffinato, come un installer più comodo, la possibilità di impostare alcuni parametri funzionali da una form e non dal Management Studio di SQL Server 2005. Per uno sviluppatore come noi è piuttosto semplice fare un doppio-click su un file batch, o magari lanciarlo dal command-prompt, o schedularlo, mentre magari per un'altra persona no. Gli scontri a fuoco sono stati praticamente una discussione (quasi) infinita dietro di me, delineata da frasi amichevoli ma pungenti, a metà strada tra l'offensivo e la testardaggine, tra un punto di vista e altro opposto.
Anche se non c'entravo nulla con il loro lavoro, mi sono dovuto intromettere, perchè se no si rischiava la degenerazione, e soprattutto perchè la discussione (mi) disturbava alquanto. Una volta in metro ho sbirciato sul...ehm...libro che una ragazza stava leggendo che parlava come mettere d'accordo uomini e donne: noi uomini a quanto pare abbiamo una certa attitudine a trovare soluzioni pratiche alle questioni. Mi sono riconosciuto in questa cosa: ho mediato una soluzione che farà uso del buon InnoSetup che copia tutti i files in una directory prefissata, abbiamo eliminato la gestione di un sacco di parametri funzionali che prima risultavano essere a carico del cliente mentre in realtà potevamo stabilirli direttamente noi, abbiamo accorpato un po' di file batch, abbiamo apportato un pochino di modifiche per sistemare la cosa qua e là. Il lavoro è marcato come work-in-progress, adesso se la stanno smazzando i due colleghi, ma almeno adesso passano il tempo a fare qualcosa piuttosto che a discutere ad-libitum.