360 likes | 521 Views
Fondamenti di Project management e Stime di Progetto. G. Berio. Gestione dell’Ingegneria del Software. Project management integrato da Stime specializzate di Tempi, risorse (umane) e costi necessarie allo sviluppo del prodotto software. Project management.
E N D
Fondamenti di Project management e Stime di Progetto G. Berio
Gestione dell’Ingegneria del Software • Project management integrato da • Stime specializzate di • Tempi, risorse (umane) e costi necessarie allo sviluppo del prodotto software
Project management • Gestione del progetto di sviluppo del software • Basato su un modello di processo che indica, in termini di attività da svolgere, come il software dovrebbe essere sviluppato • Il progetto è precisato da una insieme di Task (compiti) dettagliati in qualche modo dipendenti che realizzano le attività
Project management: Objectives • Planning (“pianificazione”): To define a detailed net of interrelated tasks (with duration), according to the software product to be delivered (i.e. using a process model, verification and validation, taking into account the risks etc.) • Scheduling (“programmazione”):To assign tasks estimated start-end time, resources, and costs • Monitoring and controlling (“monitoraggio e controllo”): To evaluate the resources consumptions, actual times and actual costs, during the project execution and to undertake corrective actions
Project planning • Project planning objective: to identify the project tasks and to assign duration to them. • Probably the most time-consuming project management activity. • Continuous activity from initial concept through to software delivery. Plans must be regularly revised as new information becomes available. • One complete project plan may be composed of several specialised plans (i.e. one project may be composed of several projects) Project plan is not static!
Specialised Project Planning Architecture(s) and Requirement Specifications can be used as the main Input Information Feasibility Requirement Engineering (RE) Design Engineering (DE) Qualty Assurance Plan Project management For RE Project management For DE Project Management on a subset of UCs Project Management on piece of architecture Add tasks for specific aspects, for instance… Project Management
Project scheduling and monitoring • Project scheduling objectives: given a project plan, to find out and least one consistent assignment of h-resources to tasks and to evaluate costs of the project • Project monitoring objectives: given a project scheduling, to monitor duration of tasks and project, to monitor h-resource consumption and costs, and in case of deviation, to activate a ri-planning and ri-scheduling, maybe adding corrective tasks
Task networks and Bar charts • Graphical notations used to illustrate the project plan (tasks and dependencies), and then schedule (start-end dates and duration of tasks) and milestones (and so on) in term of the project breakdown into tasks. • Task charts show project plan and milestones and should be acyclic • Bar charts show scheduleagainst calendar time.
Task durations and dependencies with milestones
Tasks con durata nulla • Possono rappresentare milestones (in cui si sincronizzano eventualmente risultati provenienti da molti task) • Esempio di milestone: “il DFD Esteso parte del modello analitico riguardante i casi d’uso fermare e partire è disponibile”; • Possono rappresentare task con durata di ordini di grandezza inferiori alla maggior parte dei Task del progetto
Bar chart Calendar
Adding H-resources Ri is the type of h-resource and is the task Tj within tmin and tmax
4/7 1 1/7 1 8/7 2 5/7 1/8 8/8 1 5/8 2 2/8 2 9/8 5/9 1 2/9 1 9/9 F r ed P1 T4 P2 T1 P1 T1 1 P1 T1 2 J ane P1 T1 P1 T3 P2 T2 Anne P1 T2 P1 T6 P1 T1 Jim P1 T7 Mary P2 T3 Global staff (H-resource) allocation Usually, not accepted Named h-resources!
Typical steps in project planning and scheduling • To identify the tasks, their durations and their relations (pre-requisite, causal, etc.) • To evaluate consistency of the task net • To evaluate the critical path on the tasks net • Using the critical path, to revise the tasks net planning • To evaluate/assign (h-)resources required by tasks • To move tasks, try to find out at least one consistent assignment of h-resources to tasks • To assign costs to tasks and (verify the feasibility) scehduling
previsti 10 task, denotati i task task ora
task Sistema Europeo! In USA usano il sistema duale cioè Tasks on Arrow.
B D Consistency of the task net • To verify that the task net is acyclic • For instance, use the Marimont algorithm on the net associated matrix Marimont: eliminare di volta in volta righe e colonne che non contengono 1 (fino ad eliminarle tutte)
Finding critical path: step 1 • To assign the earliest start time to tasks (leading to the earliest time to complete the project)
Finding critical path: step 2 • Starting from the earliest project ending time, to evaluate the latest start time of each task
Critical path definition • The critical path comprises tasks where earliest start time is the same as latest start time
task Earliest start time Latest start time Earliest end time Latest end time task critici
Task critico task tutti i task critici task task
Proprietà del Cammino Critico • Non è possibile ritardare l’inizio di nessun task del cammino critico senza ritardare l’intero progetto • Quindi I ed F nell’esempio ne possono essere iniziate in ritardo ne possono essere terminate in ritardo; in una parola, sono critiche!
CPM e PERT • La tecnica vista è nota come CPM (Critical Path Method) anche se talvolta è indicata come PERT • PERT (Program Evaluation and Review Technique) prevede che la durata dei compiti sia distribuita come una v.a. triangolare o beta • Differisce di poco dal CPM poiché i calcoli fatti usano il valor medio delle durate • Tuttavia è possibile calcolare anche una deviazione standard e con quale probabilità il progetto viene eseguito con una durata diversa da quella media.
PERT 2/(C-A) • Distribuzione triangolare assimmetrica dei tempi dei compiti • ma utilizza una simmetrica per semplificare il calcolo della varianza • o una sua generalizzazione, distribuzione Beta + probabile (B) Non probabile (A) Non probabile (C) Media= (A+B+C)/3 Media= (A+4B+C)/6 Varianza = (C-A)2/ 36
PERT è una N(0,1) per Le condizioni aggiuntive sono verificate per le distribuzioni beta dove E è la media (o speranza matematica)
PERT • Con le precedenti formule è possibile stimare qual è la probabilità di un completamento oltre la data media ovvero prima della data media oltre la data media:
Generalizzazione • PERT permette una durata in probabilità • Nelle tecniche di project-management più sofisticate è possibile avere probabilità di scelta dei cammini nel grafo dei compiti (GAN, GERT etc.)
To revise the critical path • Un compito critico di lunga durata e con molti archi entranti potrebbe essere suddivisa in compiti più semplici e di minor durata • Un compito critico di lunga durata e con molti archi uscenti potrebbe essere suddivisa in compiti più semplici e di minor durata 15 F1 39 F 22 F2
4/7 1 1/7 1 8/7 2 5/7 1/8 8/8 1 5/8 2 2/8 2 9/8 5/9 1 2/9 1 9/9 Star t T1 T2 T2 Finish Verifying the consistency of the h-resource assignment T1 dura 21 e inizia a 0 e finisce dopo 16 gg Soluzione 1 Soluzione 2 T2 può iniziare tra 7 e 29 e quindi terminare dopo 8: si è deciso di iniziare a 21 per evitare che T1 e T2 richiedano troppo risorse di quelle disponibili