I contratti collaborativi (o agili) tengono conto delle peculiarità legate all’economia della conoscenza.
Sono contratti tesi a realizzare collaborazioni bilanciate, di tipo win-win, dove nessuna delle due parti prevalga spudoratamente sull’altra.
2. SoftInstigate
Project Management Triangle (PMT)
Modello dei vincoli di gestione di un progetto.
● La qualità di un progetto è funzione di tempo,
budget e portata
● Fare PM significa gestire costantemente le
relazioni tra questi vincoli
● Cambiare un vincolo implica compensazioni
negli altri due, altrimenti decade la qualità.
E’ statisticamente molto difficile fissare
contemporaneamente tutti e tre i vincoli di un
progetto IT senza perdere il controllo della
qualità.
3. SoftInstigate
Principali tipologie di contratto di sviluppo software
● Contratto T&M
○ Il cliente “compra una quantità di tempo”
○ Si negozia una tariffa per gg/uomo e 1 vincolo del PMT
○ Rischio fortemente sbilanciato sul cliente, che compensa cercando di stringere i tempi.
● Contratto “a corpo”
○ Il cliente compra un progetto con requisiti, tempi e costi prefissati
○ Si fissano 3 vincoli del PMT
○ Rischio fortemente sbilanciato sul fornitore, che compensa gonfiando i costi previsti.
● Contratto collaborativo (agile)
○ Si decidono obiettivi di qualità
○ Si fissano al più 2 vincoli del PMT
○ Rischio di progetto più equamente distribuito tra cliente e fornitore.
4. SoftInstigate
Contratto T&M - caratteristiche
● I contratti T&M sono molto diffusi perché è sempre difficile per il fornitore
quantificare l'effort complessivo.
● Alla fine di ogni mese, o in base a uno specifico periodo concordato, il fornitore
fattura il progetto inviando al cliente un computo dettagliato delle attività e delle
ore lavorate dal team (timesheet).
● I contratti T&M prevedono che il cliente abbia grande fiducia nei confronti del
fornitore. Questo dipende da conoscenza pregressa o forza del brand.
● Si può mitigare il rischio prevedendo un tetto massimo di spesa per l’ingaggio
(capped T&M).
● Il cliente di solito può interrompere i lavori in qualsiasi momento, senza doversi
giustificare e senza penali.
● Sono contratti che funzionano bene per attività molto specialistiche e di breve
durata (da pochi giorni a poche settimane).
5. SoftInstigate
Contratto a corpo - caratteristiche
● I contratti a corpo funzionano bene per attività note e riproducibili.
○ Ad esempio, se devo asfaltare 1 Km di strada, questa è una attività che ha costi, tempi e portata
facilmente deducibili da molte esperienze precedenti, quindi è possibile stimare con buona
esattezza tutti e tre i vincoli PMT.
● Di solito si stabilisce un anticipo percentuale all’avvio dei lavori, delle consegne
con fatturazioni intermedie ed un saldo finale.
● Si stabiliscono dei test di accettazione, con un livello di dettaglio tale da prevenire
incomprensioni in fase di verifica.
● Il fornitore applica le necessarie contingenze di tempo e denaro, aumentando i
costi di progetto proporzionalmente al livello di incertezza percepita.
● Non si sfruttano feedback e apprendimento e cambiare idea in corso d’opera è
difficile e costoso.
● Esiste una costante spinta a sacrificare la qualità per rispettare tempi e costi (la
qualità interna di un software è una dimensione inizialmente poco percepibile…)
6. SoftInstigate
Distribuire equamente i rischi con i contratti collaborativi
● I contratti collaborativi (o agili) tengono conto delle peculiarità legate all’economia
della conoscenza.
● Sono contratti tesi a realizzare collaborazioni bilanciate, di tipo win-win, dove
nessuna delle due parti prevalga spudoratamente sull’altra.
In generale
1. Si decide la portata delle attività (requisiti funzionali e non funzionali).
2. Si condivide un budget di progetto, compresa la sua distribuzione nel tempo.
3. Si suddivide il lavoro in iterazioni (o sprint) da 1 a 4 settimane ciascuna.
4. Si può variare l’ordinamento dei requisiti dinamicamente, o sostituirli con altri di
pari peso, prima dell’avvio di una nuova iterazione.
8. SoftInstigate
Money for Nothing, Change for Free.
Il contratto parte dalla stima ragionevolmente puntuale di portata e costo delle attività,
viene suddiviso in iterazioni da 1 a 4 settimane e prevede due clausole fondamentali:
● Clausola di Terminazione Anticipata (Money for Nothing)
○ Il Cliente può rescindere il contratto alla fine di qualsiasi Sprint.
○ La metrica standard per la terminazione è quando il Cliente percepisce che il costo di
continuazione del progetto è superiore al valore aggiuntivo ricevuto.
○ Il Cliente pagherà al Fornitore il 20% del valore residuo del contratto per esercitare la risoluzione
anticipata.
● Clausola di Modifica Gratis (Change for Free)
○ Il Cliente deve essere in grado di apportare modifiche all'ambito senza incorrere in alcun costo
aggiuntivo se l'ambito totale del lavoro stabilito non viene modificato.
○ Le nuove funzionalità possono essere aggiunte gratuitamente agli Sprint se gli elementi con peso
uguale vengono rimossi dal contratto.
Questo contratto è efficace quando è possibile stimare costi e portata con un buon
livello di accuratezza.
9. SoftInstigate
Target Cost
● In un contratto di costo target, le parti concordano un prezzo finale per la
consegna di un prodotto o servizio. Questo prezzo deve essere realistico e deve
tenere conto dei costi del fornitore per produrre il bene o il servizio.
● L'obiettivo sottostante di questo tipo di contratto è quello di incentivare il
fornitore a soddisfare il contratto a un costo inferiore rispetto al costo target.
● Nel caso in cui il fornitore sia in grado di spendere meno del costo mirato,
entrambe le parti dell'accordo condivideranno i risparmi.
● Tuttavia, nel caso in cui il fornitore superi il costo mirato, entrambe le parti
condividono l'onere finanziario addizionale.
● Se il fornitore dovesse assumersi tutti i rischi, il costo obiettivo previsto sarebbe
probabilmente molto più elevato.
● Inoltre, vi è un reale incentivo finanziario a lavorare in modo più efficiente e a
trovare opportunità di risparmio sui costi.
10. SoftInstigate
Incremental Delivery
● In un contratto di consegna incrementale, ci sono punti di revisione
predeterminati definiti nel contratto stesso.
● Un progetto più lungo quindi è diviso in diversi mini-progetti distinti.
● In ogni punto di revisione, le parti possono valutare le prestazioni fino a quel
momento e decidere se desiderano modificare l'accordo, continuare come
previsto o terminare del tutto.
● Ogni incremento successivo aggiungerà altre caratteristiche e strumenti,
continuando così a migliorare il valore complessivo del particolare prodotto.
● Questo modello incorpora una grande flessibilità e consente miglioramenti
continui invece che una tempistica fissa con requisiti bloccati.
● E’ estremamente efficace nel caso di sviluppo in condizioni di forte incertezza, ad
esempio nel caso di una startup che debba raccogliere feedback per capire
dinamicamente che direzione dare a un prodotto o servizio.