Agile web development - Forum IISF - 2016
-
Upload
luciano-amodio -
Category
Software
-
view
54 -
download
5
Transcript of Agile web development - Forum IISF - 2016
LUCIANO AMODIO
16 NOVEMBRE 2016#FORUMIISL
AGILE WEB DEVELOPMENT
StrategiaAziendale
Marketing
Artista Visionario
CHI SONOFilosofo
per HobbyConsulente
CloudComputing
DA DOVE VENGO PIETRELCINA
DA DOVE VENGO BARCELONA
DA DOVE VENGO DUBAI
COSA SIGNIFICASVILUPPO AGILE?
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.
IL MANIFESTO PER LO SVILUPPO SOFTWARE AGILE
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
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
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
LE METODOLOGIELEAN
SCRUM XP
LEAN
LEANPensa in grande
Agisci nel piccolo
Fallisci rapidamente
Impara continuamente
LEANEliminare gli sprechi
Amplificare l’apprendimento
Decidere il più tardi possibile
Consegnare il più velocemente possibile
Integrità nella costruzione
Vedere il tutto
SCRUM?
SCRUMempirismo con sprint
EXTREME PROGRAMMING (XP)
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
EXTREME PROGRAMMING (XP)Linee Guida
Comunicazione (gerarchia piatta)Semplicità (KISS)Verifica (Test)Coraggio (Fail early)
EXTREME PROGRAMMING (XP)Fasi Progetto
PianificazioneUser StoriesSmall Release PlanningProject VelocityLoad Factor
ProgettazioneMetaforeLazy ProgrammerSpike solutionsRefactoring
SviluppoFeedbackStandardsUnit Test FirstPair ProgrammingCode Ownership
Collaudo (Automated Tests)
STRUMENTI UPSTREAMProduct Owner / Scrum MasterSmall iterations (2-4 weeks)User Story Based RequirementsKanbanBurndown/up chartsDaily Scrum
USER STORYCome [tipo di utente]
Voglio [ottenere un obiettivo] In modo da [avere un valore]
USER STORYCome utente
Voglio registrarmi alla news letter In modo da rimanere aggiornato
KANBANesplicitare lo stato dei compiti che si muovno verso destra, work in progress limit
KANBAN
BRUNDOWN
STRUMENTI DOWNSTREAMCross functional teamContinuous IntegrationTest driven developmentData driven development
TDD
TIPOLOGIE DI TESTSManualeUnitRegressionFunctionalUser AcceptanceExploratoryA/B TestingMock & stub
COME DIVENTARE AGILI?
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.
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
ANALIZZARE LA SITUAZIONEArchitettura Monolitica vs MicroserviziApi, Rest, Open DataMulti devices (mobile first)Refactoring del codice Legacy
COMINCIARE CON UN PROGETTO PILOTASufficientemente ComplessoDurata contenutaRilevante per gli stakeholdersChiarezza dei ruoli (PO, SM, Team)
IL PILOTABacklog & Sprint PlanningDaily ScrumBurndownSprint DemoRetrospectiveIterate
TOOLS
PROBLEMI AGILIPIANIFICAZIONE
Scarsa pianificazioneTroppa pianificazioneIterazioni troppo cariche di coseStime inefficaciAggiungere storie alle iterazioni in atto
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
PROBLEMI AGILITECNOLOGIE
Mancanza di test automaticiAccumulo di debiti tecniciMancanza di ascolto del feedback degli utenti Mancanza di Demo e Retrospettive
THE END
CONTATTI
facebook.com/luciano.amodio
linkedin.com/in/adamquadmon