SlideShare a Scribd company logo
1 of 25
Introduzione all’ALM
Chi sono Ricci Gian Maria Alkampfer@nablasoft.com http://www.codewrecks.com http://blogs.ugidotnet.org/rgm
Perché ALM Un progetto non è solo «codice», ma un insieme di attività che va dall’analisi dei requisiti fino al deployment per finire con la manutenzione
Code and fix  Rappresenta la «non gestione» dell’ALM Funziona per team piccoli e per piccoli progetti Produce codice di bassa qualità, non manutenibile
Waterfall Funziona per progetti life-critical Le specifiche debbono essere conosciute nelle fasi iniziali Estremamente rigido
Waterfall per i «salmoni» Diminuisce la rigidità ammettendo la possibilità di «risalire» la cascata come un salmone 
Waterfall Sashimi Si sovrappongono le fasi, una fase successiva inizia prima del completamento della precedente
Verso processi evolutivi - Spiral
La crisi dei modelli classici I modelli classici sono troppo rigidi Il software si è evoluto, non è solo appannaggio dei militari o delle grandi aziende Le dimensioni dei progetti sono molto variabili Specifiche non immutabili
I believe the hard part of building software to be the specification, design, and testing of conceptualconstructr, not the labor of representingit and testing the fidelity of the representation. The hardest single part of building a software systemisdecidingpreciselywhat to build The mythical man month.
Staged Delivery Al fine di gestire specifiche in continuo cambiamento alcuni passi vengono scomposti
Evolutionary delivery Final Version
Ecosistema  Con l’evolutionary delivery viene introdotto un fattore importante, il cliente o Stakeholder Gli obiettivi si spostano sempre più verso la «soddisfazione del cliente»  Nasce l’agile manifesto
Agile Manifesto Our highest priority is to satisfy the customerthrough early and continuous deliveryof valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.  Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
Frizione nella comunicazione I problemi maggiori nascono dal far comunicare tra loro figure tecniche e non tecniche Realizzeremo tutto in WPFcon supporto servizi WCFin ottica SOA …a ??????????????a
Non chiarezza dei requisiti Una raccolta errata dei requisiti è la causa primaria di problemi nel progetto Vorrei un piccolo gestionaleper il mio magazzinoa Nessun problemaa
Mancato feedback del cliente Il software viene fatto vedere al cliente solo nelle fasi terminali, quando effettuare cambiamenti è comunque più oneroso in termini di tempo Il software è pronto Vorrei inserire la trazione integraleperché nella mia azienda…
Processi agili I processi agili, come SCRUM o Extreme Programming inseriscono lo Stakeholder direttamente nel processo Tramite piccole release incrementali lo Stakeholder è in grado di dare feedback costanti ed «aggiustare» la direzione L’uso di strumenti come Casi d’uso e prototipi di interfaccia permette alle varie figure di gestire le specifiche senza linguaggio tecnico
Elicitazione requisiti Tramite prototipi di interfaccia, use case ed altre tecniche, il cliente viene introdotto maggiormente nelle fasi di progetto L’utente web deve poter inserire un ordine ccccccccccc Non vedo l’icona di PayPal
The purpose of the prototypeis to makereal the conceptualstructurespecified, so that the client can test it for consistency and usability The mythical man month.
Scrum
Feedback frequenti Con processi come Scrum, ogni due settimane è possibile far vedere allo stakeholder il «deliverable» Questo è un primo prototipo Mi piace, ma vorrei che fosse Blu
Feedback Frequenti Questa è la versione attuale Abbiamo aggiunto XYZ Ha la trazione integrale ed i vetri oscurati?
Feedback frequenti Ecco la versione attuale Abbiamo introdotto z, w e k Iocambierei qualcosina, vorrei che….
Come procederemo	 Nel corso della giornata verranno trattati con dettaglio gli argomenti qui esposti Si partirà con un intervista al cliente, per passare poi ad un prototipo di applicativo Sviluppatori e Designer lavoreranno al progetto curando ogniuno la sua parte Infine il software verrà messo in integrazione continua affinche il cliente possa verificare il software durante il corso dello sviluppo.

More Related Content

What's hot

Sviluppo Agile secondo l'approccio SCRUM
Sviluppo Agile secondo l'approccio SCRUMSviluppo Agile secondo l'approccio SCRUM
Sviluppo Agile secondo l'approccio SCRUMMatteo Papadopoulos
 
Architettura del software un approccio Agile, Web-cast Microsoft 2006
Architettura del software un approccio Agile, Web-cast Microsoft 2006Architettura del software un approccio Agile, Web-cast Microsoft 2006
Architettura del software un approccio Agile, Web-cast Microsoft 2006Luca Minudel
 
Eliminare gli Spaghetti API
Eliminare gli Spaghetti APIEliminare gli Spaghetti API
Eliminare gli Spaghetti APIGiulio Roggero
 
AgileDay 2006 - Essere agili nel diventare agili
AgileDay 2006 - Essere agili nel diventare agiliAgileDay 2006 - Essere agili nel diventare agili
AgileDay 2006 - Essere agili nel diventare agiliLuca Minudel
 
Debito Tecnico Questo Sconosciuto
Debito Tecnico Questo SconosciutoDebito Tecnico Questo Sconosciuto
Debito Tecnico Questo Sconosciutoinspearit Italy
 
Introduzione alle metodologie Agili
Introduzione alle metodologie AgiliIntroduzione alle metodologie Agili
Introduzione alle metodologie AgiliAlessandro Astarita
 
AgileIoT, agile meets IoT - MEC 2016
AgileIoT, agile meets IoT - MEC 2016AgileIoT, agile meets IoT - MEC 2016
AgileIoT, agile meets IoT - MEC 2016Felice Pescatore
 
Keep calm and deploy
Keep calm and deployKeep calm and deploy
Keep calm and deployKlab
 
Tecniche Innovative di sviluppo Agile: Metodologia DevOps per un migliore cic...
Tecniche Innovative di sviluppo Agile: Metodologia DevOps per un migliore cic...Tecniche Innovative di sviluppo Agile: Metodologia DevOps per un migliore cic...
Tecniche Innovative di sviluppo Agile: Metodologia DevOps per un migliore cic...Davide Gallitelli
 
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
 
Agile Project Management - the Board Game workshop
Agile Project Management  - the Board Game workshopAgile Project Management  - the Board Game workshop
Agile Project Management - the Board Game workshopGiulio Roggero
 
Agile APM an heretic's approach to SPE
Agile APM an heretic's approach to SPEAgile APM an heretic's approach to SPE
Agile APM an heretic's approach to SPEK-Tech Formazione
 

What's hot (14)

Sviluppo Agile secondo l'approccio SCRUM
Sviluppo Agile secondo l'approccio SCRUMSviluppo Agile secondo l'approccio SCRUM
Sviluppo Agile secondo l'approccio SCRUM
 
Architettura del software un approccio Agile, Web-cast Microsoft 2006
Architettura del software un approccio Agile, Web-cast Microsoft 2006Architettura del software un approccio Agile, Web-cast Microsoft 2006
Architettura del software un approccio Agile, Web-cast Microsoft 2006
 
Eliminare gli Spaghetti API
Eliminare gli Spaghetti APIEliminare gli Spaghetti API
Eliminare gli Spaghetti API
 
Agile methodologies
Agile methodologiesAgile methodologies
Agile methodologies
 
AgileDay 2006 - Essere agili nel diventare agili
AgileDay 2006 - Essere agili nel diventare agiliAgileDay 2006 - Essere agili nel diventare agili
AgileDay 2006 - Essere agili nel diventare agili
 
Debito Tecnico Questo Sconosciuto
Debito Tecnico Questo SconosciutoDebito Tecnico Questo Sconosciuto
Debito Tecnico Questo Sconosciuto
 
Introduzione alle metodologie Agili
Introduzione alle metodologie AgiliIntroduzione alle metodologie Agili
Introduzione alle metodologie Agili
 
Innovare nel B2C
Innovare nel B2CInnovare nel B2C
Innovare nel B2C
 
AgileIoT, agile meets IoT - MEC 2016
AgileIoT, agile meets IoT - MEC 2016AgileIoT, agile meets IoT - MEC 2016
AgileIoT, agile meets IoT - MEC 2016
 
Keep calm and deploy
Keep calm and deployKeep calm and deploy
Keep calm and deploy
 
Tecniche Innovative di sviluppo Agile: Metodologia DevOps per un migliore cic...
Tecniche Innovative di sviluppo Agile: Metodologia DevOps per un migliore cic...Tecniche Innovative di sviluppo Agile: Metodologia DevOps per un migliore cic...
Tecniche Innovative di sviluppo Agile: Metodologia DevOps per un migliore cic...
 
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 ...
 
Agile Project Management - the Board Game workshop
Agile Project Management  - the Board Game workshopAgile Project Management  - the Board Game workshop
Agile Project Management - the Board Game workshop
 
Agile APM an heretic's approach to SPE
Agile APM an heretic's approach to SPEAgile APM an heretic's approach to SPE
Agile APM an heretic's approach to SPE
 

Viewers also liked

Introduction to Application insights
Introduction to Application insightsIntroduction to Application insights
Introduction to Application insightsGian Maria Ricci
 
Deploy applications with TFS Build
Deploy applications with TFS BuildDeploy applications with TFS Build
Deploy applications with TFS BuildGian Maria Ricci
 
Introduction to Visual Studio Online
Introduction to Visual Studio OnlineIntroduction to Visual Studio Online
Introduction to Visual Studio OnlineGian Maria Ricci
 
Manage your environment with DSC
Manage your environment with DSCManage your environment with DSC
Manage your environment with DSCGian Maria Ricci
 
TFS - Quale source control
TFS - Quale source controlTFS - Quale source control
TFS - Quale source controlGian Maria Ricci
 
Distribute your code with NUget and build vNext
Distribute your code with NUget and build vNextDistribute your code with NUget and build vNext
Distribute your code with NUget and build vNextGian Maria Ricci
 

Viewers also liked (9)

Tfs Per Team Agili
Tfs Per Team AgiliTfs Per Team Agili
Tfs Per Team Agili
 
Introduction to Application insights
Introduction to Application insightsIntroduction to Application insights
Introduction to Application insights
 
Git branching model
Git branching modelGit branching model
Git branching model
 
Deploy applications with TFS Build
Deploy applications with TFS BuildDeploy applications with TFS Build
Deploy applications with TFS Build
 
Introduction to Visual Studio Online
Introduction to Visual Studio OnlineIntroduction to Visual Studio Online
Introduction to Visual Studio Online
 
Branch model in Git
Branch model in GitBranch model in Git
Branch model in Git
 
Manage your environment with DSC
Manage your environment with DSCManage your environment with DSC
Manage your environment with DSC
 
TFS - Quale source control
TFS - Quale source controlTFS - Quale source control
TFS - Quale source control
 
Distribute your code with NUget and build vNext
Distribute your code with NUget and build vNextDistribute your code with NUget and build vNext
Distribute your code with NUget and build vNext
 

Similar to Introduzione all'ALM

Introduzione all'Agile Software Development
Introduzione all'Agile Software DevelopmentIntroduzione all'Agile Software Development
Introduzione all'Agile Software DevelopmentPaolo Sammicheli
 
Introduzione all'Agile Software Development
Introduzione all'Agile Software DevelopmentIntroduzione all'Agile Software Development
Introduzione all'Agile Software DevelopmentPaolo Sammicheli
 
Il tuo team "agile" scrive codice "flaccido"? Forse scrum non basta
Il tuo team "agile" scrive codice "flaccido"? Forse scrum non bastaIl tuo team "agile" scrive codice "flaccido"? Forse scrum non basta
Il tuo team "agile" scrive codice "flaccido"? Forse scrum non bastaStefano Muro
 
DevOps: l'IT al servizio del Business
DevOps: l'IT al servizio del BusinessDevOps: l'IT al servizio del Business
DevOps: l'IT al servizio del BusinessFelice Pescatore
 
Agile Project Framework
Agile Project FrameworkAgile Project Framework
Agile Project FrameworkSimone Onofri
 
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 DevopsEmerasoft, solutions to collaborate
 
Back to basics - il Manifesto Agile
Back to basics - il Manifesto AgileBack to basics - il Manifesto Agile
Back to basics - il Manifesto AgileGiancarlo Valente
 
Lucierna - Application Performance Manager - APM
Lucierna - Application Performance Manager - APMLucierna - Application Performance Manager - APM
Lucierna - Application Performance Manager - APMAlessandro Salvatico
 
Integrazione continua con TFS Build
Integrazione continua con TFS BuildIntegrazione continua con TFS Build
Integrazione continua con TFS BuildGian Maria Ricci
 
Verso un nuovo paradigma di Ingegneria del Software per le applicazioni ad al...
Verso un nuovo paradigma di Ingegneria del Software per le applicazioni ad al...Verso un nuovo paradigma di Ingegneria del Software per le applicazioni ad al...
Verso un nuovo paradigma di Ingegneria del Software per le applicazioni ad al...festival ICT 2016
 
Le 7 sfide da affrontare nella migrazione da monolite a miniservizi
Le 7 sfide da affrontare nella migrazione da monolite a miniserviziLe 7 sfide da affrontare nella migrazione da monolite a miniservizi
Le 7 sfide da affrontare nella migrazione da monolite a miniserviziLuca Acquaviva
 
MySQL Day Milano 2018 - Le architetture a microservizi
MySQL Day Milano 2018 - Le architetture a microserviziMySQL Day Milano 2018 - Le architetture a microservizi
MySQL Day Milano 2018 - Le architetture a microserviziPar-Tec S.p.A.
 
Pensiero Analogico e Microservizi
Pensiero Analogico  e MicroserviziPensiero Analogico  e Microservizi
Pensiero Analogico e MicroserviziConsulthinkspa
 
I processi di sviluppo software: la storia
I processi di sviluppo software: la storiaI processi di sviluppo software: la storia
I processi di sviluppo software: la storiaGiulio Destri
 
IntroduzioneAllaGestioneDiUnProgettoSoftwareConUML
IntroduzioneAllaGestioneDiUnProgettoSoftwareConUMLIntroduzioneAllaGestioneDiUnProgettoSoftwareConUML
IntroduzioneAllaGestioneDiUnProgettoSoftwareConUMLmatteo_gentile
 

Similar to Introduzione all'ALM (20)

Introduzione all'Agile Software Development
Introduzione all'Agile Software DevelopmentIntroduzione all'Agile Software Development
Introduzione all'Agile Software Development
 
Introduzione all'Agile Software Development
Introduzione all'Agile Software DevelopmentIntroduzione all'Agile Software Development
Introduzione all'Agile Software Development
 
OpenDevSecOps 2019 - Open devsecops un caso di studio
OpenDevSecOps 2019 - Open devsecops un caso di studioOpenDevSecOps 2019 - Open devsecops un caso di studio
OpenDevSecOps 2019 - Open devsecops un caso di studio
 
Il tuo team "agile" scrive codice "flaccido"? Forse scrum non basta
Il tuo team "agile" scrive codice "flaccido"? Forse scrum non bastaIl tuo team "agile" scrive codice "flaccido"? Forse scrum non basta
Il tuo team "agile" scrive codice "flaccido"? Forse scrum non basta
 
DevOps: l'IT al servizio del Business
DevOps: l'IT al servizio del BusinessDevOps: l'IT al servizio del Business
DevOps: l'IT al servizio del Business
 
Agile Project Framework
Agile Project FrameworkAgile Project Framework
Agile Project Framework
 
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
 
Back to basics - il Manifesto Agile
Back to basics - il Manifesto AgileBack to basics - il Manifesto Agile
Back to basics - il Manifesto Agile
 
Lucierna - Application Performance Manager - APM
Lucierna - Application Performance Manager - APMLucierna - Application Performance Manager - APM
Lucierna - Application Performance Manager - APM
 
Integrazione continua con TFS Build
Integrazione continua con TFS BuildIntegrazione continua con TFS Build
Integrazione continua con TFS Build
 
Visaggio fd l13_9_18
Visaggio fd l13_9_18Visaggio fd l13_9_18
Visaggio fd l13_9_18
 
LARUS 10th - Rampado Omar
LARUS 10th - Rampado OmarLARUS 10th - Rampado Omar
LARUS 10th - Rampado Omar
 
Verso un nuovo paradigma di Ingegneria del Software per le applicazioni ad al...
Verso un nuovo paradigma di Ingegneria del Software per le applicazioni ad al...Verso un nuovo paradigma di Ingegneria del Software per le applicazioni ad al...
Verso un nuovo paradigma di Ingegneria del Software per le applicazioni ad al...
 
Iloveyou
IloveyouIloveyou
Iloveyou
 
Le 7 sfide da affrontare nella migrazione da monolite a miniservizi
Le 7 sfide da affrontare nella migrazione da monolite a miniserviziLe 7 sfide da affrontare nella migrazione da monolite a miniservizi
Le 7 sfide da affrontare nella migrazione da monolite a miniservizi
 
Software Testing Forum 2012 - Polarion e TRS SpA
Software Testing Forum 2012 - Polarion e TRS SpASoftware Testing Forum 2012 - Polarion e TRS SpA
Software Testing Forum 2012 - Polarion e TRS SpA
 
MySQL Day Milano 2018 - Le architetture a microservizi
MySQL Day Milano 2018 - Le architetture a microserviziMySQL Day Milano 2018 - Le architetture a microservizi
MySQL Day Milano 2018 - Le architetture a microservizi
 
Pensiero Analogico e Microservizi
Pensiero Analogico  e MicroserviziPensiero Analogico  e Microservizi
Pensiero Analogico e Microservizi
 
I processi di sviluppo software: la storia
I processi di sviluppo software: la storiaI processi di sviluppo software: la storia
I processi di sviluppo software: la storia
 
IntroduzioneAllaGestioneDiUnProgettoSoftwareConUML
IntroduzioneAllaGestioneDiUnProgettoSoftwareConUMLIntroduzioneAllaGestioneDiUnProgettoSoftwareConUML
IntroduzioneAllaGestioneDiUnProgettoSoftwareConUML
 

More from Gian Maria Ricci

Se non sviluppo codice non sto lavorando
Se non sviluppo codice non sto lavorandoSe non sviluppo codice non sto lavorando
Se non sviluppo codice non sto lavorandoGian Maria Ricci
 
Gestire la qualità del codice con Visual Studio, SonarQube ed Azure Devops
Gestire la qualità del codice con Visual Studio, SonarQube ed Azure DevopsGestire la qualità del codice con Visual Studio, SonarQube ed Azure Devops
Gestire la qualità del codice con Visual Studio, SonarQube ed Azure DevopsGian Maria Ricci
 
Migrare da un VCS centralizzato a Git
Migrare da un VCS centralizzato a GitMigrare da un VCS centralizzato a Git
Migrare da un VCS centralizzato a GitGian Maria Ricci
 
Real World Build + Release automation in Azure DevOps
Real World Build + Release automation in Azure DevOpsReal World Build + Release automation in Azure DevOps
Real World Build + Release automation in Azure DevOpsGian Maria Ricci
 
Gestire i rilasci automatici con azure devops
Gestire i rilasci automatici con azure devopsGestire i rilasci automatici con azure devops
Gestire i rilasci automatici con azure devopsGian Maria Ricci
 
Build and release in code with azure devops pipelines
Build and release in code with azure devops pipelinesBuild and release in code with azure devops pipelines
Build and release in code with azure devops pipelinesGian Maria Ricci
 
Azure Pipeline in salsa yaml
Azure Pipeline in salsa yamlAzure Pipeline in salsa yaml
Azure Pipeline in salsa yamlGian Maria Ricci
 
Git gitflow pull requests in devops focused teams
Git gitflow pull requests in devops focused teamsGit gitflow pull requests in devops focused teams
Git gitflow pull requests in devops focused teamsGian Maria Ricci
 
Come Organizzare il proprio Team Project
Come Organizzare il proprio Team ProjectCome Organizzare il proprio Team Project
Come Organizzare il proprio Team ProjectGian Maria Ricci
 
Automatically deployment to Azure Web Sites
Automatically deployment to Azure Web SitesAutomatically deployment to Azure Web Sites
Automatically deployment to Azure Web SitesGian Maria Ricci
 
Porfolio Management in TFS 2013
Porfolio Management in TFS 2013Porfolio Management in TFS 2013
Porfolio Management in TFS 2013Gian Maria Ricci
 
TFS or Team Foundation Service?
TFS or Team Foundation Service?TFS or Team Foundation Service?
TFS or Team Foundation Service?Gian Maria Ricci
 
Database project alla riscossa
Database project alla riscossaDatabase project alla riscossa
Database project alla riscossaGian Maria Ricci
 

More from Gian Maria Ricci (20)

Se non sviluppo codice non sto lavorando
Se non sviluppo codice non sto lavorandoSe non sviluppo codice non sto lavorando
Se non sviluppo codice non sto lavorando
 
Gestire la qualità del codice con Visual Studio, SonarQube ed Azure Devops
Gestire la qualità del codice con Visual Studio, SonarQube ed Azure DevopsGestire la qualità del codice con Visual Studio, SonarQube ed Azure Devops
Gestire la qualità del codice con Visual Studio, SonarQube ed Azure Devops
 
Migrare da un VCS centralizzato a Git
Migrare da un VCS centralizzato a GitMigrare da un VCS centralizzato a Git
Migrare da un VCS centralizzato a Git
 
Real World Build + Release automation in Azure DevOps
Real World Build + Release automation in Azure DevOpsReal World Build + Release automation in Azure DevOps
Real World Build + Release automation in Azure DevOps
 
Gestire i rilasci automatici con azure devops
Gestire i rilasci automatici con azure devopsGestire i rilasci automatici con azure devops
Gestire i rilasci automatici con azure devops
 
Build and release in code with azure devops pipelines
Build and release in code with azure devops pipelinesBuild and release in code with azure devops pipelines
Build and release in code with azure devops pipelines
 
Azure Pipeline in salsa yaml
Azure Pipeline in salsa yamlAzure Pipeline in salsa yaml
Azure Pipeline in salsa yaml
 
Git gitflow pull requests in devops focused teams
Git gitflow pull requests in devops focused teamsGit gitflow pull requests in devops focused teams
Git gitflow pull requests in devops focused teams
 
Git si o Git No
Git si o Git NoGit si o Git No
Git si o Git No
 
Testing
TestingTesting
Testing
 
Come Organizzare il proprio Team Project
Come Organizzare il proprio Team ProjectCome Organizzare il proprio Team Project
Come Organizzare il proprio Team Project
 
Git Perchè Usarlo
Git Perchè UsarloGit Perchè Usarlo
Git Perchè Usarlo
 
Automatically deployment to Azure Web Sites
Automatically deployment to Azure Web SitesAutomatically deployment to Azure Web Sites
Automatically deployment to Azure Web Sites
 
Porfolio Management in TFS 2013
Porfolio Management in TFS 2013Porfolio Management in TFS 2013
Porfolio Management in TFS 2013
 
TFS or Team Foundation Service?
TFS or Team Foundation Service?TFS or Team Foundation Service?
TFS or Team Foundation Service?
 
Typical Developer Day
Typical Developer DayTypical Developer Day
Typical Developer Day
 
Unit Testing in VS2012
Unit Testing in VS2012Unit Testing in VS2012
Unit Testing in VS2012
 
Hardware e plugin
Hardware e pluginHardware e plugin
Hardware e plugin
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
Database project alla riscossa
Database project alla riscossaDatabase project alla riscossa
Database project alla riscossa
 

Introduzione all'ALM

  • 2. Chi sono Ricci Gian Maria Alkampfer@nablasoft.com http://www.codewrecks.com http://blogs.ugidotnet.org/rgm
  • 3. Perché ALM Un progetto non è solo «codice», ma un insieme di attività che va dall’analisi dei requisiti fino al deployment per finire con la manutenzione
  • 4. Code and fix Rappresenta la «non gestione» dell’ALM Funziona per team piccoli e per piccoli progetti Produce codice di bassa qualità, non manutenibile
  • 5. Waterfall Funziona per progetti life-critical Le specifiche debbono essere conosciute nelle fasi iniziali Estremamente rigido
  • 6. Waterfall per i «salmoni» Diminuisce la rigidità ammettendo la possibilità di «risalire» la cascata come un salmone 
  • 7. Waterfall Sashimi Si sovrappongono le fasi, una fase successiva inizia prima del completamento della precedente
  • 9. La crisi dei modelli classici I modelli classici sono troppo rigidi Il software si è evoluto, non è solo appannaggio dei militari o delle grandi aziende Le dimensioni dei progetti sono molto variabili Specifiche non immutabili
  • 10. I believe the hard part of building software to be the specification, design, and testing of conceptualconstructr, not the labor of representingit and testing the fidelity of the representation. The hardest single part of building a software systemisdecidingpreciselywhat to build The mythical man month.
  • 11. Staged Delivery Al fine di gestire specifiche in continuo cambiamento alcuni passi vengono scomposti
  • 13. Ecosistema Con l’evolutionary delivery viene introdotto un fattore importante, il cliente o Stakeholder Gli obiettivi si spostano sempre più verso la «soddisfazione del cliente» Nasce l’agile manifesto
  • 14. Agile Manifesto Our highest priority is to satisfy the customerthrough early and continuous deliveryof valuable software. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
  • 15. Frizione nella comunicazione I problemi maggiori nascono dal far comunicare tra loro figure tecniche e non tecniche Realizzeremo tutto in WPFcon supporto servizi WCFin ottica SOA …a ??????????????a
  • 16. Non chiarezza dei requisiti Una raccolta errata dei requisiti è la causa primaria di problemi nel progetto Vorrei un piccolo gestionaleper il mio magazzinoa Nessun problemaa
  • 17. Mancato feedback del cliente Il software viene fatto vedere al cliente solo nelle fasi terminali, quando effettuare cambiamenti è comunque più oneroso in termini di tempo Il software è pronto Vorrei inserire la trazione integraleperché nella mia azienda…
  • 18. Processi agili I processi agili, come SCRUM o Extreme Programming inseriscono lo Stakeholder direttamente nel processo Tramite piccole release incrementali lo Stakeholder è in grado di dare feedback costanti ed «aggiustare» la direzione L’uso di strumenti come Casi d’uso e prototipi di interfaccia permette alle varie figure di gestire le specifiche senza linguaggio tecnico
  • 19. Elicitazione requisiti Tramite prototipi di interfaccia, use case ed altre tecniche, il cliente viene introdotto maggiormente nelle fasi di progetto L’utente web deve poter inserire un ordine ccccccccccc Non vedo l’icona di PayPal
  • 20. The purpose of the prototypeis to makereal the conceptualstructurespecified, so that the client can test it for consistency and usability The mythical man month.
  • 21. Scrum
  • 22. Feedback frequenti Con processi come Scrum, ogni due settimane è possibile far vedere allo stakeholder il «deliverable» Questo è un primo prototipo Mi piace, ma vorrei che fosse Blu
  • 23. Feedback Frequenti Questa è la versione attuale Abbiamo aggiunto XYZ Ha la trazione integrale ed i vetri oscurati?
  • 24. Feedback frequenti Ecco la versione attuale Abbiamo introdotto z, w e k Iocambierei qualcosina, vorrei che….
  • 25. Come procederemo Nel corso della giornata verranno trattati con dettaglio gli argomenti qui esposti Si partirà con un intervista al cliente, per passare poi ad un prototipo di applicativo Sviluppatori e Designer lavoreranno al progetto curando ogniuno la sua parte Infine il software verrà messo in integrazione continua affinche il cliente possa verificare il software durante il corso dello sviluppo.