Essere agli vuol dire adattarsi velocemente ai cambiamenti che il mondo esterno ci impone.
Scrum ti consente di cambiare velocemente le priorità, modificare velocemente i tuoi requisiti di business e migliorare i tuoi processi, ma il sw che stai scrivendo è altrettanto “adattivo” e in grado di accogliere i cambiamenti?
Se così non fosse presto la tua “agilità” verrà ostacolata dalla “flaccidità” del tuo codice e dovrai porvi rimedio.
Vedremo insieme come accorgersene il prima possibile e quali misure adottare.
Tecniche Innovative di sviluppo Agile: Metodologia DevOps per un migliore cic...Davide Gallitelli
Tesi di laurea triennale in Ingegneria del software al Politecnico di Bari sulla metodologia Devops per migliori cicli di sviluppo e rilascio software. Tesi svolta da Davide Gallitelli (uploader), con relatrice la prof.ssa Marina Mongiello e correlatore il dott. ing. Francesco Nocera.
Wpc2019 - Distruggere DevOps, la storia di un vero teamAlessandro Alpi
Consigli per evitare la distruzione della migrazione culturale verso DevOps. Vedremo un team con "attori" importanti provare a migrare verso buone pratiche e capiremo quanto è difficile arrivare, ma semplice distruggere tutto.
Delphi & Dintorni Webinar - Padroneggiare i principi SOLID con DelphiMarco Breveglieri
Molti sviluppatori continuano a porsi ancora oggi domande esistenziali, ad esempio "Come posso scrivere codice mantenibile?" oppure "Come posso rendere il codice testabile?". Purtroppo non ci sono keyword, né talismani che possano donare la qualità di essere "buono" al nostro codice senza sforzo, tuttavia è sufficiente rispettare pochi e sani principi di progettazione, detti principi SOLID. In questo webinar vedremo come soddisfare tali principi e scrivere "buon codice" con Delphi, rendendolo stabile, mantenibile, estensibile, comprensibile e scalabile, aprendo nel contempo la porta ad altri scenari visti talvolta con diffidenza, come il Testing, che diverranno così semplici e addirittura automatici.
Tecniche Innovative di sviluppo Agile: Metodologia DevOps per un migliore cic...Davide Gallitelli
Tesi di laurea triennale in Ingegneria del software al Politecnico di Bari sulla metodologia Devops per migliori cicli di sviluppo e rilascio software. Tesi svolta da Davide Gallitelli (uploader), con relatrice la prof.ssa Marina Mongiello e correlatore il dott. ing. Francesco Nocera.
Wpc2019 - Distruggere DevOps, la storia di un vero teamAlessandro Alpi
Consigli per evitare la distruzione della migrazione culturale verso DevOps. Vedremo un team con "attori" importanti provare a migrare verso buone pratiche e capiremo quanto è difficile arrivare, ma semplice distruggere tutto.
Delphi & Dintorni Webinar - Padroneggiare i principi SOLID con DelphiMarco Breveglieri
Molti sviluppatori continuano a porsi ancora oggi domande esistenziali, ad esempio "Come posso scrivere codice mantenibile?" oppure "Come posso rendere il codice testabile?". Purtroppo non ci sono keyword, né talismani che possano donare la qualità di essere "buono" al nostro codice senza sforzo, tuttavia è sufficiente rispettare pochi e sani principi di progettazione, detti principi SOLID. In questo webinar vedremo come soddisfare tali principi e scrivere "buon codice" con Delphi, rendendolo stabile, mantenibile, estensibile, comprensibile e scalabile, aprendo nel contempo la porta ad altri scenari visti talvolta con diffidenza, come il Testing, che diverranno così semplici e addirittura automatici.
Gli anti-pattern sono errori comuni commessi nella programmazione o progettazione del software, spesso visti in chiave ironica. Come i più noti design pattern, hanno nomi evocativi che ben descrivono con pochi termini il problema.
Come abbiamo introdotto la metodologia agile, attraverso SCRUM, in una piccola agenzia web multi progetto seguendo un approccio lean per gestire sia i team che i progetti.
Grazie a Team Foundation Build è possibile adottare pratiche di integrazione continua nel proprio progetto. In questa presentazione viene introdotta la struttura di tfs build assieme alle tecniche base per effettuare una customizzazione della build.
Abilitare le organizzazioni e le persone ad adottare con successo il CloudAmazon Web Services
Una migrazione al cloud si compone di tre pilastri: persone, processi e tecnologia. Troppo spesso, le organizzazioni si concentrano sul miglioramento dei processi e sull’implementazione tecnologica, ma ignorano l’aspetto umano. Molti leader ammettono che i primi due sono semplici da modificare, mentre influenzare la cultura è più complicato. Questa sessione affronta i metodi migliori per aiutare ai clienti come affrontare questa sfida. Scopri i ruoli e le responsabilità pertinenti alla fase di transizione e di post-adozione del cloud. Valuta i gap della tua organizzazione tra le capacità e le competenze richieste. Crea modelli di addestramento efficienti che portano ad un’efficace cultura DevOps.
Speaker: Danilo Poccia, Senior Evangelist, Serverless, AWS
inspearit offre servizi per l’ottimizzazione e la governance del parco It (qualità del software, miglioramento
di processo, metodologie Agile e Lean), attraverso un approccio basato sull’evidenza dei dati e dei risultati. Obiettivo: razionalizzare l’operatività e permettere alle risorse interne di pensare al futuro dell’azienda.
DDAY2014 - Agile Drupal: un caso reale di Drupal utilizzato nel mondo AgileDrupalDay
Speaker: Marco Giacomassi e Paolo Pustorini
Area: Business, Development
Twinbit e Agavee, insieme, hanno avuto la fortuna di lavorare su un progetto di dimensioni intimidenti, per un cliente Enterprise che si è rivelato inaspettatamente competente nello SCRUM.
Drupal Agile: DRUPAL ED IL MERCATO ENTERPRISETwinbit
Twinbit e Agavee, insieme, hanno avuto la fortuna di lavorare su un progetto di dimensioni intimidenti, per un cliente Enterprise che si è rivelato inaspettatamente competente nello SCRUM. Ormai è impossibile lavorare nel web e non incappare nella voglia di lavorare in modo agile, con metodologie adeguate e moderne. Purtroppo non esiste metodo che regga l'impatto con un cliente non collaborativo o preparato. Senza più scuse, abbiamo dovuto affrontare il processo con Drupal 7. Ecco com'è andata.
Autore: Marco Giacomassi
Rich client application: MVC4 + MVVM = Knockout.jsGiorgio Di Nardo
La sempre maggiore diffusione di device diversificati (PC, Notebook, Tablet, Smartphone, ecc.) su piattaforme diverse, rilancia l'utilizzo delle Web Application come strumento per raggiungere il maggior numero di potenziali clienti con il minimo sforzo. Le capacità avanzate dei nuovi device e le ultime tecnologie ci consentono però di evolvere il concetto classico di applicazione Web in una declinazione più veloce, più responsiva, più accattivante: vediamo come.
Gli anti-pattern sono errori comuni commessi nella programmazione o progettazione del software, spesso visti in chiave ironica. Come i più noti design pattern, hanno nomi evocativi che ben descrivono con pochi termini il problema.
Come abbiamo introdotto la metodologia agile, attraverso SCRUM, in una piccola agenzia web multi progetto seguendo un approccio lean per gestire sia i team che i progetti.
Grazie a Team Foundation Build è possibile adottare pratiche di integrazione continua nel proprio progetto. In questa presentazione viene introdotta la struttura di tfs build assieme alle tecniche base per effettuare una customizzazione della build.
Abilitare le organizzazioni e le persone ad adottare con successo il CloudAmazon Web Services
Una migrazione al cloud si compone di tre pilastri: persone, processi e tecnologia. Troppo spesso, le organizzazioni si concentrano sul miglioramento dei processi e sull’implementazione tecnologica, ma ignorano l’aspetto umano. Molti leader ammettono che i primi due sono semplici da modificare, mentre influenzare la cultura è più complicato. Questa sessione affronta i metodi migliori per aiutare ai clienti come affrontare questa sfida. Scopri i ruoli e le responsabilità pertinenti alla fase di transizione e di post-adozione del cloud. Valuta i gap della tua organizzazione tra le capacità e le competenze richieste. Crea modelli di addestramento efficienti che portano ad un’efficace cultura DevOps.
Speaker: Danilo Poccia, Senior Evangelist, Serverless, AWS
inspearit offre servizi per l’ottimizzazione e la governance del parco It (qualità del software, miglioramento
di processo, metodologie Agile e Lean), attraverso un approccio basato sull’evidenza dei dati e dei risultati. Obiettivo: razionalizzare l’operatività e permettere alle risorse interne di pensare al futuro dell’azienda.
DDAY2014 - Agile Drupal: un caso reale di Drupal utilizzato nel mondo AgileDrupalDay
Speaker: Marco Giacomassi e Paolo Pustorini
Area: Business, Development
Twinbit e Agavee, insieme, hanno avuto la fortuna di lavorare su un progetto di dimensioni intimidenti, per un cliente Enterprise che si è rivelato inaspettatamente competente nello SCRUM.
Drupal Agile: DRUPAL ED IL MERCATO ENTERPRISETwinbit
Twinbit e Agavee, insieme, hanno avuto la fortuna di lavorare su un progetto di dimensioni intimidenti, per un cliente Enterprise che si è rivelato inaspettatamente competente nello SCRUM. Ormai è impossibile lavorare nel web e non incappare nella voglia di lavorare in modo agile, con metodologie adeguate e moderne. Purtroppo non esiste metodo che regga l'impatto con un cliente non collaborativo o preparato. Senza più scuse, abbiamo dovuto affrontare il processo con Drupal 7. Ecco com'è andata.
Autore: Marco Giacomassi
Rich client application: MVC4 + MVVM = Knockout.jsGiorgio Di Nardo
La sempre maggiore diffusione di device diversificati (PC, Notebook, Tablet, Smartphone, ecc.) su piattaforme diverse, rilancia l'utilizzo delle Web Application come strumento per raggiungere il maggior numero di potenziali clienti con il minimo sforzo. Le capacità avanzate dei nuovi device e le ultime tecnologie ci consentono però di evolvere il concetto classico di applicazione Web in una declinazione più veloce, più responsiva, più accattivante: vediamo come.
Sostituire le User stories con le Job stories : Come, Quando e PerchèStefano Muro
Queste sono le slide del mio intervento all'Italian Agile Day 2019.
Si valuta l'opportunità di utilizzare le Job Stories al posto delle User Stories nella realizzazione di prodotti innovativi.
Usare la Delegation Board per favorire il Change ManagementStefano Muro
In questa breve presentazione presentata all'Agile Day 2018, descrivo come mixare la "Delegation Board" di "Management 3.0 con l'Improvement KATA, così da facilitare il cambiamento verso la decentralizzazione delle responsabilità.
Team Empowerment facile a dirsi, ma nella realtà ....Stefano Muro
Team Empowerment, facile a dirsi un po' meno nella pratica. Vi racconto cosa vuol dire rendere un team empowered, i problemi che si incontrano e qualche possibile soluzione. Queste sono le slide presentate al #MiniIADBA Mini Italian Agile Day di Bari
La motivazione nelle metodologie agiliStefano Muro
Presentato all'agile business day 2017, parliamo di motivazione, di come è interpretata nelle metodologie agili e come supportarla per creare un ambiente di lavoro sereno, creativo e produttivo.
4. PerchèScrum?
E’ semplice
Consente di rilasciare valore per l’utente
molto presto
Implementa cicli di feedback sul prodotto
che consentono di rilasciare valore con
continuità
Implementa cicli di feedback sul processo
consentendo di aumentare la produttività
del team tramite collaborazione e
miglioramento continuo.
5. Scrum è
sufficiente?
5
Realizzare qualcosa di utile per
l’utente
Realizzare SW presto e con continuità
Realizzare SW funzionante
Realizzare SW che supporti i
cambiamenti
6. Scrum è
sufficiente?
6
Dove spendete più tempo?
Correggendo bug Aggiungendo
funzionalità
Che dite quando vi
chiedono una modifica?
Acciderbolina! Si
romperà tutto!
«Tuttapposto»,
devo solo
cambiare un
po’ il design
Quanto è complicata la
vostra codebase attuale?
Non ne ho la minima
idea
E’ ampia ma facile
da capire e
cambiarla non è un
problema
11. Spenderepoconon
vuoldirespendere
poconellosviluppo
….They piled story on story as
quickly as possible with the least
possible investment in design.
Without daily attention to design,
the cost of changes does
skyrocket. The result is poorly
designed, brittle, hard-to-change
systems.”
― Kent Beck, Extreme Programming
Explained: Embrace Change
12. Scrum non è
sufficiente
Se il nostro team è Agileanche
il nostro codice lo deve essere!
Talvolta invece scriviamo codice
13. Come èfatto un codice “Flaccido”
Ha molti difetti
(anche noti) rilasciati
in produzione
1
Non è manutenibile: E’
difficile individuare
l’origine di un difetto
perchè il codice non è
leggibile o non se ne
capisce l’intent.Spesso
risolvere un difetto vuol
dire crearne un altro.
2
Non è estensibile: E’
difficile estendere le
funzionalità di
un’applicazione se non
è modulare, flessibile
e utilizza design
pattern riconoscilbili.
3
15. Sintomi tipici di
un codice
“flaccido”
Rigidità
Fragilità
Immobilità
Viscosità
Inutile complessità
Inutili ripetizioni
Opacità
Robert C. Martin
«Design principles and Design Patterns»
17. Legge della
complessità
crescente di
Lehman
La struttura di un sistema che
evolve si deteriora man mano
che cambia, e devono essere
spese risorse aggiuntive per
preservarne la funzione e
semplificarne la struttura
18. CostodelcambiamentodelSWtradizionale
Equazione di Lehman e Belady:
M= p+ K c-d
M= sforzo di manutenzione, p= sforzo di sviluppo totale, c = complessità
causata dalla mancanza di strutturazione (leggi: debito tecnico), d
= grado di familiarità del team di manutenzione col software. K è una
costante da individuare confrontando il modello con i dati reali,
21. Come?
Adottando pratiche che consentono
di:
Realizzare e mantenere nel
tempo un buon Design
Individuare i bug molto presto nel
ciclo di vita del SW