perchè una gestione dei progetti 8. tecniche di pianificazione e...
TRANSCRIPT
8.-1
1
8. Tecniche di pianificazione e controllo dei progetti
Ing.Alessandro Musumeci
8.-2
Agenda
• Perchè una gestione dei progetti
• La pianificazione del progetto
• La schedulazione delle attività
• Il metodo Function Point per la stima delle attività� Il conteggio dei Data Function Type
� Il conteggio dei Transactional Function Type
� Fasi finali del conteggio
� Conclusioni e considerazioni
� Esercitazioni
• La gestione del progetto
• Riepilogo
8.-3
Perchè una gestione dei progetti• Aumenta la complessità e quindi la durata e i
costi dei nuovi sistemi
• La competitività chiede nuovi sistemi in- Tempi sempre più brevi- Costi bassi- Alta qualità
• La direzione vuole stime precise per tempi ecosti
• Necessità di coordinare gruppi di specialistisempre più diversi
• Tecnologie complesse aumentano il rischio disottostimare costi e tempi
La dinamica della gestione dei progetti
8.-4
Cos’è la gestione dei progetti: Pianificazione
• Situazione attuale -“Dove siamo”
• Risultati desiderati -“Dove vogliamo arrivare”
• Azioni da eseguire -“Come arrivare ai risultati”
• Strategia -Il modo migliore per arrivare ai risultati (efficaciae efficienza)
• I check-point e i deliverables -“Cosa produrre e quando”
• Standard -La qualità dei risultati
La dinamica della gestione dei progetti
8.-5
Definizione• La gestione dei progetti:
- Pianificare - Organizzare -
Dirigere -Controllare
Le risorse della compagnia -Denaro - Materiale
- Tempo - Persone
Per un obiettivo da raggiungere in un tempo relativamente breve
La dinamica della gestione dei progetti
8.-6
Caratteristiche dei progetti
• Obiettivi in tempi brevi
• Prospettiva sistemica
• Gestione del ciclo di vita
• Gestione del potere e dell’autorità
La dinamica della gestione dei progetti
8.-7
I termini del project management
ProgettoUn insieme di attivita’ eseguite da un gruppo di persone con unobiettivo limitato e preciso in un periodo di tempo definito
8.-8
I termini del project management
Project managementLa pianificazione e le attivita’ di supervisione necessarie adassicurare il successo del progetto di sviluppo dei sistemi
budget tempo scope persone
8.-9
I termini del project management
Il team di progetto
Clienti
Sviluppatori
Capi progetto
Sponsor/Committenti
Fornitori
Comitato direttivo
8.-10
I termini del project management
Una lista di attivita’ da effettuare in un progettocomprensiva di stima delle risorse necessarie(conoscenze, livello di esperienza, duratadell’impegno) e di una schedulazioneapprossimata
Una lista di attivita’ da effettuare in un progetto,assegnate a specifiche persone, con specifichedate d’inizio e di ultimazione
work plan
work program1995
8.-11
La pianificazione del progetto
8.-12
La pianificazione del progetto
Introduzione
La pianificazione ha il compito dideterminare cosa fare nel futuro
• Necessaria per garantire i risultati nei tempi
• Facilita la comprensione dei problemi complessi
• Aiuta a coordinare gli sforzi per il raggiungimentodell’obiettivo comune
8.-13
Tecniche di pianificazione• Cosa vogliamo (il prodotto):
• specifiche funzionali e tecniche con scadenze e costi• Strategie per gli obiettivi:
• le attività da eseguire (WBS)• Per ogni attività:
• stima dei tempi di realizzazione• grado di incertezza della stima
• Struttura organizzativa:• autorità• responsabilità• incarichi
• Schedulazione delle attività• Politica da adottare per le decisioni sul bilanciamento fra qualità costi e
scadenze• Gli standard di sviluppo
• cosa bisogna fare• quando• con quali costi
La pianificazione del progetto
8.-14
Pianificazione e contingenze
• Vanno pianificate comunque alcune possibili contingenze:− errori nelle stime di danaro, tempo e persone necessarie− modifiche alle specifiche originali con incrementi di spese e
tempi− indisponibilità imprevista di persone o mezzi
• Valutazione “spannometrica” 10%?
• Nelle fasi preliminari a più alto rischio 20%?
• Le previsioni migliori sono quelle basate sull’analisi dei progettisimili
La pianificazione del progetto
8.-15
Il sommario del piano del progetto• Per il management (il progetto in un colpo d’occhio)
• Per tutti (chiarezza sugli impegni e sugli obiettivi)- cosa c’è da fare- perchè- come verrà fatto- quando- da chi- con quali costi
• Contenuti:- descrizione del prodotto e delle attività- definizione delle scadenze principali- budget per le fasi del ciclo di vita- scomposizione del progetto in attività schedulabili- schedulazione delle macro attività- tracciamento dei cammini critici- matrice delle responsabilità e delle comunicazioni
La pianificazione del progetto
8.-16
Scomposizione funzionale (WBS)• Uno dei principali componenti di un piano è
la definizione delle attività da eseguire
• Una WBS dice:- cosa bisogna fare- quali sono i rapporti gerarchici fra le varie attivita
• Divide il progetto in elementi, attività più piccole e manipolabiliper le quali è più facile definire:
- incarichi- responsabilità- costi- durata- rischi- priorità
• Soddisfa le necessità di:- management- capo progetto- utente
La pianificazione del progetto
0
1 2
1.1 1.2
8.-17
La schedulazione delle attività
Introduzione
• Dalla scomposizione delle attività (WBS)• Indispensabile per il controllo del progetto
• Ma a quale livello di dettaglio fare schedulazione?
• PERSONE• MEZZI• SERVIZI• TEMPO
• PRECEDENZE• PUNTI CRUCIALI (per i DELIVERABLES)
La schedulazione ha il compito di stabilire
CHI DEVE FARE COSA E QUANDO
8.-18
Tipi di schedulazione
• DEI TEMPI:• date di inizio e fine di ogni attività
• DEL PERSONALE:• quando le persone sono impegnate• su quali attività• per quante ore• quando non sono più impegnate sull’attività
Controllo sui carichi di lavoro e la distribuzione
• DEI COSTI:• allocazione dei fondi sulle attività
Controllo sulle richieste di fondi nel tempo
La schedulazione delle attività
8.-19
Schedulazione e bilanciamento dei vincoli
• Progetto vincolato dal tempo:− analisi “cosa succede se”
modificole specifichele precedenzel’allocazione risorse
• Progetto vincolato dai costi:- riallocazione risorse- allungamento tempi
• Spesso per cattiva schedulazione ci si accorge tardiche il progetto durerà di più o costerà troppo
TAGLIO DELLE FUNZIONIINDEBOLIMENTO DELLE SPECIFICHE
TIME COSTS FUNCTIONS La diminuzione di un fattoreaumenta gli altri
La schedulazione delle attività
8.-20
Schedulazione e controllo• Controllo sui progressi del progetto• Schedulazione dei tempi:
− verifiche periodiche sulle discrepanze fra cosa avremmo dovutofare e cosa abbiamo effettivamente fatto alla data
• Schedulazione del personale:− chi spostare da un’attività ad un’altra per correggere qualche
discrepanza• Schedulazione dei costi:
− controllo sulle spese effettive alla data rispetto al budget− previsioni sul futuro
La schedulazione delle attività
8.-21
Il reticolo delle precedenze (PERT)
• Dice quali sono i legami logici fra le attività (le precedenze)
• Un aiuto per calcolare la durata totale di un progetto (o di ungruppo di attività)
• Un aiuto per riconoscere i cammini critici• Un aiuto nella revisione delle attività per accorciare la durata del
progetto
La schedulazione delle attività
8.-22
La schedulazione delle attivita’
Input• Unita’ di misura dei tempi• Giorni di riposo settimanale• Giorni festivi• Giorni di fermo progetto
e, inoltre:• Orario di lavoro• Produttivita’ delle persone• Disponibilita’ completa o parziale delle persone• Ferie• . . .
8.-23
Il reticolo delle precedenze
• Data questa scomposizione
COD. DESCR. DURATA PREDEC.ATT. (mesi)
A xxxxxx 14 INIZIO B xxx 3 INIZIO C xxxx 3 A, B D xx 7 B E xxxxx 4 C, D F xxxx 10 E
• Quanto durerà l’intero progetto?• Quando devo impegnare le persone?
La schedulazione delle attività
8.-24
Il reticolo delle precedenze (PERT)
• Il PERT semplifica il calcolo della durata di un progetto:- per le attività in parallelo la durata totale è minore della somma- ACEF = 31 mesi
BCEF = 20 mesiBDEF = 24 mesi
PERT = Program Evaluation and Review Technique (1957)
La schedulazione delle attività
INIZIO
A 14 C 3
B 3 D 7
E 4 F 10 FINE
= ATTIVITA’
= RELAZIONE DIPRECEDENZA
Tutte le attività sarannocompletate in 31 mesi
8.-25
I cammini critici
ACEF = CAMMINO CRITICO• Determina la durata del progetto• Un ritardo su una qualsiasi attività ritarda l’intero progetto• Per ridurre la durata del progetto bisogna agire sul
cammino critico
La schedulazione delle attività
INIZIO
A 14 C 3
B 3 D 7
E 4 F 10 FINE
8.-26
Riduzione del cammino critico
• Vedere se un’attività sul cammino critico può iniziare prima
La schedulazione delle attività
INIZIO
A 14 C 3
B 3 D 7
E 4 F 10 FINE
8.-27
Riduzione del cammino critico
• - A1, A2, A3, E, F = 28 mesi NUOVO CAMMINO CRITICO
• Vedere se si possono ridurre i tempi di un’attività- con una diversa tecnologia- con un aumento di personale...
La schedulazione delle attività
INIZIO
A1 4 A2 4
B 3 D 7
C 3 E 4 F 10
A3 6
FINE
8.-28
“Accelerare” il progetto• Se l’attività è partizionabile:
- un certo aumento di personalepuò ridurre i tempi
• Ma troppe persone:- aumentano la necessità
di comunicazioneaumentano i tempi!e i possibili conflitti!
• Se l’attività non è partizionabile:- l’aumento di personale causa
aumento dei tempi!aumento dei conflitti!
• Si possono accorciare i tempi anche aumentando mezzi estrumenti
La schedulazione delle attività
8.-29
La schedulazione delle attività
Il diagramma a barre (GANTT)
1 2 3 4 5 6 7
ABCDEFG
- Per visualizzare la schedulazione del progetto
- Per ogni attività:
A B C
B - La fine al più presto (early finish)
A - L’inizio al più presto (early start)- L’inizio al più tardi (late start)
C - La fine al più tardi (late finish) - Per le attività che non sono nel cammino critico
lo slittamento possibile (slack)- Non mostra le relazioni di precedenza
8.-30
La schedulazione delle attività
Le attività già svolte
- Il cammino critico
Il diagramma a barre
8.-31
La schedulazione delle attività
Il diagramma a barre: un esempio
Analisi deirequisiti utente
Disegno delleinterfacce
Disegnotecnico
Requisiti diqualita’
System test
Procedureutente
1 2 3 4 5 6 7 8 9 10
avanzamento
camminocritico
earlystart
earlyfinish
latefinish 8.-32
La schedulazione delle attività
La schedulazione del personale• Il Gantt è utile anche per visualizzare la schedulazione del personale
- Numero di programmatori per ogni attività - Numero di programmatori impiegati nel tempo
A
B
C
D
E
F
2
6
2
1
4
6
Numero di persone
62 4 8 10 12 14 16 18Tempo, mesi
2 4 6 8 10 12 14 16 18
2
4
6
8
10
12
14
Pro
gram
mat
ori
Tempo, mesi
8.-33
La schedulazione delle attività
La schedulazione del personale
2
4
6
8
10
12
14
16
18
6 34 54 102 118 126
Tempo, mesi
Mesi, uomo
- Distribuzione cumulativa di programmatori nel tempo
- MESI-UOMO = DANARO!
8.-34
La schedulazione delle attività
Schedulazione del personale: abbassamento dei picchi
A
B
C
D
E
F
2
6
2
1
4
6
Numero di persone
62 4 8 10 12 14 16 18Tempo, mesi
2 4 6 8 10 12 14 16 18
2
4
6
8
10
12
14
Pro
gram
mat
ori
Tempo, mesi
- Nei mesi 8-12 servono 12 programmatori ma non sono disponibili
12 14 16 184 6 8 102
23
4
6
78
10
12
14
Pro
gram
mat
ori
Spostamento di F, che non è nel cammino critico, nel mese 12
Tempo, mesi
8.-35
Il metodo dei Function Points per la stima delle attività
■ Analisi dei Function Point:� misura l’ampiezza di un’applicazione o di un progetto quantificando
la quantità di funzionalità fornite all’utente indipendentemente dallatecnologia usata.
■ Conteggio dei Function Point:� valutazione eseguita a progetto terminato
■ Stima dei Function Point:� valutazione eseguita per funzionalità non ancora rilasciate
8.-36
L’Analisi dei Function Point
■ Obiettivi
� Uno standard per misurare lo sviluppo del SW
� Misurare oggetti visibili e significativi per l’utente
� Misurazioni possibili nelle prime fasi del ciclo di vita
� Indipendenza dalla tecnologia usata
� Obiettività della misurazione
� Semplicità e dimostrabilità del conteggio
� Coerenza fra progetti e organizzazioni
8.-37
L’Analisi dei Function Point
■ Benefici
� Strumento per determinare:
• La dimensione di SW acquistato o prodotto
• Quanto siamo competitivi
• Se stiamo migliorando
• Stime: costi e risorse per lo sviluppo e la manutenzione
� Elemento di misurazione della Qualità
� Fattore di normalizzazione nei confronti
8.-38
L’Analisi dei Function Point
■ Il conteggio
� Identificazione delle funzionalità richieste
� Per ogni funzionalità:
• Classificazione (Type)
• Valutazione della complessità
• Calcolo del numero di FP (unadjusted)
� Per l’intero sistema:
• Valutazione della complessità generale e
• Calcolo del fattore di aggiustamento dei FP (VAF)
� Sommatoria dei FP e applicazione del VAF
1 2 3 4 5678
8.-39
L’Analisi dei Function Point
■ Una procedura per il conteggio
Preparal’ambiente
per ilConteggio
Stabilisci ilTipo di
Conteggio
Identifica iConfini delConteggio
Conta iData
FunctionTypes
Conta iTransactional
Function Types
Calcola gliUnadjusted
F.P.
Determina ilValue
AdjustmentFactor
Calcola ilFinal
AdjustedF.P. Count
8.-40
Fasi iniziali del conteggio
■ Preparazione dell’ambiente
■ Stabilisci il tipo di conteggio
■ Identifica i confini del conteggio
8.-41
0 - Preparazione dell’Ambiente per il Conteggio
■ Raccogli documentazione:
� schermate, tabulati, archivi, dizionari dati, ...
� descrizioni funzioni, documentazione utente, ...
� diagrammi: DFD, ERD, ED, ...
■ Identifica gli esperti:
� funzionali
� “contatori”
8.-42
1 - Stabilisci il Tipo di Conteggio
+Conversion
DEVELOPMENT
PROJECT
DELIVERED
+Conversion
ENHANCEMENT
APPLICATION
Inizializza
Modifica
■ Project: tutte le funzionalità necessarie per la realizzazione del sistema
■ Application: solo le funzionalità rilasciate all’utente
8.-43
2 - Identifica i Confini del Conteggio
EI
EO
EQILF
EIEO
EQ
EIF
ILF
■ Quali funzioni sono incluse nel conteggio
■ L’ambito del progetto
8.-44
2 - Identifica i Confini del ConteggioGli elementi conteggiati
Function Types
ILF
EIF
DataFunction Types
•ILF: Internal Logical File•EIF: External InterfaceFile
•EI: External Input•EO: External Output•EQ: ExternalInquiry
TransactionalFunctionTypes
8.-45
2 - Identifica i Confini del Conteggio
Come vengono calcolati i FP
Componenti Basso Medio Alto TotaleInternal L.File __x7=___ __x10=___ __x15=___ _____External I. File __x5=___ __ x 7=___ __x10=___ _____External Input __x3=___ __ x 4=___ __ x 6=___ _____External Output __x4=___ __ x 5=___ __ x 7=___ _____External Inquiry __x3=___ __ x 4=___ __ x 6=___ _____
Totale UFP =
8.-46
Conta i Data Function Type (DFT)
■ Internal Logical File (ILF)
■ External Interface File (EIF)
■ La complessità:
� Record Element Type (RET)
� Data Element Type (DET)
■ Considerazioni
8.-47
3 - Conta i Data Function Types
ILF
Internal Logical File (ILF)
■ Definizione:
� Raggruppamento logico di dati o informazioni di controllo
• identificabili dall’utente
• gestiti internamente all’applicazione
8.-48
3 - Conta i Data Function Types
ILF
Internal Logical File (ILF)
■ Esempi:
• Archivi creati, aggiornati e interrogati dall’utente
• Tabelle di validazione
• Tabelle con parametri di controllo
• File di help e tabelle di messaggi
• File di back-up richiesti dall’utente
■ NON sono ILF:
• File di cui l’utente non ha visibilità
• File interni di sort
• File legati alla tecnologia usata per l’applicazione
8.-49
3 - Conta i Data Function TypesILF: Esempio da Data Flow Diagram
Utente Finale
Aggiornamento Ordini
File Ordine
Ordine Aggiornato
Ordine
1.0
Personale
Creazione nuovo record
File Personale
Applicazione Impiegato
1.0
8.-50
3 - Conta i Data Function TypesILF: Esempio da Entity / Relationship Diagram
Un ordine è completo quando contiene le informazioni sulla fatturazione, sulla
spedizione e tutte le righe-prodotto
1 ILF con 3 RET
ORDINE
Dati x Fattura
Dati x Spediz. Riga-prodotto
8.-51
3 - Conta i Data Function Types
ILF: Esempio da Entity / Relationship Diagram
Unico file fisico con 4 sotto-entità che l’utente tratta in modo diverso
4 ILF ognuno con 1 RET
CLIENTI
Persone
Società
Scuole
Amici
8.-52
3 - Conta i Data Function TypesExternal Interface File (EIF)
■ Definizione:
� Raggruppamento logico di dati o informazioni di controllo
• identificabili dall’utente
• gestiti all’esterno dell’applicazione
• un EIF di un’applicazione deve essere ILF di un’altra
EIF
ILF
8.-53
3 - Conta i Data Function TypesExternal Interface File (EIF)
■ Esempi:
• Data Base condivisi in read-only
• Dati referenziati ma gestiti da altre applicazioni
• File di help o di errori (in read-only)
■ NON sono EIF:
• Dati gestiti dall’applicazione e utilizzati da altre
EIF
ILF
8.-54
3 - Conta i Data Function TypesEIF: Esempio da Data Flow Diagram
Sistema AElaborazione Sequenziale Transazioni
Transazioni
1.0
Determinazione Situazione Stock
Inventario Magazzino
1.0
Creazione Ordine
2.0
Inventario Deposito
8.-55
3 - Conta i Data Function TypesValutazione livello di complessità degli ILF e EIF in base al numero di:
■ Record Element Type (RET):
• raggruppamenti di dati all’interno del file
- sia obbligatori che opzionali
■ Data Element Types (DET):
• dati elementari nei files
- riconoscibili dall’utente
- se ripetitivi, valgono 1
- le chiavi esterne
ILF
RET
DET
EIF
ILF
8.-56
3 - Conta i Data Function Types
ILF
RET
DET
EIF
ILF
Tabelle per la determinazione della complessità per ILF e EIF
DETRET 1-19 20-50 51+1 Basso Basso Medio2-5 Basso Medio Alto6+ Medio Alto Alto
8.-57
3 - Conta i Data Function Types
ILF EIF
ILF
Determina gli UFP per i Data Function Types
■ per ogni ILF e ogni EIF (Contribution)
■ la sommatoria è l’UFP Count (UFPC) per i Data FunctionTypes
L’UFPC rappresenta il conteggio delle funzionalità
fornite all’utente
ComplessitàBassaMedia
Alta
UFP71015
ILF
ComplessitàBassaMedia
Alta
UFP5710
EIF
8.-58
3 - Conta i Data Function TypesConsiderazioni sui Data Base:
� DB Gerarchici: ogni Segment può essere un logical file
� DB Relazionali: ogni Table può essere un logical file
� Diagrammi E/R: ogni Entity può essere un logical file
Complessità media dei logical file:
� 95% bassa
� 4% media
� meno dell’ 1% alta
ILF EIF
ILF
8.-59
Conta i Transactional Function Type (TFT)
■ External Input (EI)
■ External Output (EO)
■ External Inquiry (EQ)
■ Complessità:
� File Type Referenced (FTR)
� Data Element Type (DET)
8.-60
4 - Conta i Transactional Function Types
Function Types
ILF
EIF
DataFunction Types
•ILF: Internal Logical File•EIF: External Interface File
•EI: External Input•EO: External Output•EQ: External Inquiry
TransactionalFunctionTypes
8.-61
4 - Conta i Transactional Function TypesExternal Input (EI)
■ Definizione:
� Raggruppamento logico di dati o informazioni di controllo
• Provenienti dall’esterno del sistema
- dall’utente
- da altri sistemi
• ed elaborati per una funzione-utente
EI
8.-62
4 - Conta i Transactional Function TypesExternal Input (EI)
� Esempi:
• Schermate di inserimento, modifica, cancellazione
• Schermate per la gestione di dati di controllo
• Tabulati di input
• Transactional file (in ingresso)
• Richieste di innesco processi di back-up
• Lettori di codici a barre negli sportelli
• Lettura di dati da strumenti vari
• Input da altri sistemi
• Menu con dati di input per selezionare una funzione
� NON EI:
• La parte input di un EQ
EI
8.-63
4 - Conta i Transactional Function TypesEI: Esempi da Data Flow Diagram
Utente Finale
Aggiornamento Parametridi Stampa
1.0Elaborazione Transazione
File
Multi-Screen
1.0
On-Line Data Entry
Transazione
Tabella
8.-64
4 - Conta i Transactional Function TypesValutazione livello di complessità degli External Input (EI) fatta in
base al numero di:
■ File Type Referenced (FTR):
• archivi logici aggiornati o letti per la funzione
■ Data Element Types (DET):
• dati elementari introdotti
- riconoscibili dall’utente
- se ripetitivi, valgono 1
DET
ILF
EIEIF/ILF
8.-65
4 - Conta i Transactional Function Types■ Tabelle per la complessità per FTR e DET di ogni EI:
■ Tabella per determinare gli Unadjusted FP (contribution):
DETFTR 1-4 5-15 16+0-1 Basso Basso Medio2 Basso Medio Alto3+ Medio Alto Alto
EIComplessità
BassaMedia
Alta
UFP346
EI
EI
8.-66
4 - Conta i Transactional Function TypesExternal Output (EO)
■ Definizione:
� Un processo elementare che genera dati o informazioni di controllo
• Inviati all’esterno del sistema
- all’utente
- ad altri sistemi
• Il processo elementare deve realizzare in modo
completo una funzione utente
EO
8.-67
4 - Conta i Transactional Function Types
EO
External Output (EO)
� Esempi:
• Tabulati
• Report on-line
• Qualsiasi output ottenuto da elaborazione
• Risultati di calcoli presentati a video
• Archivi di transito (in uscita)
• Output ad altri sistemi
• Sistemi di generazione e distribuzione report o microfiches- (valgono 1 EO perchè l’elaborazione la fa il prodotto)
• Richiesta di attivazione funzioni per altra applicazione
• Messaggi su qualsiasi supporto
8.-68
4 - Conta i Transactional Function Types
Riepilogo Totali
File Reclami
1.0
EO: Esempi da Data Flow Diagram
RiepilogoUtente Finale Formalizza dati
per paghe
1.0
File Paghe
Stampa di controllo
Check Paghe
Check condizioni di
errore
1.0
Testo Messaggio
Messaggio Errore
ControllatoDisplay Utente
FinaleEmissione Pagamenti
1.0
File Pagamenti
Client 1
Client 2
Client 3
8.-69
4 - Conta i Transactional Function TypesValutazione livello di complessità degli External Output (EO) fatta
in base al numero di:
■ File Type Referenced (FTR):
• archivi logici (ILF e EIF) letti per produrre l’output
■ Data Element Types (DET):
• dati elementari prodotti in uscita
- Non contare le costanti
- Non contare i numeratori automatici di pagina.
EO
DET
EIF/ILF
8.-70
4 - Conta i Transactional Function Types
EO
DET
EIF/ILF
■ Tabelle per la complessità per FTR e DET di ogni EO:
■ Tabella per determinare gli Unadjusted FP (contribution):
DETFTR 1-5 6-19 20+0-1 Basso Basso Medio2-3 Basso Medio Alto4+ Medio Alto Alto
ComplessitàBassaMedia
Alta
UFP457
EO
EO
8.-71
4 - Conta i Transactional Function Types
External Inquiry (EQ)
■ Definizione:
� Un processo elementare che consiste in una richiesta di informazioni e unarisposta con le informazioni cercate
� No elaborazioni, No aggiornamenti
� Esempi:
• Schermate di logon con funzioni di sicurezza
• Scelta da una lista di valori presentati
• Visualizzazione di dati da una richiesta
• Attivazione di funzioni di help online
• Menu di selezione
• Ogni input/output che non comporti aggiornamenti
• Schermate dei help
EQ
8.-72
4 - Conta i Transactional Function Types
Display Ordine
File Ordini
1.0
1.0
Dati ordini selezionati
Utente Finale
Pezzo
Aggiornamento
Utente Finale
1.0
EQ: Esempi da Data Flow Diagram
Display Pezzo
Aggiornamento File Pezzi
Aggiornamento
Pezzo Selezionato
Menù Selezione Funzioni
1.0
Display Help Campo
1.0
File Screen Funzioni
Utente Finale
Screen Funzioni
Selezionati
File Help
Utente Finale
Screen Help
Selezionato
8.-73
4 - Conta i Transactional Function Types
■ Il livello di complessità di un External Inquiry (EQ) è il maggiore fra ilivelli delle sue parti Input e Output.
■ Si basa su FTR e DET come visto per gli altri Transactional FT.
EQ
DET
EIF/ILF
8.-74
4 - Conta i Transactional Function TypesTabelle per la complessità per FTR e DET di ogni EQ:
DETFTR 1-4 5-15 16+0-1 Basso Basso Medio2 Basso Medio Alto3+ Medio Alto Alto
EQ
DET
EIF/ILF
EQparteinput
DETFTR 1-5 6-19 20+0-1 Basso Basso Medio2-3 Basso Medio Alto4+ Medio Alto Alto
EQparte
output
8.-75
4 - Conta i Transactional Function Types■ Tabella per gli Unadjusted FP (contribution) per gli EQ.
■ Da usare col più alto dei valori fra i lati Input e Output di ogniEQ.
ComplessitàBassaMedia
Alta
UFP346
EQEQ
DET
EIF/ILF
8.-76
5 - Calcola gli Unadjusted Function Points (UFP)
Basso Medio Alto TotaleILF __x7=___ __x10=___ __x15=___ _____EIF __x5=___ __ x 7=___ __x10=___ _____EI __x3=___ __ x 4=___ __ x 6=___ _____EO __x4=___ __ x 5=___ __ x 7=___ _____EQ __x3=___ __ x 4=___ __ x 6=___ _____
Totale UFP =
Tabella per calcolare il totale degli UFP
8.-77
Fasi finali del conteggio
■ Determina il Value Adjustment Factor (VAF)
■ Le 14 General System Characteristics (GCS)
■ Calcolo del Final Adjustment FP Count
� per un Development Project (DFP)
� per un Enhancement Project (EFP)
� per una Application (AFP)
8.-78
6 - Determina il Value Adjustment Factor (VAF)
■ Fattore di “aggiustamento” degli UFP
■ Analisi di 14 General System Characteristics (GCS) che determinano lacomplessità generale del sistema
■ Per ogni GSC si stabilisce il Degree of Influence (DI)
� un valore che va
- da 0 = nessuna influenza
- a 5 = massima influenza■ La somma dei 14 DI è usata in una formula che “aggiusterà“ gli UFP di
un +/-35%
35%
0 1 2 3 4 5
8.-79
6 - Determina il Value Adjustment Factor (VAF)
I 6 Degree of Influence (DI) da associare ad ognuna delle 14 GSC:
0 = non presente o nessuna influenza1 = influenza poco significativa2 = influenza moderata3 = influenza media4 = influenza significativa5 = influenza massima
DI
0 1 2 3 4 58.-80
6 - Determina il Value Adjustment Factor (VAF)
Le 14 General System Characteristics (GSC) che determinano lacomplessità generale del sistema:
35%
GCS DI GCS DI1. Data Communications ___ 8. On-Line Update ___2. Distributed Processing ___ 9. Complex Processing ___3. Performance ___ 10. Reusability ___4. Heavily-Used Configuration ___ 11. Installation Ease ___5. Transaction Rate ___ 12. Operational Ease ___6. On-Line Data Entry ___ 13. Multiple Sites ___7. End User Efficiency ___ 14. Facilitate Change ___
Total Degree of Influence = _____
8.-81
6 - Determina il Value Adjustment Factor (VAF)
35%
1 - Data Communication
•I dati utilizzati nell'applicazione, sono ricevuti o inviati tramitefacilities di comunicazione
❏ Valori
•0 - applicazione esclusivamente batch o su PC stand alone
•1/2 - applicazione batch ma con data entry e/o stampe remote
•3 - raccolta dati on-line o interfacce ad una applicazione batch
•4 - l'applicazione gestisce solo un protocollo di comunicazione
•5 - l'applicazione gestisce più di un protocollo dicomunicazione
8.-82
6 - Determina il Value Adjustment Factor (VAF)
2 - Distributed data processing
•Dati o processi distribuiti sono una caratteristicadell'applicazione
❏ Valori
•0 - l'applicazione non prevede il trasferimento di dati o diprocessi fra diverse componenti del sistema
•1 - l'applicazione prepara dati per un'altro componente delsistema
•2/4 - l'applicazione prepara dati per il trasferimento, litrasferisce ed effettua l'elaborazione su un altro componentedel sistema
•5 - le funzioni vengono elaborate nel componente del sistemapiù appropriato
35%
8.-83
6 - Determina il Value Adjustment Factor (VAF)
3 - Performance• Gli obiettivi di performance dell'applicazione, richiesti o approvati
dall'utente, sia in termini di tempo di risposta che di durata delleapplicazioni, influenzano la progettazione, lo sviluppo l'installazionee le attività di supporto dell'applicazione
❏ Valori
• 0/3 - non sono richieste particolari performance dall'utente. Leconsiderazioni di analisi e disegno delle performance sono standard
• 4 - le performance richieste dall'utente sono stringenti al punto darichiedere un'attività di analisi delle performance durante il disegno
• 5 - l'ottimizzazione delle prestazioni riveste estrema criticità;strumenti per la valutazione delle prestazioni devono essere utilizzatiin fase di progettazione, sviluppo ed installazione
35%
8.-84
6 - Determina il Value Adjustment Factor (VAF)
4 - Heavily used configuration
•L'applicazione dovrà girare su una configurazionepesantemente utilizzata. Nel disegno e nella realizzazionedell'applicazione si dovrà usare un'attenzione particolare persopperire ai limiti imposti.
❏ Valori
•0/3 - l'applicazione opera su sistemi standard di produzionecon nessun tipo di vincoli
•4 - la configurazione del sistema hardware pone vincoliall'applicazione
•5 - in aggiunta, ci sono vincoli per l'applicazione sucomponenti distribuiti del sistema
35%
8.-85
6 - Determina il Value Adjustment Factor (VAF)
5 - Transaction rate
•L'alto volume di transazioni da elaborare influenza laprogettazione, lo sviluppo, l'installazione e le attività disupporto dell'applicazione
❏ Valori
•0/3 - il volume delle transazioni rientra nello standard
•4 - il volume delle transazioni richiede, in fase diprogettazione, particolari accorgimenti
•5 - il volume di transazioni richiede l'adozione di tecniche edi strumenti specifici in fase di progettazione, sviluppo einstallazione
35%
8.-86
6 - Determina il Value Adjustment Factor (VAF)
6 - On-line data entry
•Funzioni di controllo e di data-entry on-line sono presentinell'applicazione
❏ Valori
•0/2 - le transazioni di data-entry interattivo sono meno del16% delle transazioni
•3/4 - le transazioni di data-entry interattivo sono compresetra il 16 ed il 30% del totale
•5 - le transazioni di data-entry interattivo sono oltre il 30%delle transazioni totali
35%
8.-87
6 - Determina il Value Adjustment Factor (VAF)
7 - End user efficiency
•Le funzioni on-line sono progettate per ottenere il massimodell'efficienza per l'utente finale
❏ Valori
•0/3 - ci sono poche richieste speciali per quanto riguardal'efficienza dell'utente
•4 - gli aspetti legati ad un utilizzo efficiente da partedell'utente richiedono attenzione in fase di progettazione
•5 - l'interfaccia utente gioca un ruolo determinante: l'utilizzodi strumenti per il prototyping é indispensabile
35%
8.-88
6 - Determina il Value Adjustment Factor (VAF)
8 - On- line update
•L'applicazione prevede l'aggiornamento on-line delleinformazioni contenute negli Internal Logical File
❏ Valori
•0 - nessuno
•1/2 - il volume degli aggiornamenti é contenuto e il recovery èfacile
•3 - aggiornamento on-line degli Internal Logical File principali
•4 - devono essere previsti meccanismi di protezione dei dati
•5 - il volume degli aggiornamenti on-line tale da portare aconsiderazioni di costo nella scelta del recovery
35%
8.-89
6 - Determina il Value Adjustment Factor (VAF)
9 - Complex Processing
•Il software é caratterizzato da complessità di processocome:
• elaborazioni logiche e matematiche complesse
• meccanismi per garantire la sicurezza dei dati
• meccanismi di input/output complessi
• ...❏ Valori
•0 - nessuna delle caratteristiche citate é presente
•1/3 - alcune delle caratteristiche sopra citate
•4 - quasi tutte le caratteristiche sopra citate
•5 -tutte le caratteristiche sopra citate
35%
8.-90
6 - Determina il Value Adjustment Factor (VAF)
10 - Reusability
•L'applicazione e il codice dell'applicazione sono statiappositamente disegnati e sviluppati per essere utilizzatiin altre applicazioni
❏ Valori
•0/1 - l'applicazione é stata progettata e sviluppata peruno specifico utente
•2/3 - l'applicazione utilizza alcuni moduli checonsiderano le necessità di più di un utente
•4/5 - l'applicazione é progettata e sviluppata perdiventare generalizzata e usabile da diversi utenti
35%
8.-91
6 - Determina il Value Adjustment Factor (VAF)
11 - Installation ease
•La facilità di installazione e di conversione é unacaratteristica dell'applicazione
❏ Valori
•0/1 - nessuna richiesta particolare da parte dell'utenteriguardo all'installazione e la conversione
•2/3 - conversione ed installazione sono criticitàevidenziate dall'utente
•4/5 - devono essere realizzati e testati strumenti diconversione e installazione automatica
35%
8.-92
6 - Determina il Value Adjustment Factor (VAF)
12 - Operation ease
• La semplicità operativa é una caratteristica dell'applicazione, delleprocedure di start-up, di back-up e di recovery sono state provatedurante la fase di collaudo finale. L'applicazione minimizza lanecessità di attività manuali quali i mount di nastri, la gestione ditabulati e gli interventi operativi per proseguire nell'elaborazione
❏ Valori
• 0 - la gestione operativa dell'applicazione non é consideratacritica da parte dell'utente
• 1/2 - dove richieste, sono fornite procedure di start-up, back-up erecovery
• 3/4 - l'applicazione riduce al minimo la necessità di montaggionastri, o gestione di tabulati
• 5 - l'applicazione é stata disegnata in modo che il sistema operisenza l'intervento dell'operatore
35%
8.-93
6 - Determina il Value Adjustment Factor (VAF)
13 - Multiple sites
•L'applicazione é stata progettata sviluppata in modospecifico per essere installata in più ubicazioni perdifferenti organizzazioni
❏ Valori
•0 - nessuna richiesta utente di necessità di più di unainstallazione
•1/2 - la necessità di installazioni diverse é stataconsiderata durante il disegno, ma l'applicazione puòoperare solo in ambienti simili a quello originario
•3 - progettata per operare su diverso hw e/o sw di sistema
•4/5 - sono forniti documentazione e piani per supportarel'applicazione in luoghi diversi
35%
8.-94
6 - Determina il Value Adjustment Factor (VAF)
14 - Facilitate change
•L'applicazione é stata progettata e sviluppata in modospecifico per minimizzare gli impatti di modifiche. Peresempio:
• sono stati forniti strumenti di query generalizzati
• i parametri di controllo utente sono gestiti tramitetabelle aggiornabili dall'utente stesso
❏ Valori
•0 - la facilità di apportare modifiche all'applicazione non éconsiderata essenziale dall'utente
•1/3 - sono fornite facilitazioni per la gestione delle richiestedi query di media complessità
•4/5 - i dati di controllo sono inseriti in tabelle che vengonogestite dall'utente tramite processi on-line interattivi
35%
8.-95
6 - Determina il Value Adjustment Factor (VAF)
■ Inserire il Total Degree of Influence nella seguente formulaper produrre il VAF:
VAF = (TDI * 0.01) + 0.65
■ Il moltiplicatore risultante è un indicatore di complessitàmedia del sistema
35%
x 1.35
x 0.65
8.-96
7 - Calcola il Final Adjusted FP Count
■ Il calcolo finale dei FP dipende del tipo di conteggio:
� Development Project: le funzionalità per la costruzione diun nuovo sistema
� Enhancement Project: le funzionalità per fare aggiunte,variazioni e cancellazioni ad un sistema esistente
� Application: le funzionalità del sistema in esercizio
■ Development ed Enhancement project sono costituiti da:
� Application Functionality: le funzionalità rilasciate
� Conversion Functionality: necessarie per il rilascio delsistema
DFPEFP
AFP
8.-97
7 - Calcola il Final Adjusted FP Count
+Conversion
DEVELOPMENT
PROJECT
DELIVERED
+Conversion
ENHANCEMENT
APPLICATION
Inizializza
Modifica
I rapporti fra i vari tipi di conteggio
8.-98
7 - Calcola il Final Adjusted FP Count
Development Project: le funzionalità per la costruzione di unnuovo sistema
DFP = (UFP + CFP) * VAF
■ DFP: i FP per lo sviluppo del sistema (Development)
■ UFP: gli Unadjusted FP per le Application Functionality
■ CFP: gli Unadjusted FP per le Conversion Functionality
■ VAF: il Value Adjustment Factor
DFP
8.-99
7 - Calcola il Final Adjusted FP CountEnhancement Project: le funzionalità per fare aggiunte, variazioni
e cancellazioni ad un sistema esistente
EFP = ((ADD+CHGA+CFP) * VAFA) + (DEL * VAFB)
■ EFP: i FP di aggiornamento del sistema (Enhancement)
■ ADD: gli Unadjusted FP per le funzioni aggiunte
■ CHGA: gli Unadjusted FP per le funzioni modificate, dopo lamodifica
■ CFP: FP aggiunti per funzioni di conversione
■ VAFA: il VAF dell’applicazione dopo l’enhancement
■ DEL: gli Unadjusted FP delle funzioni cancellate
■ VAFB: il VAF dell’applicazione prima dell’enhancement
DFPEFP
8.-100
7 - Calcola il Final Adjusted FP CountApplication: le funzionalità del sistema in esercizio
■ Calcolo iniziale:
- l’utente riceve un nuovo sistema
- non ci sono variazioni
- il calcolo non include le funzionalità di conversione
AFP = ADD * VAF
■ AFP: i FP di un nuovo sistema
■ ADD: gli UFP delle funzioni realizzate dal progetto di sviluppo
DFPEFP
AFP
8.-101
7 - Calcola il Final Adjusted FP Count
DFPEFP
AFP
Application: le funzionalità del sistema in esercizio
■ (Ri)calcolo dopo un Enhancement Project
AFP = ((UFPB+ADD+CHGA)-(CHGB+DEL)) * VAFA
■ AFP: i FP del sistema modificato
■ UFPB: gli UFP prima delle modifiche
■ ADD: gli UFP delle funzioni aggiunte
■ CHGA: gli UFP delle funzioni modificate, dopo la modifica
■ CHGB: gli UFP delle funzioni modificate, prima dellamodifica
■ DEL: gli UFP delle funzioni cancellate
■ VAFA: il VAF del sistema dopo le variazioni
8.-102
Esempio: Costruzione e revisione di un’applicazione
Creazione applicazioneConversione archiviTotaleAggiunta di un video
CreazioneAggiornamentoModificaInquiry
TotaleCancella 2 tabulati da 5 FPTotaleModifica un tabulato
5 FP all’inizio5 FP finali
Totale
Project FP2.000
200
4444
10
5
Totali
2.200
16
10
5
Application FP2.000
0
4444
-10
0
Totali
2.000
2.016
2.006
2.006
8.-103
Conclusioni e considerazioni
■ Function Point e Produttività
■ Function Point e Qualità
■ Fattori influenzanti
■ Function Point e Ciclo di Vita
■ Obiezioni comuni
■ Function Point e strumenti
■ IFPUG
8.-104
FP e Produttività■ Produttività:
� “beni o servizi prodotti per unità di lavoro o spesa”
+ Definizione con i FP:
Output----------Input
Prodotto------------Sforzo
N° di FP---------------
Sforzo (ore)
8.-105
FP e ProduttivitàMisurazioni della Produttività:
■ Per lo sviluppo:
■ Per l’esercizio:
Project FPs------------------
Ore di sviluppo
Ore di supporto---------------------
Application FPs
8.-106
FP e QualitàMisurazioni della Qualità
■ Indice di Qualità:
■ Densità dei difetti:
Ore per riparare difetti------------------
N° di FP
N° di difetti---------------------
N° di FP
Qualità
8.-107
Fattori influenzanti
■ Produttività e qualità sono influenzate da:
� Persone
� Ambiente di produzione
� Strumenti di sviluppo
� Tecniche
Qualità
8.-108
FP e Ciclo di Vita del Progetto
Analisi eProgettazione
Implementazione Esercizio
Sfo
rzo
Definizionedei
requisitiAnalisifunz.
Analisitecnica
Programmazione Test InstallazioneManutenzione
Tempo
FP
8.-109
FP e linguaggi di programmazione
L i n g u a g g i o / a m b i e n t e N ° s t a t e m e n t p e r 1 F P
A s s e m b l e r ( 1 a g e n . ) 3 2 0C 1 2 8A N S I C O B O L 7 4 1 0 7V S C O B O L I I 9 1P a s c a l / P l - 1 / F o r t r a n 9 0 8 0
A n s i B a s i c 6 4
R P G I I I 5 6
C + + / J a v a 5 3
A D A 9 5 4 9
V i s u a l B a s i c / C l i p p e r 4 0
D b a s e I V / P a r a d o x 3 6
A P L 3 2
D e l p h i / L i s p 2 9S m a l l t a l k 2 1
H T M L 1 6
Capers Jones, 1998 ([email protected])8.-110
Obiezioni
■ L’analisi dei FP costa troppo
� l’1% del progetto (Es: 2 giorni per 1,5 milioni di LOC)
� E’ capìta dall’utente e quindi riduce i costi di negoziazione
■ I FP non stimano lo sforzo
� Vanno usati fattori di produttività che sono specifici dell’ambiente
produttivo, dell’architettura tecnica, del tipo di processo di produzione
■ I FP non danno stime affidabili
� Gli analisti certificati commettono errori minori del’ 1,5%
8.-111
FP e strumenti
8.-112
FP e strumenti
8.-117
IFPUG
■ Counting Practices Manual
■ Management Guidelines
■ Certification
8.-118
IFPUG
8.-119
IFPUG
8.-120
IFPUG
8.-121
Bibliografia sui Function Points
■ Domenico Natale - Qualità e Quantità nei sistemi software (Franco Angeli -1995)
■ David Garmus - Measuring the software process - (Yourdon PressComputing Series - 1996)
■ Function Point Counting Manual - Release 4.0 - (International FunctionPoint User Group 1994)
■ J.B.Dreger - Function Points Analysis - (Prentice Hall 1989)
■ Capers Jones - Applied Software Measurement - (Mc Graw-Hill 1991)
8.-122
Introduzione• Il controllo verifica se il progetto progredisce rispettando le
specifiche ed i vincoli del progetto• Monitoraggio continuo sulla esecuzione delle attività
Il controllo del progetto
• Poi, revisione di: - - Stime- - Schedulazione- - Incarichi
8.-123
Il controllo del progetto
I passi del processo di controllo1. Definire il sistema di misurazione
2. Raccogliere i dati sul progresso del progetto
3. Confrontare i progressi con il piano
4. Analizzare le discrepanze e le cause
5. Informare le persone coinvolte, MGMT, utente
6. Stabilire le azioni correttive per il prossimo periodo
8.-124
Il controllo del progetto
I passi del processo di controlloSistema di misurazione :
• Definito in pianificazione:- cosa misurare- come- quando
• Per il processo di produzione:- schedulazione- budget- personale
• Per il prodotto:- standard per le specifiche tecniche- standard per le specifiche funzionali
8.-125
Il controllo del progetto
L’analisi delle varianze
• Ogni mese o quindicina
• Dall’inizio del progetto
• Sul periodo contabile
• Sui costi
• Sulla schedulazione
- Le deviazioni sui costi e sul progresso del progetto
BUDGET EFFETTIVO
- Previsioni:
• Sui costi finali
• Sulla data di completamento
Earned Value Analysis8.-126
Il controllo del progetto
Il budget - la stima dei costi• Processo complesso
• Eseguito nella fase di pianificazione
1) - Scomposizione delle attività (WBS)
111 112 113
Attività110
2) - Determinazione delle figure professionali necessarie e relativi costi
Attività Fig. Prof. Costo/MM Mesi
Tecnico 2250 1111 Programm. 2300 1
Programm. 2300 2112 Analista 3000 1
Programm. 2300 2113 Analista 3000 3
(cont.)
8.-127
Il controllo del progetto
Il budget - la stima dei costi
3) - Distribuzione dei costi nel tempo
1 2 3 4 5 6 70
10
20
30
Costimensili
Costicumulativi
4,550
4,550
5,300 7,600 5,300 3,000 XXX
9,850 17,450 22,750 25,700 XXX
MIL
ION
I
8.-128
Il controllo del progetto
Il budget - la stima dei costi
4) - Distribuzione delle attivita’ nel tempo
Mesi0
113
112
111
1 2 3 4 5 6 7
Attività
1 - P
1 - T
1 - A
1 - P 1 - P
1 - P
1 - A
1 - P
1 - A 1 - A
8.-129
I Costi di Progetto
Riepilogo dei costi
I costi elementari di progetto possono essere riepilogati per:
1. attività - secondo gli elementi della WBS
2. classi di costo - secondo gli elementi della CBS
3. centri di responsabilità - secondo gli elementi della OBS
8.-130
Il controllo del progetto
Rilevazione delle attività svolte
• Compilazione dei “rapportini”
Costi effettivi per il lavoro svolto
Attività effettivamente svolte
Attività completate (al 100%!)
8.-131
Il controllo del progetto
Earned Value Analysis
1 - Budget valuecosto programmato inizialmente per un determinato periodo
2 - Actual valuecosto effettivo sostenuto in un determinato periodo
3 - Earned valuecosto di budget delle attività effettivamente svolte in undeterminato periodo
8.-132
Il controllo del progetto
TIMENOW Avanzamento fisico Avanzamento costi
Budget iniziale Budget aggiorn. da Budget Effettivo B E Acosto peso costo diff. cto % attesa %tot. % rilev. % tot. budget earned actual
attività (a) (p) (b) (b-a) (c) (p*c) (d) (p*d) (a*c) (a*d) (b*d)
PA1 19700 21,10 19700 100,00 21,10 100 21,10 19700 19700 19700
PA2 6925 8,10 7625 700 33,33 2,67 33,3 2,67 2308 2308 2541
PB1 16075 17,20 21038 5008 100,00 17,20 100 17,20 16075 16075 21083
PC1 15050 16,10 19750 4700 66,66 10,62 25,0 4,03 10033 3763 4938
SST 672 672 50,00 50,00 336 336 336
tot. 58422 62,50 68830 10408 51,59 45,0 48452 42182 48598
Altre 35050 37,50 35050
Totale 93472 100,0 103880 51,59 45,00 48452 42182 48598(BAC) (EAC)
Earned Value Analysis
8.-133
CONSUNTIVO PREVENTIVO RIMANENTE
base scopeextrawork
giorni 1 11 timenow
budgetiniziale
previsione inizialeprevisione aggiornata
varianzeBCWS
BCWPACWP
analisiscostamenti
azioni correttive simulazioni
feedforwardfeed
back
Il controllo del progetto
Earned Value Analysis
8.-134
Il controllo del progetto
Earned Value AnalysisBCWS = Budgeted Cost of Work Scheduled
The baseline value of a defined portion of the project's Budget at Completion(BAC). This portion is defined as a time period from the Project Start date upthrough the Project As-of date.
ACWP = Actual Cost of Work Performed
The cost of the completed portion of tasks based on the Actual usage (quantoeffettivamente speso alla data)
BCWP = Budgeted Cost of Work Performed
The cost of the completed portion of tasks based on the baseline usage data.Also called Earned Value.
8.-135
Il controllo del progetto
Earned Value Analysis
BAC
TACOGGI
BCWSACWP
BCWP
CV
SV
CV = BCWP - ACWP = Cost Variance
SV = BCWP - BCWS = Schedule Variance
BAC = Budget At CompletionTAC = Time At Completion
(cont.)
8.-136
Il controllo del progetto
Earned Value Analysis
CV : “Ho fatto del lavoro valutato BCWP soldi ed ho invece speso ACWP”.
SV : “Ho fatto del lavoro valutato BCWP soldi, invece avrei dovuto fare lavoro per BCWS”.
“Per riallinearmi con BCWS dovrò spendere SV soldi in più”.
8.-137
Il controllo del progetto
Earned Value Analysis
ECAC = Estimated Cost At Completion
ETAC = Estimated Time At Completion
ECAC =ACWP
BCWPx BAC ETAC =
BCWS
BCWPx TAC
ECAC sara maggiore di BAC (budget al completamento) se stiamo spendendodi più, cioè se ACWP (costi effettivi) e’ già maggiore di BCWP (budget per lavoroeffettivamente eseguito).ETAC dice di quanto il progetto sarà in ritardo quando BCWP è minore di BCWS(budget schedulato inizialmente).
8.-138
Qualità: aderenza alle specifiche1 - Verifiche tecniche
• Guidate dal capo progetto
• Sull’integrità tecnica del progetto
• Spinge il gruppo di lavoro a chiedere aiuto sugli aspetti tecnici
• In ogni momento, su richiesta del capo progetto o del gruppo di lavoro
• Riunioni periodiche prestabilite con partecipazione del MGMT
• Verificano che i deliverables siano:
- - validi- - nei tempi- - usabili per il controllo
Il controllo del progetto
8.-139
Il controllo del progetto
Qualità: aderenza alle specifiche
2 - Validazioni
• Il MGMT che ha commissionato il progetto• In momenti cruciali del progetto: fine fase e altri da stabilire• Sui deliverables cruciali: quelli di fine fase e altri da stabilire• Dicono se il prodotto è conforme alle specifiche (lo validano)• Forniscono l’approvazione a proseguire con la prossima fase
8.-140
Il controllo del progetto
Controllo dei cambiamenti
• Modifiche funzionali (cosa)• Modifiche tecniche (come)• Modifiche al gruppo di lavoro• Nuove funzioni• ... qualsiasi alterazione alla schedulazione iniziale
• Documentare• Rimandare, se possibile, a fine fase• Valutare (costi/benefici)• Chiedere l’approvazione del MGMT
• Quando la schedulazione dei lavori è stata accettata
8.-141
Il controllo del progetto
Controllo dei cambiamenti
I cambiamenti sono inevitabili, bisogna aspettarseli e gestirli
Riconfigurazione dellaschedulazione
Modifica approvata
• Risorse• Tempo• Danaro
Documentare al MGMT leripercussioni su:
8.-142
Il controllo del progetto
Il rapporto sullo stato del progetto
Il miglior rapporto è quello che il MGMTvorrà leggere e comprendere
• Dati in forma di sommario• Problemi di interesse per il MGMT e le possibili cause• Azioni che il MGMT può intraprendere per risolvere i problemi• Discrepanze sul piano• Curve sui consumi (budget, risorse)• Schedulazione delle macro-attività
8.-143
Il controllo del progetto
Controllo sulla documentazione del progetto
• Un valido controllo di progetto include il controllo sui suoi diversi documenti
• Le comunicazioni ufficiali e condivise da molti:
- - descrizione del prodotto- - rapporti sullo stato del progetto- - richieste e autorizzazioni di modifiche- - norme sul controllo qualità- - documentazione tecnica
• Libreria del progetto:- - documenti sul progetto vero e proprio
(specifiche, standard), .....)- - documenti correlati al progetto (autorizzazioni, stato, contratti, .....)
ProgettoXYZ
ProgettoXYZ ?
8.-144
I prodotti software per la gestione dei progetti
Introduzione- Quantità e complessità dei calcoli per:
- - stime- - piani- - consuntivi- - scostamenti- - ricalcoli
- Difficile la gestione manuale- Necessità di strumenti
- Crescita della complessità e dei costi dei progetti- Domanda di un maggior controllo
- Offerta sul mercato di una grande quantità di prodotti- Come orientarsi?
8.-145
I prodotti software per la gestione dei progetti
Quando serve un computer- Non sempre:
- - in piccoli progetti: benefici costi (tempo e danaro)
- Può non bastare:
- - sw molto complesso: il CP non basta, servono specialisti (maggiori costi)
- Che tipo di computer?
- - PC, MF, RETE- - collocazione geografica del progetto- - la sua organizzazione
8.-146
I prodotti software per la gestione dei progetti
Quando serve un computer
- Definizione delle attività (WBS):- - da una base dati precostituita- - legami logici già definiti
- Stime dei tempi:- - calcoli automatici- - sperimentazioni
- Pert e cammini critici:- - grafica- - sperimentazioni
- Schedulazione e incarichi:- - centinaia di dati da trattare!- - stesura del calendario- - disponibilità del personale- - distribuzione degli incarichi (persona-attività-periodo)- - la coerenza interna
VANTAGGI
(Cont.)
8.-147
I prodotti software per la gestione dei progetti
Quando serve un computer
- Centralizzazione delle informazioni:- - reti- - stampe selettive- - multiprogetto/fasi
- Analisi delle discrepanze!
- Controllo sulle modifiche ai piani:- - la natura dinamica dei progetti!
VANTAGGI
8.-148
I prodotti software per la gestione dei progetti
La scelta di un prodotto
- Prerequisito alla scelta:
- - conoscenza dei concetti di pianificazione, schedulazione, controllo
- Aspettative realiste:
- - nessun prodotto è così sofisticato da coprire tutte le esigenze del CP
8.-149
I prodotti software per la gestione dei progetti
La scelta di un prodotto1. Determinare i propri requisiti per la gestione dei progetti (Cosa voglio)
- - chi userà il prodotto ?- un esperto, il CP, tutti- quanto è facile l’apprendimento
- - quali vincoli impongono hw e sw?- sistema operativo- uso distribuito (reti)
- - quali caratteristiche sono essenziali? belle da avere ma non indispensabili ora ?
- funzioni di Project Management- grafica, colore- import/export
- - quanto si intende spendere ?- costi iniziali- hw- costi nascosti: training, supporto
2. Analisi dei fornitori e loro utenti (Cosa esiste)8.-150
RIEPILOGO1. Cosa
si suddivide il progetto in elementi di dettaglio crescente(WBS)
2. Comesi disegna il reticolo delle precedenze
3. Risorse ”chiave”si associano le risorse chiave alle attività
4. Stima del progettoSi stimano i tempi complessivi del progetto e si ripartisconosulle varie attività
5. Vincolisi impongono vincoli sulla disponibilità delle risorse e vincolitemporali
8.-151
RIEPILOGO
6. Quandosi sceglie la schedulazione che rappresenta il migliorprogramma per il progetto
7. Costo delle risorsealle risorse vengono assegnati i costi unitari
8. Quanto costasi redige il budget dei costi diretti