|
emi7oP <a href="http://etyxbsmwlbop.com/">etyxbsmwlbop</a>, [url=http://ejkbnyaqouhe.com/]ejkbnyaqouhe[/url], [link=http://iytqgxxmxvee.com/]iytqgxxmxvee[/link], http://ddjproogyauv.com/ |
GestioneGestioneAutori: Alberto Taiocchi Sommario
Questo capitolo verterà sugli aspetti gestionali dell’ingegneria del software: tratterà aspetti quali la pianificazione, la gestione della documentazione, quella delle versioni e le configurazioni.
Pianificazione e gestione del progettoLa pianificazione e la gestione del progetto dà le linee guida per gestire progetti di grandi dimensioni (da 3 a 300 persone). La sua realizzazione offre la capacità di stimare il lavoro e quindi gestire al meglio i contratti di pagamento. Permette di stimare parametri quali tempo e risorse che il progetto richiede. Processi di gestioneI processi di gestione sono formati da:
I processi di gestione si articolano in diverse fasi:
Preparazione di un offertaLa preparazione di un offerta si compone di vari aspetti:
Bisogna tenere ben presente che si stanno stimando costi di un certo tipo di lavoro e non i prezzi. Il prezzo viene definito successivamente introducendo un margine di guadagno. Stima delle risorse, costi e tempiStima delle risorseLa stima delle risorse si effettua con metodi diversi:
Infatti x componenti sovrastimanti tendono a bilanciarsi con gli y componenti sottostimati:
soluzioni, e sui motivi delle divergenze;
Stima dei tempiPer effettuare la stima dei tempi si hanno una serie di dati in ingresso:
Si ottiene in uscita un piano delle attività. Per accorciare il tempo di rilascio di un prodotto è possibile aumentare il numero di programmatori. Questa però non è una funzione lineare (curva ideale) in quanto se un gruppo di lavoro è formato da troppi elementi, si rischia di perdere tempo prezioso durante lo sforzo di comunicazione e sincronizzazione (curva reale). Questa situazione deve essere evitata dal manager, anche se però rappresenta un tipico errore. Quando ci si accorge che un progetto è in ritardo aggiungere delle risorse umane, può portare ad ottenere l’effetto opposto a quello desiderato. Gli strumenti per effettuare la stima dei tempi sono:
Analisi dei rischiNella fase di analisi dei rischi si identificano gli aspetti critici che possono generare rischi importanti per il progetto (costi, tempi, qualità). Alcuni possono essere:
In base al tipo di rischi si stabiliscono eventuali azioni da intraprendere. Organizzazione del gruppo di progettoUn gruppo di progetto è costituito da più persone che cooperano per raggiungere un fine. La qualità e le motivazioni delle persone sono determinanti e nessuna scelta organizzativa o tecnologica le può sostituire. L’organizzazione e la tecnologia sono fattori abilitanti che permettono alle qualità e motivazioni delle persone di esprimersi. Il capoprogetto è l’amministratore delegato del progetto ed è responsabile:
Deve essere costruire uno stile di comunicazione che, in caso di criticità, generi segnali di allarme per i livelli superiori dell’organizzazione. Si deve organizzare la squadra con un mix opportuno di competenze e con ruoli definiti (una persona può assumere più ruoli) A questo punto può avere inizio la fase di avvio del progetto. In questa fase viene definto il gruppo di progetto (referente del cliente, capoprogetto, responsabili, operativi), vengono allocate le risorse (macchine, spazi), si attua la revisione del piano (tempi, costi, punti di controllo) e ci si riunisce prima dell’avvio effettivo. Controllo e gestione del progettoDurante la realizzazione del progetto bisogna tenere sempre sotto controllo l’avanzamento del prodotto e dei costi, effettuando delle raccolte di dati giornaliere (come le ore uomo consumate, le fatture emesse verso i fornitori, ecc) ed effettuare delle verifiche di avanzamento al tempo T (l’avanzamento tecnico e dei costi del progetto), le cosiddette milestone. Si possono cos`ı effettuare delle previsioni ed applicare delle eventuali azioni correttive in tempo. Bisogna effettuare regolarmente anche un controllo finanziario, come:
In base a queste analisi dobbiamo intraprendere delle azioni correttive. Alla terminazione del progetto ci saranno ancora alcune attività da svolgere, come:
Gestione della documentazioneStandard di documentazioneLa documentazione deve essere prodotta utilizzando schemi standard di documenti per le varie tipologie di documenti, come:
Database del softwareTutti i documenti prodotti devono essere organizzati in una struttura di dati che ne permetta la gestione ordinata. Deve essere definito uno schema per i dati e utilizzato per tutti i progetti (es. come gestire le sottocartelle dei vari progetti e dei vari clienti). Lo stesso dicasi per gli oggetti cartacei. Gestione delle versioni e delle configurazioniDurante il processo di sviluppo e dopo il rilascio, i prodotti software sono soggetti a modifiche, come:
Gestione delle versioni e delle configurazioniDurante il processo di sviluppo e dopo il rilascio, i prodotti software sono soggetti a modifiche, nuove funzionalità, versioni migliorate del manuale utente, correzione di difetti, nuove release del prodotto. Il processo di modifica deve essere gestito ordinatamente. Si deve gestire il flusso delle modifiche applicandole ordinatamente (in un contesto di più sviluppatori) e identificare la versione attuale di ogni componente. Costruire una versione globale del prodotto che incorpora un insieme di modifiche (insieme di componenti in relazione tra di loro, ognuno ad un livello di versione eventualmente diverso). Si dece poter tornare alla versione precedente in caso di problemi. La gestione delle versioni e delle configurazioni deve essere pianificata:
La gestione delle versioni e delle configurazioni deve essere trattata sotto aspetti diversi:
Esistono regole di modifica del codice di versione ogni volta che il componente è modificato:
Essi sono
|