Ercole Colonese

L’ESPERIENZA AL VOSTRO SERVIZIO!

Consulenza informatica

 

 

home

consulenza

didattica

pubblicazioni

chi sono

info

 

 

Sviluppare software oggi …

Stonehenge

 

In questa pagina:

 

Problemi del software

  • Problemi gravi ...

  • Cause principali dei problemi del software ...

  • Risposte ...

  • Un approccio metodologico organico, semplice ma efficace ....

  • Il ruolo della direzione ....

Problemi del software

Lo sviluppo del software è un'attività creativa ad alto contenuto umano e quindi soggetta ad errori.

Errori ed incomprensioni nelle finalità fanno del software un oggetto instabile, costoso e spesso non adeguato alle necessità dell'utilizzatore.

La presenza di errori nel software causa malfunzionamenti che devono essere corretti. E questo ha un costo. Gli interventi sul software diventano più onerosi al crescere della sua complessità e quanto più tardi sono rilevati gli errori: più complesso è il codice e più costoso sarà modificarlo, più tardi scopriamo gli errori e più ci costerà risolverli!

Ma il codice è costantemente modificato anche per potenziarne le funzionalità, adeguarlo a normative e standard, migliorarne le performance. Spesso si tratta di un'operazione non facile: innestare nuove parti di codice in altre non progettate per essere modificabili, spesso complesse e poco strutturate.

Sviluppare nuove applicazioni è il sogno di tutti noi. Finalmente realizzare qualcosa partendo da zero, come voglio io. Senza dover intervenire sempre su cose fatte da altri (e fatte male, come sempre le cose fatte dagli altri!).

Spesso i risultati però non cambiano ed i problemi rimangono gli stessi: ritardo nelle consegne, costi oltre i budget, qualità inferiore alle attese!

Molti progetti quindi falliscono o non raggiungono i risultati attesi.

Perchè?

 

Problemi gravi ...

La disciplina dell'ingegneria del software, benché ricca di studi e ricerca, è ancora poco applicata nella pratica quotidiana. A differenza di altre branche dell'ingegneria, nel campo del software si "naviga a vista", invece che con l'ausilio di strumentazione. Si produce "manualmente", piuttosto che con strumenti di produttività. Si "spera" in risultati positivi, e non si controlla con metodicità.

In estrema sintesi, ci si avvale di competenze approssimative e non di professionisti del software.

Molti studi sono stati condotti per capire le cause del fallimento di tantissimi progetti software.

I risultati delle analisi hanno sempre evidenziato problemi gravi nelle aree:

  • interpretazione dei requisiti

  • pianificazione dei progetti

  • collaudo dei prodotti

  • attenzione alla qualità.

 

Cause principali dei problemi del software ...

Le cause principali sono state identificate in:

  • poca attenzione dedicata all'analisi dei requisiti

  • bassa qualità della progettazione

  • pianificazione poco realistica del progetto

  • risorse non adeguate alla complessità del progetto (come numero e competenza)

  • assenza di revisioni tecniche dei prodotti intermedi realizzati

  • inadeguatezza dei collaudi eseguiti

  • scarso controllo della qualità.

 

Risposte ...

L'ingegneria del software è nata proprio per risolvere "la crisi del software", così come fu enunciato nel convegno NATO a Garmich, in Germania, nel 1968.

Essa studia i problemi relativi allo sviluppo del software e ricerca metodi, tecniche e strumenti per affrontarle in modo sistematico. Le migliori di queste che dimostrano sul campo efficacia sono dette "best practice".

Le norme ISO9000 sono state adeguate (Vision 2000) per fornire un modello di riferimento più maturo e adeguato al contesto attuale in continua evoluzione e di maggiore competitività.

Il CMM®I (Capability Maturity Model®, Integration), messo a punto dal Software Engineering Institute (SEI) fornisce anch’esso un modello efficace basato sul livello di maturità dei processi (KPA - Key Process Area).

I modelli di maturità si sono evoluti e specializzati per singola area applicativa (competenze, testing, progettazione, ecc.) fino a creare una vera e propria "MM-mania".

 

Un approccio metodologico organico, semplice ma efficace ....

Una possibile soluzione al problema è affrontare un percorso di miglioramento dell'organizzazione che includa con pari efficacia tutti gli aspetti: le competenze delle persone, sia tecniche che manageriali, i processi produttivi e l'utilizzo di metodi, tecniche e strumenti a supporto delle attività.

Una possibile metodologia è quella sperimentata con successo in progetti che hanno visto coinvolto un grande numero di piccole e medie imprese di software italiane.

Già definita nelle sue linee principali, essa poggia su tre pilastri:

  1. la competenza delle persone (competenze tecniche e manageriali)

  2. i processi maturi per il software (in ottica di miglioramento continuo)

  3. i metodi, le tecniche e gli strumenti a supporto delle attività produttive e gestionali.

 

Il ruolo della direzione ....

Per il successo di una tale iniziativa occorre il coinvolgimento attivo della direzione aziendale.

Essa gioca un ruolo importante nel cambiamento: leader del cambiamento, motore e ispiratore del miglioramento.

Non si è mai vista una organizzazione migliorare le proprie prestazioni senza che la direzione ne veda la necessità, ne capisca l'importanza, si ponga alla testa del cambiamento, ne faciliti le azioni e ne valuti i progressi.

Una consulenza qualificata, basata sull'esperienza e la competenza, ne sono il giusto complemento.

 

In questa sezione del sito (home):

 

Sviluppare software oggi ...

·     Problemi del software (ieri) e oggi ...

·     La norma ISO/IEC 9001:2000

·     Il modello CMMI nelle organizzazioni       software

·     La professione dell'ingegnere del software (SWEBOK)

·     La necessità di una metodologia semplice ed efficace, basata su:

      - competenze delle persone

      - processi maturi

      - metodi, tecniche e strumenti

      - metriche del software

 

Altre sezioni del sito:

Consulenza

Didattica

Pubblicazioni

Chi sono

Info

 

Ultimo aggiornamento: 30 marzo 2007