|
|
|
|
|||||||
|
Ercole Colonese |
|||||||||
|
L’ESPERIENZA AL VOSTRO SERVIZIO! |
|||||||||
|
Consulenza informatica ed organizzativa |
|||||||||
|
|
|||||||||
|
|
|||||||||
|
|
Sviluppare software oggi … |
||||||||
|
Stonehenge
In questa pagina:
Metodologia di sviluppo software Competenze delle persone Ruoli, responsabilità e competenze necessarie SWEBOK Competenze e processi Codice etico e professionale
|
Competenze delle persone
La competenza delle persone coinvolte in un progetto software costituisce il pilastro portante di tutta l'impalcatura metodologica. Essa si acquisisce con un giusto mix di formazione teorica ed esperienza pratica sul campo. Ma la formazione è spesso trascurata o ristretta ai soli temi tecnologici (linguaggi di programmazione, piattaforme, sistemi ecc.). Poco (o quasi niente) è invece dedicato a metodi e tecniche. Ruoli, responsabilità e competenze necessarie La metodologia proposta indica i ruoli coinvolti nello sviluppo del software, le responsabilità ad esso associate e quali competenze debbano essere presenti per garantire la piena efficacia del ruolo stabilito. Gli elementi da prendere in considerazione sono quindi:
Lo sviluppo del software è un'attività critica che richiede competenze adeguate a tutti i livelli dell'organizzazione: dall'alta direzione alle funzioni commerciali, dalla gestione dei progetti all'analisi e progettazione, dalla codifica ai test, dalla manutenzione ai ruoli di supporto come la gestione della configurazione e degli ambienti, l'assicurazione della qualità, la formazione. SWEBOK Diversamente da quanto stabilito per altri settori dell'ingegnera, per il software non sono definite formalmente le competenze necessarie per ricoprire i vari ruoli previsti. Ancora oggi la professione di Ingegnere del software non è riconosciuta legalmente e non esiste un albo professionale. E' in corso, a livello mondiale, un'iniziativa per definire la professione e creare le basi per un albo degli Ingegneri del software. Alla professione sono richieste competenze specifiche, regole comportamentali ed etiche e riconoscimenti legali. Alla nuova professione è richiesta una competenza di base identificata come "Software Engineering Body of Knowledge - SWEBOK", da acquisire presso università o scuole di specializzazione. La metodologia proposta riprende le 10 competenze identificate:
Ciascuna area di competenza indirizza il relativo processo, i metodi, le tecniche e gli strumenti a supporto. Competenze e processi di sviluppo Le prime cinque competenze si riferiscono ai processi primari dello sviluppo software, mentre gli altri cinque ai processi di supporto (secondo la definizione data da ISO 12207:1995, Norme sul ciclo di vita del software). La figura che segue mostra tale relazione.
Codice etico e professionale Un codice di etica professionale per gli addetti all’ingegneria del software è stato sviluppato in cooperazione da ACM e IEEE. Di seguito è riportata una versione sintetica. La versione estesa del codice professionale aggiunge a questa maggiori dettagli e consistenza. Gli sviluppatori software devono impegnarsi a rendere il proprio mestiere (l’analisi, la specifica, il disegno, lo sviluppo, il test e la manutenzione del software) una professione rispettata e dagli effetti benefici. Gli sviluppatori devono pertanto aderire alle seguenti regole: 1. Pubblico. Gli sviluppatori software devono agire in linea con l’interesse pubblico. 2. Cliente e datore di lavoro. Gli sviluppatori software devono agire in un modo conforme agli interessi del loro cliente e datore di lavoro, restando in accordo con l’interesse pubblico (punto 1). 3. Prodotto. Gli sviluppatori software devono assicurare che i loro prodotti e le modifiche che vi applicano siano a livello di standard professionale più elevato possibile. 4. Giudizio. Gli sviluppatori software devono mantenere integrità ed indipendenza nel loro giudizio professionale. 5. Management. Manager e leader degli sviluppatori devono sottoscrivere e promuovere un approccio etico alla gestione dello sviluppo e della manutenzione del software. 6. Professione. Gli sviluppatori software devono far progredire l’integrità e la reputazione della professione, restando in accordo con l’interesse pubblico (punto 1). 7. Colleghi. Gli sviluppatori software devono essere leali e di supporto nei confronti dei loro colleghi. 8. Se stessi. Gli sviluppatori software devono, per tutta la durata della loro attività lavorativa, continuare la propria formazione sulla pratica della professione, e devono promuovere un approccio etico ad essa. Ogni azienda ha un proprio codice etico legato principalmente al settore nel quale opera. Gli ingegneri hanno un proprio albo professionale che ne definisce, oltre ai contenuti tecnici, gli aspetti etici e professionali. Per quanto riguarda l’ingegneria del software, anche se si tratta di una disciplina giovane (ma poi non tanto), non ha un proprio riconoscimento giuridico formale e non esiste ancora un albo degli “Ingegneri del software” (tra l’altro, un ingegnere del software potrebbe non essere un “ingegnere” nel senso stretto del termine). Esistono diversi tentativi nel mondo di disciplinare la materia. Negli USA, in particolare, si sta compiendo uno sforzo notevole in tal senso. |
Sviluppare software oggi ... Metodologia di sviluppo software Metodi, tecniche, metriche e strumenti
Link esterni utili: SWEBOK, Guide to the Software Engineering Body of knowledge ACM/IEEE, Software Engineering Code of Ethics and Professional Practice
Pubblicazioni disponibili sul tema: Introduzione al SWEBOK, Introduzione al Software Engineering Body of knowledge Competenze della professione ingegnere del software, Lezione tenuta all'Università di Tor Vergata sull'argomento |
|||||||
|
|
Copyright © 2005-2007 - Ultimo aggiornamento: 31 luglio 2007 |
||||||||