# PROGETTAZIONE

Cos'è un **progetto**? Differenza progetto con **attività ordinaria**.

“**è uno sforzo temporaneo intrapreso per creare un prodotto, un servizio o un risultato con caratteristiche di unicità**”

Cos'è un **programma**? Un programma, infine, è un gruppo di progetti correlati tra loro in modo da ottenere un obiettivo comune.

In ogni caso sia le attività ordinarie sia i progetti hanno a che fare con tre grandezze fondamentali che in vari modi li vincolano:&#x20;

* tempi
* costi
* risorse

![Vincoli di progetto](https://2188491675-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWt8OO-DIKUX--IPPM8%2F-LzkNb9O5VD2i4BTvY4U%2F-LzkPNFI2aktr--X9-Yz%2Fprogetti_vincolo.PNG?alt=media\&token=1a316d14-1889-4ad4-9633-b5cb6074178b)

La centralità del progetto (**project**) e della progettazione (**project management**) nella vita delle aziende ha fatto sì che si siano sviluppate, nel tempo, diverse scuole di pensiero che hanno affrontato in maniera specifica le pratiche ideali su come gestire un progetto.

Tra queste si è deciso di utilizzare, come riferimento, quello proposto dal *Project Management Institute* (**PMI**), e descritto nel manuale *Guide to Project Management Body Of Knowledge* (**Guide to PMBOK**).

### Progetto e Project Management

Il responsabile del progetto è detto **Capo Progetto** o **Project Manager**.

**Project Management** “l’applicazione di conoscenze, capacità, strumenti e tecniche alle attività di progetto per soddisfarne i requisiti”.&#x20;

Dunque il **Project Management** è tutto ciò che serve a supporto del progetto per il raggiungimento dei suoi obiettivi.

**processi** di Project Management che descrivono le tecniche e le metodologie per gestire le varie attività connesse alla progettazione, cosicché si può aggiungere che un progetto è anche:

* organizzazione per processi;
* i processi sono composti da fasi interconnesse

Ciclo di **vita progetto**, ovvero le attività fondamentali che esplica nel tempo.

![](https://2188491675-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWt8OO-DIKUX--IPPM8%2F-LzkPts2TNL8_TMUntQI%2F-LzkQXHp2NVM0Xqc8pC8%2Fciclo_vita_progetto.PNG?alt=media\&token=4872d855-7995-40c8-a85a-94f383ad650d)

Concetti di **milestones** e **deliverables**.

Well, a **deliverable** is a distinct, tangible or intangible outcome of your project that is produced during the project’s course. Deliverables are developed by your project team members in alignment with the overall objectives of your project. Let’s call them the building blocks of your project.

**Milestones** on the other hand, are checkpoints in the project that help you chart progress throughout the course of the project. These control points help identify that a number of tasks or key deliverables have been completed allowing you to move on to the next phase of your project.

The difference between a milestone and a deliverable is that a milestone signifies project progress towards obtaining its end objectives, a stepping stone that must be reached in order to continue, whereas a deliverable is a measurable result of this process.

Per la realizzazione di un applicativo software si potrebbero individuare di nuovo le tre fasi fondamentali ed elencarle come:

1. definizione delle specifiche;
2. analisi, progettazione e realizzazione del software;
3. installazione e test presso il cliente;

Quasi sempre un progetto è costituito da un ciclo di vita comprendente un numero di fasi maggiore, benché le tre indicate rimangano un riferimento basilare.

Il **PMBOK** (**Guide to Project Management Body Of Knowledge**) definisce quindi i processi necessari per affrontare e organizzare un progetto, e li riunisce in **gruppi di processi** e **aree di conoscenza** per un totale di 42 processi di Project Management.

I 5 **gruppi di processi** sono i seguenti:

1. **Avvio**
2. **Pianificazione**
3. **Esecuzione**
4. **Monitoraggio** e **Controllo**
5. **Chiusura**

Le 9 **aree di conoscenza** sono le seguenti:

1. Integrazione
2. Scopo
3. Tempi
4. Costi
5. Rischi
6. Qualità
7. Risorse Umane
8. Comunicazione&#x20;
9. Acquisti

Le conoscenze e i processi descritti possono essere applicati anche all'interno delle singole fasi di progetto. In questo modo ogni attività di progetto utilizza una metodologie coerente e adeguata e si dice che le attività di un progetto sono "guidate" dai processi.

![](https://2188491675-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWt8OO-DIKUX--IPPM8%2F-M7M7vnwI3E1pA8wQXg3%2F-M7M8tnFCRxEaQHaCamC%2Ffasi_processi_interne.PNG?alt=media\&token=1d455e98-3802-4bb6-a62a-008df96c5fa6)

La **scomposizione gerarchica** delle fasi di un progetto è detta **Work Breakdown Structure** (WBS).

Lo strumento tipico per riportare le **interconnessioni tra le fasi** è il metodo del **diagramma reticolare di precedenze** (**PDM**, *Precedence Diagramming Method*).&#x20;

Lo strumento tipico per **organizzare e visualizzare la sequenza temporale** delle fasi è il **diagramma di Gantt**.

Esempi:

Una possibile rappresentazione gerarchica delle fasi del progetto (la **WBS**) potrebbe essere la seguente:

![](https://2188491675-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWt8OO-DIKUX--IPPM8%2F-M7WX5jx_K5fJdC-tnBW%2F-M7Wb2N6St2Z0X_BpQtv%2FWBS.PNG?alt=media\&token=1ccb8944-ae74-455f-830a-e9daaca38d84)

Un diagramma reticolare delle precedenze (**PDM**) potrebbe essere rappresentato così (nei riquadri sono riportati il numero della fase e la sua durata stimata in giorni):

![](https://2188491675-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWt8OO-DIKUX--IPPM8%2F-M7WX5jx_K5fJdC-tnBW%2F-M7WbV1dgyKSKQ4w_Dth%2FPDM.PNG?alt=media\&token=8e73d753-38fe-4e29-98b7-24599b272797)

Si notano le varie **dipendenze** tra le fasi, per esempio non si comincia a scrivere il codice del programma (fase 4; *Interfaccia* e fase 5; *Libreria di comunicazione*) se prima non si è progettato interamente il software (analisi e progettazione, fase 3; *Progettazione*).&#x20;

Quindi, stabilita una data iniziale per il progetto (nell’esempio, 1 gennaio 2013) un diagramma di **Gantt** delle fasi risulterebbe così:

![](https://2188491675-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWt8OO-DIKUX--IPPM8%2F-M7WX5jx_K5fJdC-tnBW%2F-M7WeFUznkNrZXJYHWWE%2FGANT.PNG?alt=media\&token=93f871c8-17a7-4ae9-880d-6098c6901c47)

### PMBOOK

In effetti il complesso di tutti i processi di Project Management descritti nel PMBOK si può ricavare intersecando i 5 **gruppi di processo** con le 9 **aree di conoscenza**, ottenendo una tabella che riporta tutti i 42 processi previsti (PMBOK 4th Edition)

Vedi figura pag. 67

Naturalmente non tutti i progetti necessitano di tutti i processi descritti nella tabella.&#x20;

In ogni caso un generico processo è sempre caratterizzato da una struttura logica che prevede una serie di **input** e una **attività** (realizzata con strumenti) che genera una serie di **output**.

![](https://2188491675-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LWt8OO-DIKUX--IPPM8%2F-M7M7vnwI3E1pA8wQXg3%2F-M7MHdArIAFLzNMTl3_d%2Fproject_management2.PNG?alt=media\&token=2326ec03-cc6b-4fd7-8ded-e8875d4ed603)

Per esempio, l’individuazione del Project Manager del progetto solitamente scaturisce, come output, dal processo di Avvio/Integrazione “*Sviluppare il Project Charter*”. Oltre al Project Manager un progetto deve dotarsi di un gruppo di lavoro o **team di progetto**. Esso viene definito tramite il processo Pianificazione/Risorse Umane, dal processo “*Sviluppare il piano delle risorse umane*” e dai processi in Esecuzione/ Risorse Umane.

La **WBS** è un output di un processo di *Pianificazione/Scopo*; il **PDM** è un output di un processo di *Pianificazione/Tempi* così come il diagramma di **Gantt**. Analizzando la tabella dei processi e delle conoscenze del PMBOK, si scopre che anche una matrice delle responsabilità (RACI o RAM) può costituire l’output di un processo (Esecuzione/Risorse umane). Altri output significativi tra i processi di Project Management sono:&#x20;

* il Project Charter;&#x20;
* il Piano di Project Management;&#x20;
* i Work Packages.&#x20;

Il **Project Charter** è un documento preliminare, stilato in fase di Avvio/ Integrazione (processo “Sviluppare il Project Charter”) che delinea le caratteristiche di base dell’intero progetto. Si tratta di un documento relativamente breve e sintetico.

Il **Piano di Project Management** (o Piano di Progetto) può essere considerato il documento più importante del progetto e, a differenza del Project Charter, si tratta di un documento più voluminoso. Inoltre è sempre in evoluzione attraverso le varie fasi attivate sul progetto e rappresenta la fonte principale di informazioni sulla modalità di pianificazione, esecuzione, monitoraggio e controllo e infine chiusura del progetto. **Il Piano di Project Management si può considerare come input di ogni altro processo di progetto, data la sua importanza**.&#x20;

Normalmente la sua compilazione viene iniziata durante le prime fasi attraverso un processo dedicato (Pianificazione/Integrazione, processo “*Sviluppare il piano di Project Management*”). In seguito viene continuamente verificato e aggiornato. Contiene gli output principali di pianificazione, come la WBS, l’analisi delle dipendenze e la valutazione dei tempi del progetto (CPM), la schedulazione temporale con Gantt, la pianificazione dei rischi e dei costi, ecc.&#x20;

Il **Work Package** è la documentazione dell’unità minima di lavorazione di un processo, normalmente le attività che compaiono al livello più basso della WBS.&#x20;

Un’attività di progetto significativa si conclude in un deliverable, il quale può essere composto e descritto da uno o più Work Package che ne costituiscono la lavorazione.

Le singole attività risultanti dalla WBS e riportate nella lista delle attività spesso devono essere documentate all’interno dei **Work Package** che ne descrivono compiutamente le caratteristiche, le risorse, i vincoli e i requisiti (un’attività può prevedere anche *più Work* Package, la cui unione descriverà compiutamente l’attività). Un Work Package normalmente riporta:&#x20;

* il nome, il titolo e l’identificativo del Work Package, quindi la descrizione del lavoro da svolgere (task);&#x20;
* le date di inizio e completamento del lavoro;
* la responsabilità;&#x20;
* gli input necessari per effettuare il lavoro;&#x20;
* la descrizione dei risultati attesi ed eventuali milestone;&#x20;
* le risorse necessarie;&#x20;
* il livello di qualità e il dettaglio delle prestazioni;&#x20;
* gli output del lavoro (deliverable);&#x20;
* il budget assegnato.

### TEMPI

Il primo dei tre capisaldi di progetto (risorse, tempi, costi), l’organizzazione dei tempi del progetto, viene affrontato con tecniche di schedulazione. Una volta compilata la WBS ed estratta la lista delle attività, si inizia a schedulare nel tempo il progetto, ovvero a organizzarlo secondo le previsioni e i vincoli temporali che ogni attività comporta (Pianificazione/Tempi, “*Sviluppare la schedulazione*”).&#x20;

Il primo passo è individuare un modello di schedulazione da adottare; uno dei modelli più diffusi prende il nome di **CPM** (*Critical Path Method*, ovvero “metodo del percorso critico”) noto anche come PERT/CPM.&#x20;

Si tratta di un modello di tipo reticolare che si basa sulla teoria dei grafi, dove per “grafo” si intende un insieme di nodi connessi tra loro da archi orientati che descrivono una relazione tra i nodi.&#x20;

In una versione di CPM i **nodi** del grafo rappresentano le attività e gli **archi** orientati le dipendenze tra le attività (AON, Activity On Node).

La schedulazione con CPM consente di calcolare la durata totale di un progetto. Inoltre permette di valutare le **attività critiche**, cioè quelle attività per le quali un ritardo implica il ritardo dell’intero progetto.&#x20;

Il procedimento per individuare le attività critiche di un progetto segue le seguenti fasi:&#x20;

1. determinazione delle dipendenze tra le attività e delle loro durate;&#x20;
2. costruzione del grafo delle dipendenze;&#x20;
3. per ogni attività, determinazione delle date denominate “**al più presto**”;&#x20;
4. determinazione della data di conclusione del progetto;&#x20;
5. per ogni attività, determinazione delle date denominate “**al più tardi**”;&#x20;
6. determinazione delle **attività critiche**.&#x20;

La determinazione delle dipendenze tra le attività scaturisce dall’esperienza professionale del Project Manager e del Team di progetto, esattamente come la stima di durata delle varie fasi.

#### Cammino critico&#x20;

Una volta determinate le attività critiche con il metodo CPM, si dice **cammino critico** (di un progetto) una sequenza di attività critiche che partono dal nodo iniziale e giungono al nodo finale. Un cammino critico rappresenta il percorso più lungo dall’inizio alla fine del progetto e ne determina la durata.

Un altro strumento molto efficace per rappresentare l’evoluzione temporale di un progetto è il **diagramma di Gantt**.

In questo caso la rappresentazione delle tempistiche del progetto ricorda quella di un calendario (delle attività).&#x20;

In un diagramma di Gantt ogni attività è rappresentata con una barra orizzontale di larghezza proporzionale alla sua durata, mentre sulle colonne si rappresentano i giorni (o le settimane o i mesi o le ore, dipende dall’unità di tempo utilizzata) del calendario secondo la durata del progetto.&#x20;

Le attività possono susseguirsi in sequenza oppure essere eseguite in parallelo e le barre del cronogramma risulteranno rispettivamente giustapposte o sovrapposte.&#x20;

In particolare, con un diagramma di Gantt vengono messi in evidenza i possibili scorrimenti delle attività non critiche.
