Pensieri e parole su HCI, home computing, tecnologie desktop e sul Progetto Lobotomy

giovedì 12 febbraio 2009

Metodo

Da quando ho preso a lavorare per ItsMe un nuovo e stravagante mondo mi si e' aperto dinnanzi. Non parlo qui del contenuto del progetto stesso (su cui probabilmente in futuro avro' modo di soffermarmi), ma proprio della metodologia di lavoro con cui i diversi componenti del team di sviluppo interagiscono e si coordinano.
Specifiche, prototipi, diagrammi... Tutti concetti di cui ho forse sentito parlare molto lontanamente ai tempi dell'universita' ma su cui non mi sono mai soffermato, anteponendo ad essi la necessita' immediata: avendo negli ultimi tre anni scritto software ancor prima di sapere cosa dovesse fare, per riuscire a stare dentro a tempistiche e consegne gia' fissate ancora prima di mettere piede per la prima volta nell'ufficio torinese, ho sempre contemplato con distacco e diffidenza i dogmi dettati da questa strana dottrina chiamata Ingegneria del Software, e per abitudine e dimestichezza ho finito col gestire nello stesso modo un po' tutti i progetti con cui ho avuto a che fare sia professionalmente che amatorialmente.
Eppure ora scopro che il tempo passato a progettare e pianificare la propria applicazione, soprattutto se complessa e strutturata e ricca di interazioni, non e' proprio tutto tutto tempo perso.
Certo, non sono tutte rose e fiori: nessuno al mondo mi convincera' mai che uno schema UML abbia una qualsivoglia utilita', sia pratica che teorica, e neppure credo che l'"astrazione a tutti i costi" porti ad un approccio sano a quello che, volenti o nolenti, un giorno o l'altro dovra' essere tradotto in codice usando strumenti e librerie fatte in tutt'altro modo rispetto alla rappresentazione concettuale che ci si era fatti. Pero' molto altro si salva dalla mia osservazione critica: in primis il fatto di partire con la propria analisi non gia' dalla struttura del sistema ma da quello che dovra' fare e da cosa ci si aspetta che faccia in determinate condizioni, criterio apparentemente scontato ma non cosi' banale, ed in secundis la volonta' di implementare un prototipo per valutare sul campo l'API disegnata; a tutt'oggi storco un pochino il naso all'idea di scrivere del codice (in Python, oltretutto...) che ha lo scopo di essere buttato dopo una rapida occhiata, ma non nego che tale concetto possa risultare vincente nell'ottica di poter profilare l'architettura basandosi su dati reali anziche' su un disegnino tracciato su un foglio.
Ieri sera, per questioni personali, ho noleggiato un Virtual Private Server (cosa che suggerisco a tutti: oramai si pigliano ottime macchine a bassissimo costo, ed avere a disposizione una macchina sempre esposta sull'Internet e' una immensa comodita'), e tra i desideri del prossimo periodo vi e' quello di spostare su di esso lo sviluppo del Progetto Lobotomy: il sito, il repository (quando ci sara' del codice da condividere...), il futuro prototipo web di cui da tempo parlo, ma da principio credo che, al pari dei miei colleghi milanesi, installero' una istanza di Trac da usare come collettore di impressioni ed idee, da ordinare poi disciplinatamente e da cui estrarre poi una raccolta di "requirements" da usare come guida e riferimento in fase di definizione del sistema vero e proprio.
E che sia la volta buona che riesco a concretizzare almeno una parte delle infinite idee che ho in merito a tali ciclopica impresa.

Nessun commento: