Agile web development - Forum IISF - 2016

42
LUCIANO AMODIO 16 NOVEMBRE 2016 #FORUMIISL AGILE WEB DEVELOPMENT

Transcript of Agile web development - Forum IISF - 2016

Page 1: Agile web development - Forum IISF - 2016

 LUCIANO AMODIO

16 NOVEMBRE 2016#FORUMIISL

AGILE WEB DEVELOPMENT

Page 2: Agile web development - Forum IISF - 2016

StrategiaAziendale

Marketing

Artista Visionario

CHI SONOFilosofo

per HobbyConsulente

CloudComputing

Page 3: Agile web development - Forum IISF - 2016

DA DOVE VENGO PIETRELCINA

Page 4: Agile web development - Forum IISF - 2016

DA DOVE VENGO BARCELONA

Page 5: Agile web development - Forum IISF - 2016

DA DOVE VENGO DUBAI

Page 6: Agile web development - Forum IISF - 2016

COSA SIGNIFICASVILUPPO AGILE?

Page 7: Agile web development - Forum IISF - 2016

AGILITÀ1. Capacità di cambiare direzione facilmente.

2. In fisica e nella tecnica: capacità di un sistema di variarefacilmente uno o più dei suoi parametri operativi.

Page 8: Agile web development - Forum IISF - 2016

IL MANIFESTO PER LO SVILUPPO SOFTWARE AGILE

Page 9: Agile web development - Forum IISF - 2016

PRECURSORI AGILI1992 - Crystal Methods: consegne frequenti, miglioramento riflessivo,comunicazioni osmotiche1993 - Refactoring: Bill Opdyke1994 - Dynamic Systems Development Method (DSDM): Consorzio di best practices1995 - Scrum: Jeff Sutherland & Ken Schwaber1997 - Feature Driven Development: Jeff De Luca1999

The pragmatic programmerXP: Kent Beck (User Stories, Release Planning, Continuous integration)Adaptive So�ware Development (ASD)

2002TDD: Kent BeckPlanning PokerLean So�ware Development: Mary and Tom Poppendieck

Page 10: Agile web development - Forum IISF - 2016

I 4 DOGMI DEL MANIFESTO AGILE1. Gli individui e le interazioni più che i processi e gli strumenti2. Il so�ware funzionante più che la documentazione esaustiva3. La collaborazione col cliente più che la negoziazione dei contratti4. Rispondere al cambiamento più che seguire un piano

Page 11: Agile web development - Forum IISF - 2016

I 12 PRINCIPI AGILE1. Soddisfare il cliente con continue consegne di so�ware di valore2. Accogliere il cambio di requisiti per il vantaggio del progetto3. Consegnare so�ware funzionante frequentemente4. Affiancare Business e Sviluppo per la durata dei lavori5. Costruire progetti attorno a persone motivate, offrendo supporto e fiducia6. Conversare faccia a faccia per ottimizzare la comunicazione nel team7. Il so�ware funzionante e’ la prima misura del progresso8. Sviluppo sostenibile: Committente, Sviluppatori, Utenti9. L’attenzione costante alle eccellenze tecniche e ad un buon design aumentano l’agilita’

10. La semplicità: l’arte del non lavorare11. La migliore architettura, design e requisiti emergono da team auto organizzati12. Riflessioni regolari per correggere il tiro

Page 12: Agile web development - Forum IISF - 2016

LE METODOLOGIELEAN

SCRUM XP

Page 13: Agile web development - Forum IISF - 2016

LEAN

Page 14: Agile web development - Forum IISF - 2016

LEANPensa in grande

Agisci nel piccolo

Fallisci rapidamente

Impara continuamente

Page 15: Agile web development - Forum IISF - 2016

LEANEliminare gli sprechi

Amplificare l’apprendimento

Decidere il più tardi possibile

Consegnare il più velocemente possibile

Integrità nella costruzione

Vedere il tutto

Page 16: Agile web development - Forum IISF - 2016

SCRUM?

Page 17: Agile web development - Forum IISF - 2016

SCRUMempirismo con sprint

Page 18: Agile web development - Forum IISF - 2016

EXTREME PROGRAMMING (XP)

Page 19: Agile web development - Forum IISF - 2016

EXTREME PROGRAMMING (XP)I 12 PRINCIPI

Feedback1. Pair Programming2. Planning Game3. Test Driven4. Whole TeamProcesso continuo5. Continuous Integration6. Refactoring7. Small ReleasesConoscenza condivisa8. Coding Standards9. Collective Ownership

10. Simple design11. System metaphor

Benessere dei Programmatori12. Sustainable Pace

Page 20: Agile web development - Forum IISF - 2016

EXTREME PROGRAMMING (XP)Linee Guida

Comunicazione (gerarchia piatta)Semplicità (KISS)Verifica (Test)Coraggio (Fail early)

Page 21: Agile web development - Forum IISF - 2016

EXTREME PROGRAMMING (XP)Fasi Progetto

PianificazioneUser StoriesSmall Release PlanningProject VelocityLoad Factor

ProgettazioneMetaforeLazy ProgrammerSpike solutionsRefactoring

SviluppoFeedbackStandardsUnit Test FirstPair ProgrammingCode Ownership

Collaudo (Automated Tests)

Page 22: Agile web development - Forum IISF - 2016

STRUMENTI UPSTREAMProduct Owner / Scrum MasterSmall iterations (2-4 weeks)User Story Based RequirementsKanbanBurndown/up chartsDaily Scrum

Page 23: Agile web development - Forum IISF - 2016

USER STORYCome [tipo di utente]

Voglio [ottenere un obiettivo] In modo da [avere un valore]

Page 24: Agile web development - Forum IISF - 2016

USER STORYCome utente

Voglio registrarmi alla news letter In modo da rimanere aggiornato

Page 25: Agile web development - Forum IISF - 2016

KANBANesplicitare lo stato dei compiti che si muovno verso destra, work in progress limit

Page 26: Agile web development - Forum IISF - 2016

KANBAN

Page 27: Agile web development - Forum IISF - 2016

BRUNDOWN

Page 28: Agile web development - Forum IISF - 2016

STRUMENTI DOWNSTREAMCross functional teamContinuous IntegrationTest driven developmentData driven development

Page 29: Agile web development - Forum IISF - 2016

TDD

Page 30: Agile web development - Forum IISF - 2016

TIPOLOGIE DI TESTSManualeUnitRegressionFunctionalUser AcceptanceExploratoryA/B TestingMock & stub

Page 31: Agile web development - Forum IISF - 2016

COME DIVENTARE AGILI?

Page 32: Agile web development - Forum IISF - 2016

CREARE CULTURA1) Gli individui più dei processi.

Cosa pensa il vostro Team dell'Agile?

2) So�ware funzionante più della documentazione. Test, test e ancora test.

3) La collaborazione col cliente Il Management è il primo cliente: Delega e Controllo.

Page 33: Agile web development - Forum IISF - 2016

CREARE IL TEAM (HR AGILE)Reclutamento e selezione: Social branding e communityPerformance: dal basso, valutazione mensileTraining: personalizzato sul campoCarriera: reticolare e a tempo breve

IL CANDIDATO AGILE (NON FRAGILE)

Risolve i problemi invece di discuterliEsce dall'isolamento lavorando in gruppoÈ creativo e appassionato non una macchina esecutriceAscolta utenti e clienti e non il proprio ego

Page 34: Agile web development - Forum IISF - 2016

ANALIZZARE LA SITUAZIONEArchitettura Monolitica vs MicroserviziApi, Rest, Open DataMulti devices (mobile first)Refactoring del codice Legacy

Page 35: Agile web development - Forum IISF - 2016

COMINCIARE CON UN PROGETTO PILOTASufficientemente ComplessoDurata contenutaRilevante per gli stakeholdersChiarezza dei ruoli (PO, SM, Team)

Page 36: Agile web development - Forum IISF - 2016

IL PILOTABacklog & Sprint PlanningDaily ScrumBurndownSprint DemoRetrospectiveIterate

Page 37: Agile web development - Forum IISF - 2016

TOOLS

Page 38: Agile web development - Forum IISF - 2016

PROBLEMI AGILIPIANIFICAZIONE

Scarsa pianificazioneTroppa pianificazioneIterazioni troppo cariche di coseStime inefficaciAggiungere storie alle iterazioni in atto

Page 39: Agile web development - Forum IISF - 2016

PROBLEMI AGILIRUOLI E TEAM

Resistenza al cambio di culturaProduct Owner indifferente o assenteScrum master sviluppatoreProblem solving nei daily scrumTeam non allenatoTeam non Cross FunctionalMancanza di fiducia/libertà verso il teamMancanza di focus nel team

Page 40: Agile web development - Forum IISF - 2016

PROBLEMI AGILITECNOLOGIE

Mancanza di test automaticiAccumulo di debiti tecniciMancanza di ascolto del feedback degli utenti Mancanza di Demo e Retrospettive

Page 41: Agile web development - Forum IISF - 2016

THE END

Page 42: Agile web development - Forum IISF - 2016

CONTATTI

[email protected]

facebook.com/luciano.amodio

linkedin.com/in/adamquadmon