Concetti introduttivi - La relazione cliente – fornitore è una delle dimensioni centrali di un progetto - Determina parte dei bisogni - Comporta ed impone scelte - Definizione e realizzazione dei prodotti - Definizione ed esecuzione dei processi - Richiede adempimenti ad entrambe le parti Cliente o committente - Acquisizione: processo primario secondo ISO/IEC 12207 - Il cliente (committente) ne è l’iniziatore - Richiede adempimenti formali - Definizione dei bisogni - Gara di appalto - valutazione delle offerte - Selezione del fornitore - Gestione del processo fino all’accettazione - Assegna la responsabilità di fornitura del prodotto richiesto (tipicamente) ad un solo fornitore - La gestione del processo include la supervisione delle attività del fornitore Fornitore - Fornitura: processo primario secondo ISO/IEC 12207 - Può avere inizio prima o dopo la sigla di un contratto - Gara di appalto: le attività iniziali sono a rischio - Assegnazione diretta: tutte le attività sono a contratto - Il processo richiede diverse attività con carattere PDCA - Pianificazione, esecuzione e controllo - Revisione e valutazione - Consegna e completamento Forme di contratto - A prezzo fisso (firm-fixed price) - L’interazione cliente-fornitore è cruciale per la stima del costo, la definizione e l’accettazione del prodotto - La variante hands-off esonera il cliente da ogni intervento durante la fase di sviluppo - L’attività di accettazione diventa allora cruciale per il committente - A rimborso dei costi (cost reimbursement) - Si presta bene per attività “aperte”, esplorative o prototipali - Comporta frequente interazioni cliente-fornitore L’utente finale - Non è necessariamente il cliente - Vi sono molte agenzie delegate ad acquisire prodotti per conto di utenti finali - Più competenze tecniche su aspetti specifici dello sviluppo richiesto - Maggiore forza contrattuale - Consentono all’utente di concentrare la propria attenzione su aspetti cruciali - Definizione iniziale dei bisogni - Verifica operazionale del prodotto (sistema) - Uso operativo del prodotto ed eventuale assistenza tecnica Fase di manutenzione - Una volta accettato dal cliente, il prodotto entra nella fase di uso operativo - Sotto la responsabilità dell’utente - Può prevedere o necessitare un processo di manutenzione - Processo formale regolato contrattualmente - L’esecutore può non essere lo stesso del processo di sviluppo - Ogni richiesta/bisogno di modifica attiva più processi - Primari * Acquisizione, fornitura, sviluppo, utilizzo - Di supporto * Verifica, validazione Prodotto dell’acquisizione - Il processo di acquisizione produce prodotti consumando risorse - Esattamente come ogni altro processo - Tali prodotti possono includere - L’ingresso di uso di uno o più prodotti software come il tutto o la parte di un sistema - Il progetto didattico chiede un prodotto software completo di tipo sistema - Uno o più servizi - Un ciclo di manutenzione od una revisione di un prodotto sistema esistente Organizzazione di un sistema – 1 - Un sistema software complesso può essere variamente organizzato - La definizione dell’organizzazione è responsabilità del cliente, con il coinvolgimento dell’utente - Il fornitore è chiamato ad aderire all’organizzazione data - La definizione di un sistema è inerentemente gerarchica - Le gerarchia si riflette sulla struttura, la relazione e l’organizzazione dei relativi processi realizzativi e d’uso - Ogni livello ripropone una relazione cliente-fornitore Organizzazione di un sistema – 2 Organizzazione di un sistema – 3 - Visione dall’alto di una organizzazione a livelli - A ciascun livello ogni singola componente di sistema è il prodotto di uno specifico processo di acquisizione - Il fornitore di un prodotto ad un dato livello può necessitare l’acquisizione di uno o più prodotti (componenti o strumenti) al livello inferiore - La medesima entità può dunque avere più ruoli e responsabilità entro uno stesso progetto - P.es.: Fornitore del livello i ma anche cliente del livello i+1 inferiore Ruoli e responsabilità – 1 Ruoli e responsabilità – 2 - Il cliente di livello 0 (più alto) - È corresponsabile (R/A) nella definizione dei bisogni, coadiuvato dall’utente - Occasionalmente anche dal fornitore - Ha responsabilità (R) sulla definizione dei vincoli di progetto e dei requisiti - Requisiti specificati con la possibile consultazione del fornitore - Esprime accordo (A) con la qualifica di prodotto dichiarata dal fornitore Ruoli e responsabilità – 3 - Il fornitore di livello 0 - Può venire consultato (C) riguardo alla definizione dei bisogni e dei vincoli di progetto - Fornisce a e concorda (A) con il cliente la specifica dei requisiti da soddisfare - Assume la responsabilità (R) della qualifica e della fornitura del prodotto - Si pone cliente nei confronti eventuali fornitori di livello inferiore Adozione di standard di processo - L’utilizzatore di uno standard di processo deve determinare con precisione il proprio ruolo nel progetto - Cliente - Fornitore - Sviluppatore - Utilizzatore - Manutentore - Una medesima entità può assumere diversi ruoli entro lo stesso progetto - Ciascun ruolo comporta l’assunzione di specifiche responsabilità Relazione tra processi