Con questo “articoletto” vorrei rispondere ad alcune delle domande che forse vi sarete posti riguardo l’influenza che può aver il System Engineering sulla vita quotidiana di uno studente o di una persona qualsiasi.
Nella mia breve o quasi nulla esperienza lavorativa di studente universitario è sempre più sentita la necessità di trovare un metodo per svolgere un compito secondo canoni che sono capaci di guidare uno sviluppatore al successo del progetto di cui è parte. Sarebbe un sogno possedere un libretto di istruzioni che ci spieghi come fare il nostro lavoro, ma purtroppo ciò non è possibile, è un sogno utopistico! Il livello di difficoltà cresce quando si è anche nelle condizioni di suddividere e coordinare i compiti nelle specifiche fasi dello sviluppo del progetto in questione.
L’esigenza di questo santo Graal si è sentita soprattutto quando, per portare a termine un esame, sono venuto a contatto con la progettazione in team: problematiche organizzative, concorrenza delle idee e spirito collaborativo da “cavernicoli”mi hanno colto alla sprovvista, specialmente quando mi sono visto assegnare l’etichetta di responsabile del team.
Ecco che mi sono imbattuto per la prima volta in un “Sistema”, seppure mal funzionante, ero parte integrante di esso.
La vera rivoluzione che cambiò le sorti del nostro team ci fu quando apposi la mia firma sul registro di un corso chiamato “Systems Engineering” tenuto dal ing. Marco Lisi nella mia Università dell’Aquila. L’approccio riguardante lo sviluppo del progetto cambiò radicalmente a partire dall’organizzazione delle risorse umane per finire alla strutturazione effettiva del progetto, le strategie tipiche del “Systems Engineering” mi hanno fornito un Pattern strategico per giungere al successo. I primi risultati non tardarono ad arrivare: nell’individuazione di un problema credo che sia poco enfatizzato il ruolo dell’ingegneria dei Requisiti. Forse il nostro momento di “Caos” iniziale era causato dalla poca chiarezza riguardante il “da dove partiamo? Che cosa dobbiamo fare?”, la forma nebulosa che il nostro progetto aveva sulla carta, in ambito di analisi, era estremamente dispersiva e molte volte ci trovavamo a dover ritornare su asserzioni considerate “basi portanti” del nostro progetto. Sotto consiglio del prof. Lisi abbiamo deciso di farci aiutare nella stesura del documento dei requisiti da un “tool” che forse molti di voi conosceranno, il Tiger Pro v1.13. Ricordo con ironia il primo giorno in cui decidemmo di utilizzare suddetto Tool, un nostro “teammate” era nel panico più totale a causa della sua totale ignoranza dell’Inglese, e sviluppare totalmente il documento dei requisiti in lingua madre, era un’impresa da Argonauta. Alla prima ingestione del documento ricordo come di circa 180 requisiti, almeno 175 erano evidenziati in rosso, a causa del pessimo Inglese e delle migliaia di requisiti multipli. Dopo 3 giorni di incessante lavoro sui requisiti, abbiamo finalmente completato la prima bozza. Questo è il motivo per il quale ho anche scritto un piccolo “HOW TO” in Italiano su come utilizzare il Tiger Pro, proprio per aiutare i miei colleghi a sviluppare i requisiti con la mia stessa tecnologia. L’utilizzo di altre tecnologie per la programmazione concorrente in team, quali SVN e CVS in ambito informatico, e di tool per l’organizzazione del ciclo di vita del progetto hanno reso ancor più avvincente l’analisi e la realizzazione dei vari “step” del ciclo realizzativo. La gestione dei requisiti e delle delle risorse umane ma soprattutto la determinazione del ciclo di vita del nostro software sono solo alcune della miriade di problematiche affrontate durante lo sviluppo del progetto, ma i suggerimenti del prof. Lisi e del SE sono stati la chiave per il successo del nostro lavoro.
A prescindere da questo breve racconto su come il SE abbia influito sullo sviluppo di un progetto universitario esso mi ha fatto anche notare una cosa nuova e interessante. Nel nostro secolo sono stato testimone della nuova rivoluzione tecnologica. Viviamo in un tempo dove la tecnologia cerca di sostituire sempre più il pensiero umano soprattutto in ambito lavorativo, in cui ho notato come l’approccio da progettista venga sempre più messo in ombra per lasciare spazio a tool “wysiwyg” che aiutano lo sviluppatore a realizzare un progetto senza un minimo Planning.
Sto quasi per laurearmi in Ingegneria Informatica e sviluppo software per passione, è proprio nella mia arte che sento la “contaminatio” del SE; non riesco a fare a meno di stilare un documento dei requisiti, l’UML e il SysML sono il mio pane quotidiano e solo ora sto avventurandomi nello studio degli Architectural Frameworks suggeriti da INCOSE. Ora guardo tutto da un punto di vista più sistemico, d'impatto non penso più al dettaglio, ma a come tanti organismi “Stand Alone” siano tutti parte di uno “Stand Alone Complex”, e cerco di cogliere le finezze che li collegano l'un l'altro, a partire da madre natura, per giungere ai moderni sistemi che tengono in piedi il Web.
Personalmente non so quanto il System Engineering sia radicato nella cultura della popolazione ingegneristica Italiana, ma credo che sia necessario fare del SE un percorso obbligato nella formazione di un Ingegnere.
Pace Giovanni