SlideShare a Scribd company logo
Modelli di Ingaggio
Come possiamo lavorare insieme
Cosa facciamo?
Sviluppiamo Applicazioni software
Dal design del prodotto
all’infrastruttura cloud di esecuzione
Inoltre sviluppiamo RESTHeart, un moderno runtime per microservizi.
Come operiamo?
Workshop Discovery Esecuzione Supporto
Workshop formativi
opzionali, finalizzati a
trasmettere conoscenza di
alto livello sulle tecnologie
e sui processi di sviluppo.
Fase di analisi volta ad far
emergere bisogni, definire
obiettivi, progettare la
soluzione di alto livello e
definire strumenti e
processi.
Ingaggio per l’esecuzione
delle attività di sviluppo
applicativo secondo la
migliore modalità, in
relazione agli obiettivi e al
contesto organizzativo.
Supporto post rilascio sul
sistema software
implementato. Estende la
garanzia e copre le attività
di operations sulla
infrastruttura realizzata.
Scenari differenti...
progetto di sviluppo software sulla base di requisiti stabili
vs
prodotto software soggetto a continue evoluzioni
...richiedono modalità d’ingaggio distinte.
Qual è il bisogno del cliente?
Sviluppo a corpo
Caratteristiche
● requisiti, tempi e costi prefissati e formalizzati
nell’allegato tecnico.
● Adatto a ingaggi di breve / medio periodo.
● Consegne validate da attività di collaudo.
● Garanzia estendibile tramite servizio di
manutenzione.
É adatto quando...
● Sono noti e documentati tutti i requisiti prima
dell’avvio del progetto.
● I requisiti sono stabili, le eventuali modifiche
necessarie dopo la fine del progetto sono poche
e ben definite.
Punti di attenzione
● Se il Cliente cambia idea o ha nuove idee → il
processo di Change Management impatta su
tempi e costi.
● Richiede tempo avviare il progetto e redigere
l’allegato tecnico (attività di analisi tramite
consulenza).
● Fissati requisiti e tempi, la contrattazione sul
prezzo spesso incide sulla qualità finale.
Caratteristiche
● Ingaggio di medio periodo per l'evoluzione
incrementale e iterativa di software.
● Esplorativo: piano generale definito sotto forma di
roadmap e attività dettagliate di volta in volta nel
“backlog”.
● Team di sviluppo stabile.
● Costo fisso per iterazione.
Punti di attenzione
● È indispensabile una costante collaborazione tra
Cliente e Fornitore.
● Il costante flusso di rilasci apporta continue
evoluzioni (non è previsto il concetto di collaudo)
Sviluppo incrementale (“Agile”)
É adatto quando:
● Si vuole esplorare un nuovo mercato o un nuovo
modello di business rapidamente.
● E’ necessario evolvere continuamente il
software per adattarlo al cambiamento.
I nostri contratti di sviluppo
Contratto a Corpo
● Requisiti noti e chiari, definiti prima
dell’avvio dell’esecuzione del
contratto (tramite studio di fattibilità).
● Rigido: perimetro, tempi e costi
predefiniti.
● Cronoprogramma con punti di
verifica formali (SAL)
● Consegna del SW secondo stadi di
avanzamento lavori
● Processo di Change Management
● Garanzia (estendibile con
manutenzione)
Contratto a Corpo Multiprogetto
● Definizione del perimetro generale e
del processo di esecuzione delle
attività: chi fa cosa e come
● I sotto-progetti vengono definiti di
volta in volta attraverso un’attività di
analisi volta a definire il Piano di
Lavoro
● Il PdL definisce i requisiti, il
cronoprogramma e i test di
accettazione
● Definito il PdL, SoftInstigate
sottomette un’offerta economica la
cui accettazione dà via alle attività
Contratto Agile
● Attività di sviluppo organizzate
intorno ad iterazioni di durata fissa
(es 1 mese)
● Gestione della attività “lean” (es
Kanban board)
● Richiede una collaborazione stabile
tra Cliente e Fornitore (es Product
Owner)
● Team stabile
● Tariffa mensile o a iterazione
● Può essere agevolmente interrotto
dal cliente, appena raggiunti i
risultati
A CORPO INCREMENTALE← MODELLO DI INGAGGIO →
Il contratto stabilisce le regole del gioco
La parola contratto pone automaticamente le parti sulla difensiva.
Un’offerta commerciale è sufficiente a concludere un accordo.
Ma...
● È chiaro chi fa cosa e come?
● È chiara la modalità operativa? (Ad es: come vengono avviate le attività, come vengono
gestite le modifiche delle richieste cd. Changes request ecc..
● È prevista una modalità oggettiva di valutazione/collaudo del Sw ?
● È stabilita una modalità di consegna del Sw?
● Il fornitore presta una garanzia?
● Chi è il proprietario del SW alla conclusione del contratto ?
Quindi….
Il contratto deve essere lo strumento per raggiungere gli obiettivi desiderati, tutelando
entrambe le parti.
Le regole del gioco
I nostri contratti contengono la definizione dei
principali processi operativi che regolano la
collaborazione tra cliente e fornitore
● Avvio delle attività
● Regole di chiusura (definition of done).
● Definizione dei requisiti.
● Regole per gestire il cambiamento.
● Comunicazioni cliente/fornitore.
● Verifiche e collaudi.
● Consegna finale.
Le garanzie
Un contratto deve tutelare le Parti in tutti gli aspetti, ad esempio:
● Privacy
● Risoluzione/Recesso
● Proprietà intellettuale e diritti patrimoniali
● Licenze
● Garanzie
Gestire la Proprietà Intellettuale
● Il software è regolato dal diritto d’autore
● Non esiste una normativa che preveda il trasferimento automatico di tutti i
diritti di sfruttamento di un software sviluppato su commessa.
● Resta quindi interpretabile se il committente acquisisca o meno il potere di
disporre della IP verso i terzi e se sì, in quale misura.
● Questo accade nonostante la regola generale di interpretazione riconosca il
diritto esclusivo di sfruttamento economico del software al committente.
E’ pertanto fondamentale per il cliente che il fornitore sia competente e leale
anche su questi aspetti
L’importanza della clausola IP
In mancanza di una previsione chiara sui diritti di sfruttamento del Software si trasferiscono al
Committente solo quei diritti che gli assicurano il conseguimento dello scopo negoziale.
Per dimostrare il contrario in sede giudiziale si dovrà ricorrere a principi di interpretazione giuridica per
cercare di ricostruire quale fosse il reale scopo negoziale perseguito dalle parti, mutuando norme di
riferimento dalle fattispecie contrattuali cui può essere ricondotto verosimilmente l’accordo. In astratto si
dovrà cercare di:
● contemperare le norme dettate in materia di appalto, secondo cui la proprietà dell’opera si
trasferisce al committente con l’accettazione e la consegna, con le norme previste dalla legge sul
diritto d’autore che si basano sulla previsione secondo cui il titolo originario dell’acquisto del diritto
è la creazione stessa dell’opera.
● Avere consapevolezza che il Software è un’opera dell’ingegno e, pertanto un bene immateriale
tutelato dalla legge sul diritto d’autore.
● Avere consapevolezza di quale sia l’oggetto specifico della tutela (ovvero il codice sorgente, il codice
oggetto e tutti gli atti preparatori ) e chi è considerato “autore” per la legge.
● Conoscere quali sono nello specifico i diritti di utilizzazione del software e quale si vuole trasferire
all’esito del contratto, con riferimento sempre al codice sorgente e/o al codice oggetto.
Come gestiamo la questione IP?
Softinstigate
● Cede esplicitamente i diritti di sfruttamento economico del Software
sviluppato attraverso uno specifico articolo del contratto.
● Gestisce il codice sorgente e le configurazioni su repository condiviso
con il cliente.
● Può fornire protezione dagli “IP claims” di terze parti.
La Licenza Software
Sviluppo software su commessa → il Software “è del Cliente”
Software del Fornitore → il Cliente può usarlo su Licenza
La licenza d’uso di software:
● è il contratto con il quale il licenziante concede ad altri l’utilizzo di un
programma verso un corrispettivo.
● si adotta per distribuire un software proprietario standard.
L’utilizzatore acquisisce il solo diritto di usare la singola copia del software e non
l’opera dell’ingegno in quanto tale.
Il software licensing è un tema molto complesso nel quale possono distinguersi
due macro aree: Licenze Proprietarie e Open Source
La nostra esperienza sul licensing
Tema estremamente complesso (esempio: molte compagnie non assicurano la
responsabilità civile per vendita di licenze software in USA!)
● È necessario analizzare caso per caso e collaborare con diversi esperti in
relazione al diritto internazionale, regolamenti EU, accordi bilaterali, IP,
patents, ecc.
● Siamo esperti di Open Source e possiamo aiutare i clienti nell’adozione
di OSS.
Abbiamo esperienze significative di licensing(*) in cui abbiamo affrontato
problemi concreti:
● Modelli di business (Perpetual license, Subscription, OEM,..)
● Processi automatici di accettazione licenze e relative clausoleIP
indemnities / IP Warranty with Remedies clause
● Giurisdizione
● Assicurazione
(*) RESTHeart Enterprise License e Enterprise License.
Contratti di supporto e manutenzione
● Supporto
○ Supporto Operations (per mantenere l’infrastruttura operativa così
com’è)
○ Estensione del periodo di garanzia (bug fixing)
○ Prevede la definizione di SLA
● Manutenzione
○ Piccole attività di sviluppo evolutivo/adeguativo (è importante
mantenere lo stack tecnologico aggiornato)
Spesso i due servizi sono offerti tramite unico contratto
Un caso di successo: autoinrete.com
● Il Cliente aveva già implementato una prima versione del servizio
● Problemi della versione legacy: scalabilità e processo di delivery lento
● Era chiaro cosa mantenere e cosa cambiare
● SoftInstigate esegue uno studio di fattibilità
● raccomanda di reingegnerizzare il servizio su una nuova e più moderna
architettura cloud
Servizio online in ~3 mesi
Approccio autoinrete.com
MVP = Minimum Viable Product
Tra gli scopi: “Dare un prodotto agli early adopter il prima
possibile”
AiR_1 AiR_2
t
MVP release date
Eventuali gap sono velocemente
recuperati grazie alla nuova
architettura e all’approccio di
sviluppo lean.
Abilitytoexecute
Break Even Point
! Evitare di evolvere il sistema legacy.
Solo sviluppi tattici.
215 giorni uomo in 2,5 mesi
Fase 2
Fase 1
Contratti diversi per fasi diverse!
MVP
Sprint 1
Sprint 2
Sprint 3
Sprint 4 Sprint 6
Sprint 7
Sprint 5
Rapide evoluzioni guidate
da esperienza
Reingegnerizzazione della
soluzione esistente con
obiettivi chiari
→
Progetto a corpo (3 mesi)
Rapida evoluzione con
apertura al cambiamento
→
Ingaggio incrementale
(~1 anno)
Fase 3 Servizio stabile, evoluzioni
mirate
→
Contratto multi-progetto
a corpo
v2.0 v2.1 v2.2 v3.0
Grazie
SoftInstigate s.r.l.
Sede legale: Via G. D'Annunzio 28, 67100 L'Aquila (Italy)
Sede operativa: Via Copernico 38, 20125 Milano (Italy)
Visita il nostro sito web:
https://www.softinstigate.com/it/

More Related Content

Similar to SoftInstigate - Modelli di ingaggio nello sviluppo software

Contract by programming
Contract by programmingContract by programming
Contract by programming
Carlo Ticozzi
 
SMAU NAPOLI 2021 - Come individuare problemi e malfunzionamenti nei software ...
SMAU NAPOLI 2021 - Come individuare problemi e malfunzionamenti nei software ...SMAU NAPOLI 2021 - Come individuare problemi e malfunzionamenti nei software ...
SMAU NAPOLI 2021 - Come individuare problemi e malfunzionamenti nei software ...
SMAU
 
GDPR e Termini di Servizio: Come tutelarsi e adeguare il tuo sito
GDPR e Termini di Servizio: Come tutelarsi e adeguare il tuo sitoGDPR e Termini di Servizio: Come tutelarsi e adeguare il tuo sito
GDPR e Termini di Servizio: Come tutelarsi e adeguare il tuo sito
SiteGround.com
 
Handshake
HandshakeHandshake
Handshake
Nicola Mattina
 
Software Libero nella Piccola e Media impresa - GNU/Linux Day 2012
Software Libero nella Piccola e Media impresa - GNU/Linux Day 2012Software Libero nella Piccola e Media impresa - GNU/Linux Day 2012
Software Libero nella Piccola e Media impresa - GNU/Linux Day 2012
Alberto Russo
 
Intro OPENSUITE09NR.pdf
Intro OPENSUITE09NR.pdfIntro OPENSUITE09NR.pdf
Intro OPENSUITE09NR.pdfMayking
 
CloudFlow - Progetti CRM su Cloud Computing
CloudFlow - Progetti CRM su Cloud ComputingCloudFlow - Progetti CRM su Cloud Computing
CloudFlow - Progetti CRM su Cloud Computing
CloudFlow
 
Debito Tecnico Questo Sconosciuto
Debito Tecnico Questo SconosciutoDebito Tecnico Questo Sconosciuto
Debito Tecnico Questo Sconosciuto
inspearit Italy
 
Qbt company overview_it_2015
Qbt company overview_it_2015Qbt company overview_it_2015
Qbt company overview_it_2015Qbtsagl3
 
Software hr: 6 domande da fare prima di sceglierlo
Software hr: 6 domande da fare prima di sceglierloSoftware hr: 6 domande da fare prima di sceglierlo
Software hr: 6 domande da fare prima di sceglierlo
Cezanne HR Italia
 
Caso di studio: il CIO solitario
Caso di studio:   il CIO solitarioCaso di studio:   il CIO solitario
Caso di studio: il CIO solitario
Andrea Colleoni
 
ARXivar per Lawer - Gestione digitale commessa
ARXivar per Lawer - Gestione digitale commessaARXivar per Lawer - Gestione digitale commessa
ARXivar per Lawer - Gestione digitale commessa
ARXivar
 
Costruire una chain of custody del software - una guida per Cto Cio Devops
Costruire una chain of custody del software - una guida per Cto Cio DevopsCostruire una chain of custody del software - una guida per Cto Cio Devops
Costruire una chain of custody del software - una guida per Cto Cio Devops
Emerasoft, solutions to collaborate
 
Imhotep presentazione v.1.1
Imhotep presentazione v.1.1Imhotep presentazione v.1.1
Imhotep presentazione v.1.1
Alfredo Visconti
 
LA TUTELA DEL SOFTWARE: un approfondimento sulla protezione del software att...
LA TUTELA DEL SOFTWARE:  un approfondimento sulla protezione del software att...LA TUTELA DEL SOFTWARE:  un approfondimento sulla protezione del software att...
LA TUTELA DEL SOFTWARE: un approfondimento sulla protezione del software att...
Gilberto Cavagna
 
Presentazione del sistema di conservazione elettronica scelto dal CST-Bergamo
Presentazione del sistema di conservazione elettronica scelto dal CST-BergamoPresentazione del sistema di conservazione elettronica scelto dal CST-Bergamo
Presentazione del sistema di conservazione elettronica scelto dal CST-Bergamo
Sergio Primo Del Bello
 
Programma Aruba Cloud Startup - Il Cloud gratis per la tua startup
Programma Aruba Cloud Startup - Il Cloud gratis per la tua startupProgramma Aruba Cloud Startup - Il Cloud gratis per la tua startup
Programma Aruba Cloud Startup - Il Cloud gratis per la tua startup
Aruba S.p.A.
 
PERCHE' E COME SI VALUTA LA QUALITA' DEL SOFTWARE19 06_2015
PERCHE' E COME SI VALUTA LA QUALITA' DEL SOFTWARE19 06_2015PERCHE' E COME SI VALUTA LA QUALITA' DEL SOFTWARE19 06_2015
PERCHE' E COME SI VALUTA LA QUALITA' DEL SOFTWARE19 06_2015
Redazione InnovaPuglia
 
Fuse webinar
Fuse webinarFuse webinar
Fuse webinar
Ugo Landini
 
Con le linee guida sull’acquisizione e il riuso del software nella PA il merc...
Con le linee guida sull’acquisizione e il riuso del software nella PA il merc...Con le linee guida sull’acquisizione e il riuso del software nella PA il merc...
Con le linee guida sull’acquisizione e il riuso del software nella PA il merc...
Team per la Trasformazione Digitale
 

Similar to SoftInstigate - Modelli di ingaggio nello sviluppo software (20)

Contract by programming
Contract by programmingContract by programming
Contract by programming
 
SMAU NAPOLI 2021 - Come individuare problemi e malfunzionamenti nei software ...
SMAU NAPOLI 2021 - Come individuare problemi e malfunzionamenti nei software ...SMAU NAPOLI 2021 - Come individuare problemi e malfunzionamenti nei software ...
SMAU NAPOLI 2021 - Come individuare problemi e malfunzionamenti nei software ...
 
GDPR e Termini di Servizio: Come tutelarsi e adeguare il tuo sito
GDPR e Termini di Servizio: Come tutelarsi e adeguare il tuo sitoGDPR e Termini di Servizio: Come tutelarsi e adeguare il tuo sito
GDPR e Termini di Servizio: Come tutelarsi e adeguare il tuo sito
 
Handshake
HandshakeHandshake
Handshake
 
Software Libero nella Piccola e Media impresa - GNU/Linux Day 2012
Software Libero nella Piccola e Media impresa - GNU/Linux Day 2012Software Libero nella Piccola e Media impresa - GNU/Linux Day 2012
Software Libero nella Piccola e Media impresa - GNU/Linux Day 2012
 
Intro OPENSUITE09NR.pdf
Intro OPENSUITE09NR.pdfIntro OPENSUITE09NR.pdf
Intro OPENSUITE09NR.pdf
 
CloudFlow - Progetti CRM su Cloud Computing
CloudFlow - Progetti CRM su Cloud ComputingCloudFlow - Progetti CRM su Cloud Computing
CloudFlow - Progetti CRM su Cloud Computing
 
Debito Tecnico Questo Sconosciuto
Debito Tecnico Questo SconosciutoDebito Tecnico Questo Sconosciuto
Debito Tecnico Questo Sconosciuto
 
Qbt company overview_it_2015
Qbt company overview_it_2015Qbt company overview_it_2015
Qbt company overview_it_2015
 
Software hr: 6 domande da fare prima di sceglierlo
Software hr: 6 domande da fare prima di sceglierloSoftware hr: 6 domande da fare prima di sceglierlo
Software hr: 6 domande da fare prima di sceglierlo
 
Caso di studio: il CIO solitario
Caso di studio:   il CIO solitarioCaso di studio:   il CIO solitario
Caso di studio: il CIO solitario
 
ARXivar per Lawer - Gestione digitale commessa
ARXivar per Lawer - Gestione digitale commessaARXivar per Lawer - Gestione digitale commessa
ARXivar per Lawer - Gestione digitale commessa
 
Costruire una chain of custody del software - una guida per Cto Cio Devops
Costruire una chain of custody del software - una guida per Cto Cio DevopsCostruire una chain of custody del software - una guida per Cto Cio Devops
Costruire una chain of custody del software - una guida per Cto Cio Devops
 
Imhotep presentazione v.1.1
Imhotep presentazione v.1.1Imhotep presentazione v.1.1
Imhotep presentazione v.1.1
 
LA TUTELA DEL SOFTWARE: un approfondimento sulla protezione del software att...
LA TUTELA DEL SOFTWARE:  un approfondimento sulla protezione del software att...LA TUTELA DEL SOFTWARE:  un approfondimento sulla protezione del software att...
LA TUTELA DEL SOFTWARE: un approfondimento sulla protezione del software att...
 
Presentazione del sistema di conservazione elettronica scelto dal CST-Bergamo
Presentazione del sistema di conservazione elettronica scelto dal CST-BergamoPresentazione del sistema di conservazione elettronica scelto dal CST-Bergamo
Presentazione del sistema di conservazione elettronica scelto dal CST-Bergamo
 
Programma Aruba Cloud Startup - Il Cloud gratis per la tua startup
Programma Aruba Cloud Startup - Il Cloud gratis per la tua startupProgramma Aruba Cloud Startup - Il Cloud gratis per la tua startup
Programma Aruba Cloud Startup - Il Cloud gratis per la tua startup
 
PERCHE' E COME SI VALUTA LA QUALITA' DEL SOFTWARE19 06_2015
PERCHE' E COME SI VALUTA LA QUALITA' DEL SOFTWARE19 06_2015PERCHE' E COME SI VALUTA LA QUALITA' DEL SOFTWARE19 06_2015
PERCHE' E COME SI VALUTA LA QUALITA' DEL SOFTWARE19 06_2015
 
Fuse webinar
Fuse webinarFuse webinar
Fuse webinar
 
Con le linee guida sull’acquisizione e il riuso del software nella PA il merc...
Con le linee guida sull’acquisizione e il riuso del software nella PA il merc...Con le linee guida sull’acquisizione e il riuso del software nella PA il merc...
Con le linee guida sull’acquisizione e il riuso del software nella PA il merc...
 

More from SoftInstigate

RESTHeart - Modern runtime for microservices with instant Data API on MongoDB.
RESTHeart - Modern runtime for microservices with instant Data API on MongoDB.RESTHeart - Modern runtime for microservices with instant Data API on MongoDB.
RESTHeart - Modern runtime for microservices with instant Data API on MongoDB.
SoftInstigate
 
Autoinrete.com - il marketplace automobilistico accelerato dal cloud.
Autoinrete.com - il marketplace automobilistico accelerato dal cloud.Autoinrete.com - il marketplace automobilistico accelerato dal cloud.
Autoinrete.com - il marketplace automobilistico accelerato dal cloud.
SoftInstigate
 
Contratti agili per lo sviluppo software
Contratti agili per lo sviluppo softwareContratti agili per lo sviluppo software
Contratti agili per lo sviluppo software
SoftInstigate
 
Differenze tra Alfresco Community ed Enterprise
Differenze tra Alfresco Community ed EnterpriseDifferenze tra Alfresco Community ed Enterprise
Differenze tra Alfresco Community ed Enterprise
SoftInstigate
 
Alfresco Enterprise 3.4 ita
Alfresco Enterprise 3.4 itaAlfresco Enterprise 3.4 ita
Alfresco Enterprise 3.4 itaSoftInstigate
 
Alfresco in un ora 2010
Alfresco in un ora 2010Alfresco in un ora 2010
Alfresco in un ora 2010
SoftInstigate
 

More from SoftInstigate (6)

RESTHeart - Modern runtime for microservices with instant Data API on MongoDB.
RESTHeart - Modern runtime for microservices with instant Data API on MongoDB.RESTHeart - Modern runtime for microservices with instant Data API on MongoDB.
RESTHeart - Modern runtime for microservices with instant Data API on MongoDB.
 
Autoinrete.com - il marketplace automobilistico accelerato dal cloud.
Autoinrete.com - il marketplace automobilistico accelerato dal cloud.Autoinrete.com - il marketplace automobilistico accelerato dal cloud.
Autoinrete.com - il marketplace automobilistico accelerato dal cloud.
 
Contratti agili per lo sviluppo software
Contratti agili per lo sviluppo softwareContratti agili per lo sviluppo software
Contratti agili per lo sviluppo software
 
Differenze tra Alfresco Community ed Enterprise
Differenze tra Alfresco Community ed EnterpriseDifferenze tra Alfresco Community ed Enterprise
Differenze tra Alfresco Community ed Enterprise
 
Alfresco Enterprise 3.4 ita
Alfresco Enterprise 3.4 itaAlfresco Enterprise 3.4 ita
Alfresco Enterprise 3.4 ita
 
Alfresco in un ora 2010
Alfresco in un ora 2010Alfresco in un ora 2010
Alfresco in un ora 2010
 

SoftInstigate - Modelli di ingaggio nello sviluppo software

  • 1. Modelli di Ingaggio Come possiamo lavorare insieme
  • 2. Cosa facciamo? Sviluppiamo Applicazioni software Dal design del prodotto all’infrastruttura cloud di esecuzione Inoltre sviluppiamo RESTHeart, un moderno runtime per microservizi.
  • 3. Come operiamo? Workshop Discovery Esecuzione Supporto Workshop formativi opzionali, finalizzati a trasmettere conoscenza di alto livello sulle tecnologie e sui processi di sviluppo. Fase di analisi volta ad far emergere bisogni, definire obiettivi, progettare la soluzione di alto livello e definire strumenti e processi. Ingaggio per l’esecuzione delle attività di sviluppo applicativo secondo la migliore modalità, in relazione agli obiettivi e al contesto organizzativo. Supporto post rilascio sul sistema software implementato. Estende la garanzia e copre le attività di operations sulla infrastruttura realizzata.
  • 4. Scenari differenti... progetto di sviluppo software sulla base di requisiti stabili vs prodotto software soggetto a continue evoluzioni ...richiedono modalità d’ingaggio distinte. Qual è il bisogno del cliente?
  • 5. Sviluppo a corpo Caratteristiche ● requisiti, tempi e costi prefissati e formalizzati nell’allegato tecnico. ● Adatto a ingaggi di breve / medio periodo. ● Consegne validate da attività di collaudo. ● Garanzia estendibile tramite servizio di manutenzione. É adatto quando... ● Sono noti e documentati tutti i requisiti prima dell’avvio del progetto. ● I requisiti sono stabili, le eventuali modifiche necessarie dopo la fine del progetto sono poche e ben definite. Punti di attenzione ● Se il Cliente cambia idea o ha nuove idee → il processo di Change Management impatta su tempi e costi. ● Richiede tempo avviare il progetto e redigere l’allegato tecnico (attività di analisi tramite consulenza). ● Fissati requisiti e tempi, la contrattazione sul prezzo spesso incide sulla qualità finale.
  • 6. Caratteristiche ● Ingaggio di medio periodo per l'evoluzione incrementale e iterativa di software. ● Esplorativo: piano generale definito sotto forma di roadmap e attività dettagliate di volta in volta nel “backlog”. ● Team di sviluppo stabile. ● Costo fisso per iterazione. Punti di attenzione ● È indispensabile una costante collaborazione tra Cliente e Fornitore. ● Il costante flusso di rilasci apporta continue evoluzioni (non è previsto il concetto di collaudo) Sviluppo incrementale (“Agile”) É adatto quando: ● Si vuole esplorare un nuovo mercato o un nuovo modello di business rapidamente. ● E’ necessario evolvere continuamente il software per adattarlo al cambiamento.
  • 7. I nostri contratti di sviluppo Contratto a Corpo ● Requisiti noti e chiari, definiti prima dell’avvio dell’esecuzione del contratto (tramite studio di fattibilità). ● Rigido: perimetro, tempi e costi predefiniti. ● Cronoprogramma con punti di verifica formali (SAL) ● Consegna del SW secondo stadi di avanzamento lavori ● Processo di Change Management ● Garanzia (estendibile con manutenzione) Contratto a Corpo Multiprogetto ● Definizione del perimetro generale e del processo di esecuzione delle attività: chi fa cosa e come ● I sotto-progetti vengono definiti di volta in volta attraverso un’attività di analisi volta a definire il Piano di Lavoro ● Il PdL definisce i requisiti, il cronoprogramma e i test di accettazione ● Definito il PdL, SoftInstigate sottomette un’offerta economica la cui accettazione dà via alle attività Contratto Agile ● Attività di sviluppo organizzate intorno ad iterazioni di durata fissa (es 1 mese) ● Gestione della attività “lean” (es Kanban board) ● Richiede una collaborazione stabile tra Cliente e Fornitore (es Product Owner) ● Team stabile ● Tariffa mensile o a iterazione ● Può essere agevolmente interrotto dal cliente, appena raggiunti i risultati A CORPO INCREMENTALE← MODELLO DI INGAGGIO →
  • 8. Il contratto stabilisce le regole del gioco La parola contratto pone automaticamente le parti sulla difensiva. Un’offerta commerciale è sufficiente a concludere un accordo. Ma... ● È chiaro chi fa cosa e come? ● È chiara la modalità operativa? (Ad es: come vengono avviate le attività, come vengono gestite le modifiche delle richieste cd. Changes request ecc.. ● È prevista una modalità oggettiva di valutazione/collaudo del Sw ? ● È stabilita una modalità di consegna del Sw? ● Il fornitore presta una garanzia? ● Chi è il proprietario del SW alla conclusione del contratto ? Quindi…. Il contratto deve essere lo strumento per raggiungere gli obiettivi desiderati, tutelando entrambe le parti.
  • 9. Le regole del gioco I nostri contratti contengono la definizione dei principali processi operativi che regolano la collaborazione tra cliente e fornitore ● Avvio delle attività ● Regole di chiusura (definition of done). ● Definizione dei requisiti. ● Regole per gestire il cambiamento. ● Comunicazioni cliente/fornitore. ● Verifiche e collaudi. ● Consegna finale.
  • 10. Le garanzie Un contratto deve tutelare le Parti in tutti gli aspetti, ad esempio: ● Privacy ● Risoluzione/Recesso ● Proprietà intellettuale e diritti patrimoniali ● Licenze ● Garanzie
  • 11. Gestire la Proprietà Intellettuale ● Il software è regolato dal diritto d’autore ● Non esiste una normativa che preveda il trasferimento automatico di tutti i diritti di sfruttamento di un software sviluppato su commessa. ● Resta quindi interpretabile se il committente acquisisca o meno il potere di disporre della IP verso i terzi e se sì, in quale misura. ● Questo accade nonostante la regola generale di interpretazione riconosca il diritto esclusivo di sfruttamento economico del software al committente. E’ pertanto fondamentale per il cliente che il fornitore sia competente e leale anche su questi aspetti
  • 12. L’importanza della clausola IP In mancanza di una previsione chiara sui diritti di sfruttamento del Software si trasferiscono al Committente solo quei diritti che gli assicurano il conseguimento dello scopo negoziale. Per dimostrare il contrario in sede giudiziale si dovrà ricorrere a principi di interpretazione giuridica per cercare di ricostruire quale fosse il reale scopo negoziale perseguito dalle parti, mutuando norme di riferimento dalle fattispecie contrattuali cui può essere ricondotto verosimilmente l’accordo. In astratto si dovrà cercare di: ● contemperare le norme dettate in materia di appalto, secondo cui la proprietà dell’opera si trasferisce al committente con l’accettazione e la consegna, con le norme previste dalla legge sul diritto d’autore che si basano sulla previsione secondo cui il titolo originario dell’acquisto del diritto è la creazione stessa dell’opera. ● Avere consapevolezza che il Software è un’opera dell’ingegno e, pertanto un bene immateriale tutelato dalla legge sul diritto d’autore. ● Avere consapevolezza di quale sia l’oggetto specifico della tutela (ovvero il codice sorgente, il codice oggetto e tutti gli atti preparatori ) e chi è considerato “autore” per la legge. ● Conoscere quali sono nello specifico i diritti di utilizzazione del software e quale si vuole trasferire all’esito del contratto, con riferimento sempre al codice sorgente e/o al codice oggetto.
  • 13. Come gestiamo la questione IP? Softinstigate ● Cede esplicitamente i diritti di sfruttamento economico del Software sviluppato attraverso uno specifico articolo del contratto. ● Gestisce il codice sorgente e le configurazioni su repository condiviso con il cliente. ● Può fornire protezione dagli “IP claims” di terze parti.
  • 14. La Licenza Software Sviluppo software su commessa → il Software “è del Cliente” Software del Fornitore → il Cliente può usarlo su Licenza La licenza d’uso di software: ● è il contratto con il quale il licenziante concede ad altri l’utilizzo di un programma verso un corrispettivo. ● si adotta per distribuire un software proprietario standard. L’utilizzatore acquisisce il solo diritto di usare la singola copia del software e non l’opera dell’ingegno in quanto tale. Il software licensing è un tema molto complesso nel quale possono distinguersi due macro aree: Licenze Proprietarie e Open Source
  • 15. La nostra esperienza sul licensing Tema estremamente complesso (esempio: molte compagnie non assicurano la responsabilità civile per vendita di licenze software in USA!) ● È necessario analizzare caso per caso e collaborare con diversi esperti in relazione al diritto internazionale, regolamenti EU, accordi bilaterali, IP, patents, ecc. ● Siamo esperti di Open Source e possiamo aiutare i clienti nell’adozione di OSS. Abbiamo esperienze significative di licensing(*) in cui abbiamo affrontato problemi concreti: ● Modelli di business (Perpetual license, Subscription, OEM,..) ● Processi automatici di accettazione licenze e relative clausoleIP indemnities / IP Warranty with Remedies clause ● Giurisdizione ● Assicurazione (*) RESTHeart Enterprise License e Enterprise License.
  • 16. Contratti di supporto e manutenzione ● Supporto ○ Supporto Operations (per mantenere l’infrastruttura operativa così com’è) ○ Estensione del periodo di garanzia (bug fixing) ○ Prevede la definizione di SLA ● Manutenzione ○ Piccole attività di sviluppo evolutivo/adeguativo (è importante mantenere lo stack tecnologico aggiornato) Spesso i due servizi sono offerti tramite unico contratto
  • 17. Un caso di successo: autoinrete.com ● Il Cliente aveva già implementato una prima versione del servizio ● Problemi della versione legacy: scalabilità e processo di delivery lento ● Era chiaro cosa mantenere e cosa cambiare ● SoftInstigate esegue uno studio di fattibilità ● raccomanda di reingegnerizzare il servizio su una nuova e più moderna architettura cloud Servizio online in ~3 mesi
  • 18. Approccio autoinrete.com MVP = Minimum Viable Product Tra gli scopi: “Dare un prodotto agli early adopter il prima possibile” AiR_1 AiR_2 t MVP release date Eventuali gap sono velocemente recuperati grazie alla nuova architettura e all’approccio di sviluppo lean. Abilitytoexecute Break Even Point ! Evitare di evolvere il sistema legacy. Solo sviluppi tattici. 215 giorni uomo in 2,5 mesi
  • 19. Fase 2 Fase 1 Contratti diversi per fasi diverse! MVP Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 6 Sprint 7 Sprint 5 Rapide evoluzioni guidate da esperienza Reingegnerizzazione della soluzione esistente con obiettivi chiari → Progetto a corpo (3 mesi) Rapida evoluzione con apertura al cambiamento → Ingaggio incrementale (~1 anno) Fase 3 Servizio stabile, evoluzioni mirate → Contratto multi-progetto a corpo v2.0 v2.1 v2.2 v3.0
  • 20. Grazie SoftInstigate s.r.l. Sede legale: Via G. D'Annunzio 28, 67100 L'Aquila (Italy) Sede operativa: Via Copernico 38, 20125 Milano (Italy) Visita il nostro sito web: https://www.softinstigate.com/it/