SlideShare uma empresa Scribd logo
1 de 118
Baixar para ler offline
Breaking the ice with agile
cinque strade per rompere il ghiaccio
   e introdurre i metodi agili in una
               azienda
                Pietro Di Bello
          pietro.dibello@xpeppers.com
               www.xpeppers.com



             Agile Day 2012
          Milano, 24 Novembre
★ Uso e diffondo i metodi
                              agili (dal 2002)
                              ★ Mi piace programmare in
                              Ruby e Java (ho iniziato con
                              Java nel 2000 e da tre anni
                              sono passato a Ruby)
                              ★ Sono sempre alla ricerca di
Pietro Di Bello               modi migliori di fare le cose
pietro.dibello@xpeppers.com
@pierodibello
github.com/xpepper
Non è facile...


Introdurre i metodi agili in una azienda
       è dannatamente difficile
Situazioni che abbiamo
        incontrato




Multitasking
Situazioni che abbiamo
        incontrato




Multitasking



           Stress
Situazioni che abbiamo
      incontrato


Settorializzazione delle
  conoscenze e delle
     competenze
Situazioni che abbiamo
      incontrato


       Overtime
Situazioni che abbiamo
      incontrato


             Overtime

     e s s
S t r
Situazioni che abbiamo
        incontrato


   Processo di sviluppo
"opaco" e poco predicibile
Situazioni che abbiamo
          incontrato


   Processo di sviluppo
"opaco" e poco predicibile

 tr e ss
S
Situazioni che abbiamo
          incontrato


   Processo di sviluppo ti
"opaco" e pocoger Str es sa
                predicibile
             Ma na
 tr e ss
S
Situazioni che abbiamo
      incontrato


              Frequenti
            interruzioni al
                lavoro
Situazioni che abbiamo
   Stress
      incontrato


              Frequenti
            interruzioni al
                lavoro
Situazioni che abbiamo
      incontrato

         Fretta
Situazioni che abbiamo
      incontrato

         Fretta


          r e ss
       S t
Situazioni che abbiamo
      incontrato

Scarsa attenzione alle
  buone pratiche di
  programmazione
Situazioni che abbiamo
      incontrato




       Deploy “a mano”
Situazioni che abbiamo
      incontrato




Stress
         Deploy “a mano”
Situazioni che abbiamo
          incontrato
Hotfix direttamente in
produzione
Situazioni che abbiamo
          incontrato
Hotfix direttamente in
produzione


            Str
               ess
Situazioni che abbiamo
      incontrato
Mancanza di sistemi di
   versionamento
Situazioni che abbiamo
      incontrato
Mancanza di sistemi di
   versionamento


                 x no nè git
         D rop bo
Situazioni che abbiamo
      incontrato




      http://www.slideshare.net/jchyip/lean-software-development-on-radiators-and-refrigerators-presentation




Nascondere i problemi
Strategie


Quali strategie si adottano
per introdurre i metodi agili
      in una azienda?
Quali strategie si adottano per
introdurre metodi agili in un team?

Prima i valori e i principi
Quali strategie si adottano per
 introdurre metodi agili in un team?


Solo pratiche organizzative
Le pratiche rompighiaccio
Per prendere
coscienza delle
problematiche
che possono
compromettere
il successo
Le pratiche rompighiaccio

La presa di coscienza di queste
problematiche e dinamiche è il primo
passo per comprendere e abbracciare
valori e principi dei metodi agili.

•   coraggio   XP   •   coraggio Scrum
•   feedback        •   commitment
•   semplicità      •   openness
•   comunicazione   •   focus
•   rispetto        •   rispetto
Le pratiche rompighiaccio

...con un costo di
introduzione
relativamente basso
Le pratiche rompighiaccio


★ lavagna
★ standup meeting
★ retrospettiva
★ build automatica
★ test di accettazione automatici
Perché cinque?

Per poter equilibrare l'introduzione di
pratiche tecniche con la comprensione
dei valori e dei principi
Rompighiaccio #1:
          Lavagna


• perché è rompighiaccio?
• quali valori esercita?
• quali altre pratiche attiva?
• a cosa stare attenti
• resistenze
Rompighiaccio #1:
         Lavagna

Se vuoi capire come lavora il team,
guarda la sua lavagna
Rompighiaccio #1:
         Lavagna

Se vuoi capire come lavora il team,
guarda la sua lavagna
Se vuoi capire come sta andando il
progetto, guarda la lavagna
Rompighiaccio #1:
         Lavagna

Se vuoi capire come lavora il team,
guarda la sua lavagna
Se vuoi capire come sta andando il
progetto, guarda la lavagna
Se vuoi capire quali problemi ha il
processo di sviluppo, guarda la lavagna
Rompighiaccio #1:
   Lavagna
Rompighiaccio #1:
   Lavagna
          Lavagna
          dell’iterazione
Rompighiaccio #1:
        Lavagna
Lavagna backlog
Rompighiaccio #1:
   Lavagna
Rompighiaccio #1:
Lavagna (elettronica)
#1 Lavagna: perché è
        rompighiaccio?


Consente di visualizzare in modo non
ambiguo il processo produttivo del
team...
#1 Lavagna: perché è
        rompighiaccio?


...e ne evidenzia tutti i problemi
#1 Lavagna: perché è
           rompighiaccio?


...e ne evidenzia tutti i problemi

troppe storie in progress
#1 Lavagna: perché è
           rompighiaccio?


...e ne evidenzia tutti i problemi

troppe storie in progress

                            storie che tornano indietro a causa
                            di un bug
#1 Lavagna: perché è
            rompighiaccio?


 ...e ne evidenzia tutti i problemi

troppe storie in progress

                            storie che tornano indietro a causa
                            di un bug
storie bloccate in QA
#1 Lavagna: perché è
            rompighiaccio?


 ...e ne evidenzia tutti i problemi

troppe storie in progress

                            storie che tornano indietro a causa
                            di un bug
storie bloccate in QA
                        storie bloccate in progress
#1 Lavagna: perché è
        rompighiaccio?


E’ un ottimo punto di partenza per far
riflettere il team
#1 Lavagna: perché è
         rompighiaccio?


E’ visibile a tutti
#1 Lavagna: perché è
        rompighiaccio?


Consente di sincronizzare tutti su un
workflow condiviso
#1 Lavagna: quali valori
          esercita?


• Comunicazione • Openness
• Feedback      • Commitment
                • Focus
#1 Lavagna: quali altre
           pratiche attiva?

• user stories           • whole team
• informative            • incremental design
    workspace            • simple design
•   iteration planning
•   standup meeting
#1 Lavagna: precauzioni
        d’uso e resistenze

• tenerla costantemente aggiornata
• introdurre al più presto i principi della
    pianificazione agile
•   guardarla
•   e se il team è distribuito o il cliente è
    spesso via?
•   dove l’appendiamo?
Rompighiaccio #2:
        Standup Meeting


• perché è rompighiaccio?
• quali valori esercita?
• quali altre pratiche attiva?
• a cosa stare attenti
• resistenze
#2 Standup Meeting: cos’è?
#2 Standup Meeting: cos’è?
#2 Standup Meeting:
     perché è rompighiaccio?

• Maggiore comunicazione tra gli
    elementi del team
•   Commitment reciproco (“Oggi farò
    questo…”)
•   Rafforzamento del senso di team
    • “ti aiuto io su questo problema di cui
      parli…”
    • imparare a chiedere e offrire aiuto
#2 Standup Meeting:
     perché è rompighiaccio?

• Maggiore reattività agli ostacoli che
    emergono
•   C’è subito evidenza se la
    pianificazione è corretta
     •  ci sono persone che non sanno
        cosa faranno?
     •  ci sono persone che hanno troppe
        cose in lavorazione?
#2 Standup Meeting: quali
      valori esercita?


• Comunicazione • Openness
• Feedback      • Commitment
• Rispetto      • Focus
• Coraggio
#2 Standup Meeting: quali
    altre pratiche attiva?


• pair programming
• whole team
• collective-code ownership
#2 Standup Meeting:
    precauzioni d’uso e resistenze



• si riporta sempre al team-leader
• i manager o stakeholders “dirottano”
    lo standup meeting
•   si inizia sempre in ritardo o in un
    orario diverso
#2 Standup Meeting:
    precauzioni d’uso e resistenze


• va sempre per le lunghe, si scende in
    dettagli tecnici fuori luogo
•   le persone sono evasive
•   le persone non ricordano quello che
    hanno fatto ieri
Rompighiaccio #3:
         Retrospettiva


• perché è rompighiaccio?
• quali valori esercita?
• quali altre pratiche attiva?
• a cosa stare attenti
• resistenze
#3 Retrospettiva: cos’è?
#3 Retrospettiva: cos’è?
#3 Retrospettiva: cos’è?
#3 Retrospettiva: cos’è?
#3 Retrospettiva: cos’è?
#3 Retrospettiva: cos’è?
#3 Retrospettiva: cos’è?
#3 Retrospettiva: perché è
       rompighiaccio?


• è il primo tassello del process
  improvement
• il team ha la possibilità di riflettere sui
  propri errori e porre azioni correttive
• il team ha al suo interno tutte le
  potenzialità per lavorare meglio
#3 Retrospettiva: quali
      valori esercita?


• Comunicazione • Openness
• Rispetto      • Commitment
                • Coraggio
#3 Retrospettiva: quali
    altre pratiche attiva?

• whole team
• continuous improvement
#3 Retrospettiva: precauzioni
       d’uso e resistenze
• va preparata per tempo
• facilitatore esterno
• periodica
• time-boxed
• spiegare bene il suo scopo
#3 Retrospettiva: precauzioni
         d’uso e resistenze


• alcuni manager potrebbero lamentarsi
    dell'eccessivo costo di queste attività
•   alcuni membri del team potrebbero
    non partecipare volentieri
•   decidere prima se coinvolgere o meno
    esterni al team o manager
#3 Retrospettiva: precauzioni
           d’uso e resistenze
• effetto "vogliamoci bene"
• pubblicare in uno spazio
    visibile a tutti la lista delle
    azioni correttive scelte
•   moderare la discussione
    in modo che non sfoci
    nel "finger pointing"
Rompighiaccio #4:
        Build automatica


• perché è rompighiaccio?
• quali valori esercita?
• quali altre pratiche attiva?
• a cosa stare attenti
• resistenze
#4 Build automatica



“Nothing forces us to understand a
process better than trying to automate
it.”
       Growing Object-Oriented Software, Guided by Tests (S.Freeman, N.Pryce)
#4 Build automatica:
  perché è rompighiaccio?

Si collabora anche con parti "nuove"
del team
#4 Build automatica:
  perché è rompighiaccio?

Si affrontano prima problematiche
che emergerebbero solo con la
messa in produzione
#4 Build automatica:
   perché è rompighiaccio?

Consente al team di progettare fin
dall'inizio il sistema e i suoi rilasci in
modo incrementale
#4 Build automatica:
  perché è rompighiaccio?

Il team impara cosa significa "finito"

e ha la possibilità di verificare
realmente il progresso fatto
#4 Build automatica:
  perché è rompighiaccio?

Consente di rilasciare con maggiore
frequenza le features sviluppate
#4 Build automatica:
  perché è rompighiaccio?

Migliora la fiducia nel team da parte
del cliente, che vede che il team è in
grado di rilasciare frequentemente
senza panico
#4 Build automatica:
   quali valori esercita?


• Feedback
• Coraggio
#4 Build automatica: quali
   altre pratiche attiva?

• test automation
• test-driven development
• refactoring
• rilasci incrementali
• continuous deployment
• devops e configuration management
#4 Build automatica:
       come si applica?
E’ necessario analizzare con cura la
situazione iniziale
#4 Build automatica:
           come si applica?
 E’ necessario analizzare con cura la
 situazione iniziale
il codice è sotto controllo
versione?
#4 Build automatica:
           come si applica?
 E’ necessario analizzare con cura la
 situazione iniziale
il codice è sotto controllo   esistono ambienti di test/
versione?                     collaudo?
#4 Build automatica:
           come si applica?
 E’ necessario analizzare con cura la
 situazione iniziale
il codice è sotto controllo   esistono ambienti di test/
versione?                     collaudo?
quanto è facile creare un
nuovo ambiente di test?
#4 Build automatica:
             come si applica?
   E’ necessario analizzare con cura la
   situazione iniziale
 il codice è sotto controllo   esistono ambienti di test/
 versione?                     collaudo?
 quanto è facile creare un
 nuovo ambiente di test?

come vengono effettuati i
rilasci?
#4 Build automatica:
             come si applica?
   E’ necessario analizzare con cura la
   situazione iniziale
 il codice è sotto controllo   esistono ambienti di test/
 versione?                     collaudo?
 quanto è facile creare un      quante dipendenze da
 nuovo ambiente di test?        sistemi terzi ci sono?

come vengono effettuati i
rilasci?
#4 Build automatica:
             come si applica?
   E’ necessario analizzare con cura la
   situazione iniziale
 il codice è sotto controllo   esistono ambienti di test/
 versione?                     collaudo?
 quanto è facile creare un      quante dipendenze da
 nuovo ambiente di test?        sistemi terzi ci sono?

come vengono effettuati i       esistono sistemi di
rilasci?                       monitoring della produzione?
#4 Build automatica:
             come si applica?
   E’ necessario analizzare con cura la
   situazione iniziale
 il codice è sotto controllo     esistono ambienti di test/
 versione?                       collaudo?
 quanto è facile creare un        quante dipendenze da
    conambiente di test?
 nuovo  chi bisogna interagire
                                  sistemi terzi ci sono?
   per avere accesso agli
come vengono effettuati i
   ambienti di test?             esistono sistemi di
rilasci?                         monitoring della produzione?
#4 Build automatica:
             come si applica?
   E’ necessario analizzare con cura la
   situazione iniziale
 il codice è sotto controllo     esistono ambienti di test/
 versione?                       collaudo?
                                  come gestisco le dipendenze
 quanto è facile creare un        da sistemi esterni negli
                                  quante dipendenze da
    conambiente di test?
 nuovo  chi bisogna interagire
                                  ambienti di test?
                                  sistemi terzi ci sono?
   per avere accesso agli
come vengono effettuati i
   ambienti di test?             esistono sistemi di
rilasci?                         monitoring della produzione?
#4 Build automatica:
         come si applica?
A piccoli passi si deve pianificare una
serie di interventi di automazione

 ad es partire da uno script che automatizza tutti i
 processi manuali effettuati per mettere in
 produzione una nuova versione
#4 Build automatica: a
        cosa stare attenti?

• stabilire una collaborazione positiva
    con la parte operational / sistemistica
    dell'azienda
•   procedere a piccoli passi
Rompighiaccio #5:
 Test di accettazione automatici


• perché è una pratica rompighiaccio?
• quali valori esercita?
• quali altre pratiche attiva?
• a cosa stare attenti
• resistenze
#5 Test di accettazione automatici:
    perché è una pratica rompighiaccio?


• I test di accettazione mettono in
    comunicazione stretta analisti, cliente
    e sviluppatori
•   Consentono lo switch di mentalità da
    "code & fix" a "rilascio di feature finita"
•   Consentono a tutti di chiarire qual'è lo
    scope della feature
#5 Test di accettazione automatici:
 perché è una pratica rompighiaccio?


• Trasmettono fiducia al cliente
• Sono propedeutici per l'intero tema
 del testing e del design test-driven
#5 Test di accettazione
 automatici: come si può applicare?


Quando si pianifica una nuova
feature, parte dell'analisi consiste nel
descrivere quali sono i criteri di
accettazione della feature
#5 Test di accettazione
automatici: come si può applicare?


Si può iniziare anche solo a
raccogliere dei test di accettazione
manuali durante il planning della
feature
#5 Test di accettazione
automatici: come si può applicare?


Si può iniziare anche solo a
raccogliere dei test di accettazione
manuali durante il planning della
feature
poi si passa a proporre la loro
automazione
#5 Test di accettazione
 automatici: come si può applicare?


Si può iniziare anche solo a
raccogliere dei test di accettazione
manuali durante il planning della
feature
poi si passa a proporre la loro
automazione
e si mettono i test nella build
automatica
#5 Test di accettazione automatici:
        quali valori esercita?



• Feedback
• Comunicazione
#5 Test di accettazione automatici:
     quali altre pratiche attiva?



• Testing automatico
• Test-Driven Development
• Continuous integration
• Refactoring
#5 Test di accettazione automatici:
           a cosa stare attenti?



• Va bene partire da test manuali, ma
    non fermarsi a quelli
•   Fare in modo che i test automatici
    rimangano verdi
•   Non devono mentire
•   Devono essere veramente automatici
#5 Test di accettazione automatici:
              resistenze



• Alcuni test automatici saranno difficili
 da scrivere
 • non scoraggiatevi
Effetto cascata :^)

       A cascata queste pratiche
       se ne portano dietro altre
       più difficili da adottare fin
       da subito...
Effetto cascata

...ma più facili da introdurre quando le persone
prendono coscienza dei problemi che gli
impediscono di lavorare in modo efficace e
fanno propri i principi dei metodi agili

★ Pair Programming          ★ Daily Journal
★ Test-Driven Development   ★ Collective Code Ownership
★ Refactoring               ★ ...
★ Design Incrementale
★ Continuous Integration    a piccoli passi, applicando un
★ Tecnica del Pomodoro      approccio iterativo e incrementale :^)
Come andare avanti


Procedere a piccoli passi
Come andare avanti


Make things visible
Come andare avanti


Learn
Come andare avanti


Tenere una retrospettiva periodica sul
processo
L'integrazione con il resto
           dell'azienda
...ovvero, quando un collo di bottiglia in meno ti può strozzare lo stesso :)
Cosa può andare male?
La resistenza al cambiamento
Come andare avanti?

Per avere i risultati migliori, si devono valutare e
sperimentare tutte le pratiche di XP.


Ogni pratica XP è sostenuta e rafforzata dalle altre.


Adottare solo un subset di pratiche potrebbe causare
"asimmetrie" nel processo
(alcune pratiche senza pratiche di sostegno
funzionano meno bene, o rischiano di fallire).
Contacts



• www.xpeppers.com
• info@xpeppers.com
• @xpeppers

Mais conteúdo relacionado

Mais procurados

Lean Software Development in 45'
Lean Software Development in 45'Lean Software Development in 45'
Lean Software Development in 45'Fabio Ghislandi
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project ManagementGiulio Roggero
 
Manifesto per lo Sviluppo Agile di Software
Manifesto per lo Sviluppo Agile di SoftwareManifesto per lo Sviluppo Agile di Software
Manifesto per lo Sviluppo Agile di SoftwareAmmLibera AL
 
Scrum? E' come fare il bucato!
Scrum? E' come fare il bucato!Scrum? E' come fare il bucato!
Scrum? E' come fare il bucato!Manuel Scapolan
 
Agile e l’arte di semplificare progetti complessi
Agile e l’arte di semplificare progetti complessiAgile e l’arte di semplificare progetti complessi
Agile e l’arte di semplificare progetti complessiGiulio Roggero
 
Agile@scale - Agile Day 2013
Agile@scale - Agile Day 2013Agile@scale - Agile Day 2013
Agile@scale - Agile Day 2013Felice Pescatore
 
Instilling Scrum Workshop
Instilling Scrum WorkshopInstilling Scrum Workshop
Instilling Scrum WorkshopRaoul Buzziol
 
Cosa ho imparato trasformando software factory?
Cosa ho imparato trasformando software factory?Cosa ho imparato trasformando software factory?
Cosa ho imparato trasformando software factory?Matteo Emili
 
L'innovazione manageriale nello sviluppo dei servizi e dei prodotti
L'innovazione manageriale nello sviluppo dei servizi e dei prodottiL'innovazione manageriale nello sviluppo dei servizi e dei prodotti
L'innovazione manageriale nello sviluppo dei servizi e dei prodottiClaudio Saurin
 
SCRUM WARS - Manuale di sopravvivenza agile per frontendisti
SCRUM WARS - Manuale di sopravvivenza agile per frontendistiSCRUM WARS - Manuale di sopravvivenza agile per frontendisti
SCRUM WARS - Manuale di sopravvivenza agile per frontendistiSimone Lelli
 
Agile raccontato a mia nonna
Agile raccontato a mia nonnaAgile raccontato a mia nonna
Agile raccontato a mia nonnaFelice Pescatore
 
Un Team Agile allo Sprint (PMI-Rome)
Un Team Agile allo Sprint (PMI-Rome)Un Team Agile allo Sprint (PMI-Rome)
Un Team Agile allo Sprint (PMI-Rome)Emiliano Soldi
 
Back to Agile - Codemotion 2013
Back to Agile - Codemotion 2013  Back to Agile - Codemotion 2013
Back to Agile - Codemotion 2013 Fabio Armani
 
Software ...e tutto ciò che comporta
Software ...e tutto ciò che comportaSoftware ...e tutto ciò che comporta
Software ...e tutto ciò che comportaAlberto Brandolini
 
Redistributable Intro To Scrum Ita
Redistributable Intro To Scrum ItaRedistributable Intro To Scrum Ita
Redistributable Intro To Scrum ItaLuciano Benetti
 

Mais procurados (19)

Lean Software Development in 45'
Lean Software Development in 45'Lean Software Development in 45'
Lean Software Development in 45'
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
 
Manifesto per lo Sviluppo Agile di Software
Manifesto per lo Sviluppo Agile di SoftwareManifesto per lo Sviluppo Agile di Software
Manifesto per lo Sviluppo Agile di Software
 
Scrum? E' come fare il bucato!
Scrum? E' come fare il bucato!Scrum? E' come fare il bucato!
Scrum? E' come fare il bucato!
 
Agile e l’arte di semplificare progetti complessi
Agile e l’arte di semplificare progetti complessiAgile e l’arte di semplificare progetti complessi
Agile e l’arte di semplificare progetti complessi
 
Agile in 45 minuti
Agile in 45 minutiAgile in 45 minuti
Agile in 45 minuti
 
Diventare agile
Diventare agileDiventare agile
Diventare agile
 
Agile@scale - Agile Day 2013
Agile@scale - Agile Day 2013Agile@scale - Agile Day 2013
Agile@scale - Agile Day 2013
 
Instilling Scrum Workshop
Instilling Scrum WorkshopInstilling Scrum Workshop
Instilling Scrum Workshop
 
Agile@core - Scrum
Agile@core - ScrumAgile@core - Scrum
Agile@core - Scrum
 
Cosa ho imparato trasformando software factory?
Cosa ho imparato trasformando software factory?Cosa ho imparato trasformando software factory?
Cosa ho imparato trasformando software factory?
 
L'innovazione manageriale nello sviluppo dei servizi e dei prodotti
L'innovazione manageriale nello sviluppo dei servizi e dei prodottiL'innovazione manageriale nello sviluppo dei servizi e dei prodotti
L'innovazione manageriale nello sviluppo dei servizi e dei prodotti
 
SCRUM WARS - Manuale di sopravvivenza agile per frontendisti
SCRUM WARS - Manuale di sopravvivenza agile per frontendistiSCRUM WARS - Manuale di sopravvivenza agile per frontendisti
SCRUM WARS - Manuale di sopravvivenza agile per frontendisti
 
Agile raccontato a mia nonna
Agile raccontato a mia nonnaAgile raccontato a mia nonna
Agile raccontato a mia nonna
 
Un Team Agile allo Sprint (PMI-Rome)
Un Team Agile allo Sprint (PMI-Rome)Un Team Agile allo Sprint (PMI-Rome)
Un Team Agile allo Sprint (PMI-Rome)
 
Back to Agile - Codemotion 2013
Back to Agile - Codemotion 2013  Back to Agile - Codemotion 2013
Back to Agile - Codemotion 2013
 
Software ...e tutto ciò che comporta
Software ...e tutto ciò che comportaSoftware ...e tutto ciò che comporta
Software ...e tutto ciò che comporta
 
Redistributable Intro To Scrum Ita
Redistributable Intro To Scrum ItaRedistributable Intro To Scrum Ita
Redistributable Intro To Scrum Ita
 
Semplicemente Agile
Semplicemente AgileSemplicemente Agile
Semplicemente Agile
 

Destaque

PMI e cultura digitale: prima di pensare a risolvere i problemi, li devi sco...
PMI e cultura digitale: prima di pensare a risolvere i problemi, li devi sco...PMI e cultura digitale: prima di pensare a risolvere i problemi, li devi sco...
PMI e cultura digitale: prima di pensare a risolvere i problemi, li devi sco...Futurosemplice di Rosa Giuffrè
 
Romagnacamp 2013
Romagnacamp 2013Romagnacamp 2013
Romagnacamp 2013lorenzov
 
Tools&tricks: 10 soluzioni per 10 piccoli problemi in facebook - #facebook4 p...
Tools&tricks: 10 soluzioni per 10 piccoli problemi in facebook - #facebook4 p...Tools&tricks: 10 soluzioni per 10 piccoli problemi in facebook - #facebook4 p...
Tools&tricks: 10 soluzioni per 10 piccoli problemi in facebook - #facebook4 p...Mirko Saini
 
Il rapporto banca-impresa
Il rapporto banca-impresaIl rapporto banca-impresa
Il rapporto banca-impresaDedagroup
 
Auto-organizzazione, Sistema e Azienda
Auto-organizzazione, Sistema e AziendaAuto-organizzazione, Sistema e Azienda
Auto-organizzazione, Sistema e AziendaFabrizio Pieroni
 
Gestione impresa.lez6
Gestione impresa.lez6Gestione impresa.lez6
Gestione impresa.lez6roberto cossu
 
Organizzazione Aziendale Copia
Organizzazione Aziendale   CopiaOrganizzazione Aziendale   Copia
Organizzazione Aziendale CopiaMassimiliano Musto
 
lezione 4 - Tecnica della comunicazione di impresa, CDL magistrale in Scienze...
lezione 4 - Tecnica della comunicazione di impresa, CDL magistrale in Scienze...lezione 4 - Tecnica della comunicazione di impresa, CDL magistrale in Scienze...
lezione 4 - Tecnica della comunicazione di impresa, CDL magistrale in Scienze...Gandolfo Dominici
 
Brown Bag Lunch Strategy
Brown Bag Lunch StrategyBrown Bag Lunch Strategy
Brown Bag Lunch StrategyLoggy
 
Business process management
Business process managementBusiness process management
Business process managementlukic83
 

Destaque (11)

PMI e cultura digitale: prima di pensare a risolvere i problemi, li devi sco...
PMI e cultura digitale: prima di pensare a risolvere i problemi, li devi sco...PMI e cultura digitale: prima di pensare a risolvere i problemi, li devi sco...
PMI e cultura digitale: prima di pensare a risolvere i problemi, li devi sco...
 
Romagnacamp 2013
Romagnacamp 2013Romagnacamp 2013
Romagnacamp 2013
 
Le 10 Regole del Buon Imprenditore
Le 10 Regole del Buon ImprenditoreLe 10 Regole del Buon Imprenditore
Le 10 Regole del Buon Imprenditore
 
Tools&tricks: 10 soluzioni per 10 piccoli problemi in facebook - #facebook4 p...
Tools&tricks: 10 soluzioni per 10 piccoli problemi in facebook - #facebook4 p...Tools&tricks: 10 soluzioni per 10 piccoli problemi in facebook - #facebook4 p...
Tools&tricks: 10 soluzioni per 10 piccoli problemi in facebook - #facebook4 p...
 
Il rapporto banca-impresa
Il rapporto banca-impresaIl rapporto banca-impresa
Il rapporto banca-impresa
 
Auto-organizzazione, Sistema e Azienda
Auto-organizzazione, Sistema e AziendaAuto-organizzazione, Sistema e Azienda
Auto-organizzazione, Sistema e Azienda
 
Gestione impresa.lez6
Gestione impresa.lez6Gestione impresa.lez6
Gestione impresa.lez6
 
Organizzazione Aziendale Copia
Organizzazione Aziendale   CopiaOrganizzazione Aziendale   Copia
Organizzazione Aziendale Copia
 
lezione 4 - Tecnica della comunicazione di impresa, CDL magistrale in Scienze...
lezione 4 - Tecnica della comunicazione di impresa, CDL magistrale in Scienze...lezione 4 - Tecnica della comunicazione di impresa, CDL magistrale in Scienze...
lezione 4 - Tecnica della comunicazione di impresa, CDL magistrale in Scienze...
 
Brown Bag Lunch Strategy
Brown Bag Lunch StrategyBrown Bag Lunch Strategy
Brown Bag Lunch Strategy
 
Business process management
Business process managementBusiness process management
Business process management
 

Semelhante a Breaking the ice with agile - cinque strade per rompere il ghiaccio e introdurre i metodi agili in una azienda

GAE python GDG Milano - L02
GAE python GDG Milano - L02GAE python GDG Milano - L02
GAE python GDG Milano - L02Paolo Dadda
 
Test Driven Development @ Xe.Net
Test Driven Development @ Xe.NetTest Driven Development @ Xe.Net
Test Driven Development @ Xe.NetMauro Servienti
 
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...Commit University
 
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
 
Slide Wallabiez Agile Day 2007
Slide Wallabiez Agile Day 2007Slide Wallabiez Agile Day 2007
Slide Wallabiez Agile Day 2007Manuela Munaretto
 
Agile e Lean in sintesi
Agile e Lean in sintesiAgile e Lean in sintesi
Agile e Lean in sintesiStefano Muro
 
How Agile Dev Teams work
How Agile Dev Teams workHow Agile Dev Teams work
How Agile Dev Teams workXPeppers
 
Wpc2019 - Distruggere DevOps, la storia di un vero team
Wpc2019 - Distruggere DevOps, la storia di un vero teamWpc2019 - Distruggere DevOps, la storia di un vero team
Wpc2019 - Distruggere DevOps, la storia di un vero teamAlessandro Alpi
 
I quattro punti cardinali per un orientamento lean nell'impr... insomma.
I quattro punti cardinali per un orientamento lean nell'impr... insomma.I quattro punti cardinali per un orientamento lean nell'impr... insomma.
I quattro punti cardinali per un orientamento lean nell'impr... insomma.Jacopo Romei
 
Una fugace occhiata al Test Driven Development (2006)
Una fugace occhiata al Test Driven Development  (2006)Una fugace occhiata al Test Driven Development  (2006)
Una fugace occhiata al Test Driven Development (2006)Roberto Bettazzoni
 
Remote team building ITA version
Remote team building ITA versionRemote team building ITA version
Remote team building ITA versionDavide Mezzetti
 
Agile project management 1 giornata - board game - v2
Agile project management   1 giornata - board game - v2Agile project management   1 giornata - board game - v2
Agile project management 1 giornata - board game - v2Giulio Roggero
 
Risolvi i tuoi problemi di sviluppo con agilità - di Stefano Brocchi
Risolvi i tuoi problemi di sviluppo con agilità - di Stefano BrocchiRisolvi i tuoi problemi di sviluppo con agilità - di Stefano Brocchi
Risolvi i tuoi problemi di sviluppo con agilità - di Stefano BrocchiGiuneco S.r.l
 
Le 3 Rivoluzioni - Italian Agile Day
Le 3 Rivoluzioni - Italian Agile DayLe 3 Rivoluzioni - Italian Agile Day
Le 3 Rivoluzioni - Italian Agile DayClaudio Perrone
 
Come funziona il cervello di un programmatore quando impara e affronta nuovi ...
Come funziona il cervello di un programmatore quando impara e affronta nuovi ...Come funziona il cervello di un programmatore quando impara e affronta nuovi ...
Come funziona il cervello di un programmatore quando impara e affronta nuovi ...Pietro Roversi
 

Semelhante a Breaking the ice with agile - cinque strade per rompere il ghiaccio e introdurre i metodi agili in una azienda (20)

La fatina dei denti
La fatina dei dentiLa fatina dei denti
La fatina dei denti
 
Fare pipì controvento
Fare pipì controventoFare pipì controvento
Fare pipì controvento
 
GAE python GDG Milano - L02
GAE python GDG Milano - L02GAE python GDG Milano - L02
GAE python GDG Milano - L02
 
Test Driven Development @ Xe.Net
Test Driven Development @ Xe.NetTest Driven Development @ Xe.Net
Test Driven Development @ Xe.Net
 
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
Collaborazione, Decisionalità e Gestione della Complessità nel Tempo: cosa ...
 
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
 
Design of experiment
Design of experiment Design of experiment
Design of experiment
 
Instilling Scrum Workshop
Instilling Scrum WorkshopInstilling Scrum Workshop
Instilling Scrum Workshop
 
Slide Wallabiez Agile Day 2007
Slide Wallabiez Agile Day 2007Slide Wallabiez Agile Day 2007
Slide Wallabiez Agile Day 2007
 
Agile e Lean in sintesi
Agile e Lean in sintesiAgile e Lean in sintesi
Agile e Lean in sintesi
 
How Agile Dev Teams work
How Agile Dev Teams workHow Agile Dev Teams work
How Agile Dev Teams work
 
Wpc2019 - Distruggere DevOps, la storia di un vero team
Wpc2019 - Distruggere DevOps, la storia di un vero teamWpc2019 - Distruggere DevOps, la storia di un vero team
Wpc2019 - Distruggere DevOps, la storia di un vero team
 
I quattro punti cardinali per un orientamento lean nell'impr... insomma.
I quattro punti cardinali per un orientamento lean nell'impr... insomma.I quattro punti cardinali per un orientamento lean nell'impr... insomma.
I quattro punti cardinali per un orientamento lean nell'impr... insomma.
 
Una fugace occhiata al Test Driven Development (2006)
Una fugace occhiata al Test Driven Development  (2006)Una fugace occhiata al Test Driven Development  (2006)
Una fugace occhiata al Test Driven Development (2006)
 
Agile software lifecycle
Agile software lifecycleAgile software lifecycle
Agile software lifecycle
 
Remote team building ITA version
Remote team building ITA versionRemote team building ITA version
Remote team building ITA version
 
Agile project management 1 giornata - board game - v2
Agile project management   1 giornata - board game - v2Agile project management   1 giornata - board game - v2
Agile project management 1 giornata - board game - v2
 
Risolvi i tuoi problemi di sviluppo con agilità - di Stefano Brocchi
Risolvi i tuoi problemi di sviluppo con agilità - di Stefano BrocchiRisolvi i tuoi problemi di sviluppo con agilità - di Stefano Brocchi
Risolvi i tuoi problemi di sviluppo con agilità - di Stefano Brocchi
 
Le 3 Rivoluzioni - Italian Agile Day
Le 3 Rivoluzioni - Italian Agile DayLe 3 Rivoluzioni - Italian Agile Day
Le 3 Rivoluzioni - Italian Agile Day
 
Come funziona il cervello di un programmatore quando impara e affronta nuovi ...
Come funziona il cervello di un programmatore quando impara e affronta nuovi ...Come funziona il cervello di un programmatore quando impara e affronta nuovi ...
Come funziona il cervello di un programmatore quando impara e affronta nuovi ...
 

Mais de Pietro Di Bello

Lessons learned in surviving to Technical Debt
Lessons learned in surviving to Technical DebtLessons learned in surviving to Technical Debt
Lessons learned in surviving to Technical DebtPietro Di Bello
 
Surviving to a Legacy Codebase - Codemotion Berlin 2018 Edition
Surviving to a Legacy Codebase - Codemotion Berlin 2018 EditionSurviving to a Legacy Codebase - Codemotion Berlin 2018 Edition
Surviving to a Legacy Codebase - Codemotion Berlin 2018 EditionPietro Di Bello
 
Surviving to a Legacy Codebase - Voxxed Days Ticino Edition
Surviving to a Legacy Codebase - Voxxed Days Ticino EditionSurviving to a Legacy Codebase - Voxxed Days Ticino Edition
Surviving to a Legacy Codebase - Voxxed Days Ticino EditionPietro Di Bello
 
Vivere per raccontarla: l’importanza del daily journal in un team agile
Vivere per raccontarla: l’importanza del daily journal in un team agileVivere per raccontarla: l’importanza del daily journal in un team agile
Vivere per raccontarla: l’importanza del daily journal in un team agilePietro Di Bello
 
Hiring Great People: how we improved our recruiting process to build and grow...
Hiring Great People: how we improved our recruiting process to build and grow...Hiring Great People: how we improved our recruiting process to build and grow...
Hiring Great People: how we improved our recruiting process to build and grow...Pietro Di Bello
 
Continuous Delivery su progetti Java: cosa abbiamo imparato facendoci del male
Continuous Delivery su progetti Java: cosa abbiamo imparato facendoci del maleContinuous Delivery su progetti Java: cosa abbiamo imparato facendoci del male
Continuous Delivery su progetti Java: cosa abbiamo imparato facendoci del malePietro Di Bello
 
Hiring Great People: how we improved our recruiting process to build and grow...
Hiring Great People: how we improved our recruiting process to build and grow...Hiring Great People: how we improved our recruiting process to build and grow...
Hiring Great People: how we improved our recruiting process to build and grow...Pietro Di Bello
 
TDD reloaded - JUGTAA 24 Ottobre 2012
TDD reloaded - JUGTAA 24 Ottobre 2012TDD reloaded - JUGTAA 24 Ottobre 2012
TDD reloaded - JUGTAA 24 Ottobre 2012Pietro Di Bello
 
A brief intro to TDD for a JUG-TAA event
A brief intro to TDD for a JUG-TAA eventA brief intro to TDD for a JUG-TAA event
A brief intro to TDD for a JUG-TAA eventPietro Di Bello
 
"Il dilettevole giuoco dell'oca" coding dojo
"Il dilettevole giuoco dell'oca" coding dojo"Il dilettevole giuoco dell'oca" coding dojo
"Il dilettevole giuoco dell'oca" coding dojoPietro Di Bello
 

Mais de Pietro Di Bello (11)

Lessons learned in surviving to Technical Debt
Lessons learned in surviving to Technical DebtLessons learned in surviving to Technical Debt
Lessons learned in surviving to Technical Debt
 
Surviving to a Legacy Codebase - Codemotion Berlin 2018 Edition
Surviving to a Legacy Codebase - Codemotion Berlin 2018 EditionSurviving to a Legacy Codebase - Codemotion Berlin 2018 Edition
Surviving to a Legacy Codebase - Codemotion Berlin 2018 Edition
 
Surviving to a Legacy Codebase - Voxxed Days Ticino Edition
Surviving to a Legacy Codebase - Voxxed Days Ticino EditionSurviving to a Legacy Codebase - Voxxed Days Ticino Edition
Surviving to a Legacy Codebase - Voxxed Days Ticino Edition
 
Vivere per raccontarla: l’importanza del daily journal in un team agile
Vivere per raccontarla: l’importanza del daily journal in un team agileVivere per raccontarla: l’importanza del daily journal in un team agile
Vivere per raccontarla: l’importanza del daily journal in un team agile
 
Hiring Great People: how we improved our recruiting process to build and grow...
Hiring Great People: how we improved our recruiting process to build and grow...Hiring Great People: how we improved our recruiting process to build and grow...
Hiring Great People: how we improved our recruiting process to build and grow...
 
Continuous Delivery su progetti Java: cosa abbiamo imparato facendoci del male
Continuous Delivery su progetti Java: cosa abbiamo imparato facendoci del maleContinuous Delivery su progetti Java: cosa abbiamo imparato facendoci del male
Continuous Delivery su progetti Java: cosa abbiamo imparato facendoci del male
 
Hiring Great People: how we improved our recruiting process to build and grow...
Hiring Great People: how we improved our recruiting process to build and grow...Hiring Great People: how we improved our recruiting process to build and grow...
Hiring Great People: how we improved our recruiting process to build and grow...
 
Scrum In A Nutshell
Scrum In A NutshellScrum In A Nutshell
Scrum In A Nutshell
 
TDD reloaded - JUGTAA 24 Ottobre 2012
TDD reloaded - JUGTAA 24 Ottobre 2012TDD reloaded - JUGTAA 24 Ottobre 2012
TDD reloaded - JUGTAA 24 Ottobre 2012
 
A brief intro to TDD for a JUG-TAA event
A brief intro to TDD for a JUG-TAA eventA brief intro to TDD for a JUG-TAA event
A brief intro to TDD for a JUG-TAA event
 
"Il dilettevole giuoco dell'oca" coding dojo
"Il dilettevole giuoco dell'oca" coding dojo"Il dilettevole giuoco dell'oca" coding dojo
"Il dilettevole giuoco dell'oca" coding dojo
 

Último

Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaSalvatore Cianciabella
 
Confronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.pptConfronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.pptcarlottagalassi
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxlorenzodemidio01
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxlorenzodemidio01
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoyanmeng831
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxlorenzodemidio01
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxlorenzodemidio01
 

Último (7)

Presentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione CivicaPresentazioni Efficaci e lezioni di Educazione Civica
Presentazioni Efficaci e lezioni di Educazione Civica
 
Confronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.pptConfronto tra Sparta e Atene classiche.ppt
Confronto tra Sparta e Atene classiche.ppt
 
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptxLorenzo D'Emidio_Vita e opere di Aristotele.pptx
Lorenzo D'Emidio_Vita e opere di Aristotele.pptx
 
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptxLorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
Lorenzo D'Emidio- Lavoro sulla Bioarchittetura.pptx
 
Quadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceoQuadrilateri e isometrie studente di liceo
Quadrilateri e isometrie studente di liceo
 
Lorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptxLorenzo D'Emidio_Francesco Petrarca.pptx
Lorenzo D'Emidio_Francesco Petrarca.pptx
 
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptxLorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
Lorenzo D'Emidio_Vita di Cristoforo Colombo.pptx
 

Breaking the ice with agile - cinque strade per rompere il ghiaccio e introdurre i metodi agili in una azienda

  • 1. Breaking the ice with agile cinque strade per rompere il ghiaccio e introdurre i metodi agili in una azienda Pietro Di Bello pietro.dibello@xpeppers.com www.xpeppers.com Agile Day 2012 Milano, 24 Novembre
  • 2. ★ Uso e diffondo i metodi agili (dal 2002) ★ Mi piace programmare in Ruby e Java (ho iniziato con Java nel 2000 e da tre anni sono passato a Ruby) ★ Sono sempre alla ricerca di Pietro Di Bello modi migliori di fare le cose pietro.dibello@xpeppers.com @pierodibello github.com/xpepper
  • 3. Non è facile... Introdurre i metodi agili in una azienda è dannatamente difficile
  • 4. Situazioni che abbiamo incontrato Multitasking
  • 5. Situazioni che abbiamo incontrato Multitasking Stress
  • 6. Situazioni che abbiamo incontrato Settorializzazione delle conoscenze e delle competenze
  • 7. Situazioni che abbiamo incontrato Overtime
  • 8. Situazioni che abbiamo incontrato Overtime e s s S t r
  • 9. Situazioni che abbiamo incontrato Processo di sviluppo "opaco" e poco predicibile
  • 10. Situazioni che abbiamo incontrato Processo di sviluppo "opaco" e poco predicibile tr e ss S
  • 11. Situazioni che abbiamo incontrato Processo di sviluppo ti "opaco" e pocoger Str es sa predicibile Ma na tr e ss S
  • 12. Situazioni che abbiamo incontrato Frequenti interruzioni al lavoro
  • 13. Situazioni che abbiamo Stress incontrato Frequenti interruzioni al lavoro
  • 14. Situazioni che abbiamo incontrato Fretta
  • 15. Situazioni che abbiamo incontrato Fretta r e ss S t
  • 16. Situazioni che abbiamo incontrato Scarsa attenzione alle buone pratiche di programmazione
  • 17. Situazioni che abbiamo incontrato Deploy “a mano”
  • 18. Situazioni che abbiamo incontrato Stress Deploy “a mano”
  • 19. Situazioni che abbiamo incontrato Hotfix direttamente in produzione
  • 20. Situazioni che abbiamo incontrato Hotfix direttamente in produzione Str ess
  • 21. Situazioni che abbiamo incontrato Mancanza di sistemi di versionamento
  • 22. Situazioni che abbiamo incontrato Mancanza di sistemi di versionamento x no nè git D rop bo
  • 23. Situazioni che abbiamo incontrato http://www.slideshare.net/jchyip/lean-software-development-on-radiators-and-refrigerators-presentation Nascondere i problemi
  • 24. Strategie Quali strategie si adottano per introdurre i metodi agili in una azienda?
  • 25. Quali strategie si adottano per introdurre metodi agili in un team? Prima i valori e i principi
  • 26. Quali strategie si adottano per introdurre metodi agili in un team? Solo pratiche organizzative
  • 27. Le pratiche rompighiaccio Per prendere coscienza delle problematiche che possono compromettere il successo
  • 28. Le pratiche rompighiaccio La presa di coscienza di queste problematiche e dinamiche è il primo passo per comprendere e abbracciare valori e principi dei metodi agili. • coraggio XP • coraggio Scrum • feedback • commitment • semplicità • openness • comunicazione • focus • rispetto • rispetto
  • 29. Le pratiche rompighiaccio ...con un costo di introduzione relativamente basso
  • 30. Le pratiche rompighiaccio ★ lavagna ★ standup meeting ★ retrospettiva ★ build automatica ★ test di accettazione automatici
  • 31. Perché cinque? Per poter equilibrare l'introduzione di pratiche tecniche con la comprensione dei valori e dei principi
  • 32. Rompighiaccio #1: Lavagna • perché è rompighiaccio? • quali valori esercita? • quali altre pratiche attiva? • a cosa stare attenti • resistenze
  • 33. Rompighiaccio #1: Lavagna Se vuoi capire come lavora il team, guarda la sua lavagna
  • 34. Rompighiaccio #1: Lavagna Se vuoi capire come lavora il team, guarda la sua lavagna Se vuoi capire come sta andando il progetto, guarda la lavagna
  • 35. Rompighiaccio #1: Lavagna Se vuoi capire come lavora il team, guarda la sua lavagna Se vuoi capire come sta andando il progetto, guarda la lavagna Se vuoi capire quali problemi ha il processo di sviluppo, guarda la lavagna
  • 36. Rompighiaccio #1: Lavagna
  • 37. Rompighiaccio #1: Lavagna Lavagna dell’iterazione
  • 38. Rompighiaccio #1: Lavagna Lavagna backlog
  • 39. Rompighiaccio #1: Lavagna
  • 41. #1 Lavagna: perché è rompighiaccio? Consente di visualizzare in modo non ambiguo il processo produttivo del team...
  • 42. #1 Lavagna: perché è rompighiaccio? ...e ne evidenzia tutti i problemi
  • 43. #1 Lavagna: perché è rompighiaccio? ...e ne evidenzia tutti i problemi troppe storie in progress
  • 44. #1 Lavagna: perché è rompighiaccio? ...e ne evidenzia tutti i problemi troppe storie in progress storie che tornano indietro a causa di un bug
  • 45. #1 Lavagna: perché è rompighiaccio? ...e ne evidenzia tutti i problemi troppe storie in progress storie che tornano indietro a causa di un bug storie bloccate in QA
  • 46. #1 Lavagna: perché è rompighiaccio? ...e ne evidenzia tutti i problemi troppe storie in progress storie che tornano indietro a causa di un bug storie bloccate in QA storie bloccate in progress
  • 47. #1 Lavagna: perché è rompighiaccio? E’ un ottimo punto di partenza per far riflettere il team
  • 48. #1 Lavagna: perché è rompighiaccio? E’ visibile a tutti
  • 49. #1 Lavagna: perché è rompighiaccio? Consente di sincronizzare tutti su un workflow condiviso
  • 50. #1 Lavagna: quali valori esercita? • Comunicazione • Openness • Feedback • Commitment • Focus
  • 51. #1 Lavagna: quali altre pratiche attiva? • user stories • whole team • informative • incremental design workspace • simple design • iteration planning • standup meeting
  • 52. #1 Lavagna: precauzioni d’uso e resistenze • tenerla costantemente aggiornata • introdurre al più presto i principi della pianificazione agile • guardarla • e se il team è distribuito o il cliente è spesso via? • dove l’appendiamo?
  • 53. Rompighiaccio #2: Standup Meeting • perché è rompighiaccio? • quali valori esercita? • quali altre pratiche attiva? • a cosa stare attenti • resistenze
  • 54. #2 Standup Meeting: cos’è?
  • 55. #2 Standup Meeting: cos’è?
  • 56. #2 Standup Meeting: perché è rompighiaccio? • Maggiore comunicazione tra gli elementi del team • Commitment reciproco (“Oggi farò questo…”) • Rafforzamento del senso di team • “ti aiuto io su questo problema di cui parli…” • imparare a chiedere e offrire aiuto
  • 57. #2 Standup Meeting: perché è rompighiaccio? • Maggiore reattività agli ostacoli che emergono • C’è subito evidenza se la pianificazione è corretta • ci sono persone che non sanno cosa faranno? • ci sono persone che hanno troppe cose in lavorazione?
  • 58. #2 Standup Meeting: quali valori esercita? • Comunicazione • Openness • Feedback • Commitment • Rispetto • Focus • Coraggio
  • 59. #2 Standup Meeting: quali altre pratiche attiva? • pair programming • whole team • collective-code ownership
  • 60. #2 Standup Meeting: precauzioni d’uso e resistenze • si riporta sempre al team-leader • i manager o stakeholders “dirottano” lo standup meeting • si inizia sempre in ritardo o in un orario diverso
  • 61. #2 Standup Meeting: precauzioni d’uso e resistenze • va sempre per le lunghe, si scende in dettagli tecnici fuori luogo • le persone sono evasive • le persone non ricordano quello che hanno fatto ieri
  • 62. Rompighiaccio #3: Retrospettiva • perché è rompighiaccio? • quali valori esercita? • quali altre pratiche attiva? • a cosa stare attenti • resistenze
  • 70. #3 Retrospettiva: perché è rompighiaccio? • è il primo tassello del process improvement • il team ha la possibilità di riflettere sui propri errori e porre azioni correttive • il team ha al suo interno tutte le potenzialità per lavorare meglio
  • 71. #3 Retrospettiva: quali valori esercita? • Comunicazione • Openness • Rispetto • Commitment • Coraggio
  • 72. #3 Retrospettiva: quali altre pratiche attiva? • whole team • continuous improvement
  • 73. #3 Retrospettiva: precauzioni d’uso e resistenze • va preparata per tempo • facilitatore esterno • periodica • time-boxed • spiegare bene il suo scopo
  • 74. #3 Retrospettiva: precauzioni d’uso e resistenze • alcuni manager potrebbero lamentarsi dell'eccessivo costo di queste attività • alcuni membri del team potrebbero non partecipare volentieri • decidere prima se coinvolgere o meno esterni al team o manager
  • 75. #3 Retrospettiva: precauzioni d’uso e resistenze • effetto "vogliamoci bene" • pubblicare in uno spazio visibile a tutti la lista delle azioni correttive scelte • moderare la discussione in modo che non sfoci nel "finger pointing"
  • 76. Rompighiaccio #4: Build automatica • perché è rompighiaccio? • quali valori esercita? • quali altre pratiche attiva? • a cosa stare attenti • resistenze
  • 77. #4 Build automatica “Nothing forces us to understand a process better than trying to automate it.” Growing Object-Oriented Software, Guided by Tests (S.Freeman, N.Pryce)
  • 78. #4 Build automatica: perché è rompighiaccio? Si collabora anche con parti "nuove" del team
  • 79. #4 Build automatica: perché è rompighiaccio? Si affrontano prima problematiche che emergerebbero solo con la messa in produzione
  • 80. #4 Build automatica: perché è rompighiaccio? Consente al team di progettare fin dall'inizio il sistema e i suoi rilasci in modo incrementale
  • 81. #4 Build automatica: perché è rompighiaccio? Il team impara cosa significa "finito" e ha la possibilità di verificare realmente il progresso fatto
  • 82. #4 Build automatica: perché è rompighiaccio? Consente di rilasciare con maggiore frequenza le features sviluppate
  • 83. #4 Build automatica: perché è rompighiaccio? Migliora la fiducia nel team da parte del cliente, che vede che il team è in grado di rilasciare frequentemente senza panico
  • 84. #4 Build automatica: quali valori esercita? • Feedback • Coraggio
  • 85. #4 Build automatica: quali altre pratiche attiva? • test automation • test-driven development • refactoring • rilasci incrementali • continuous deployment • devops e configuration management
  • 86. #4 Build automatica: come si applica? E’ necessario analizzare con cura la situazione iniziale
  • 87. #4 Build automatica: come si applica? E’ necessario analizzare con cura la situazione iniziale il codice è sotto controllo versione?
  • 88. #4 Build automatica: come si applica? E’ necessario analizzare con cura la situazione iniziale il codice è sotto controllo esistono ambienti di test/ versione? collaudo?
  • 89. #4 Build automatica: come si applica? E’ necessario analizzare con cura la situazione iniziale il codice è sotto controllo esistono ambienti di test/ versione? collaudo? quanto è facile creare un nuovo ambiente di test?
  • 90. #4 Build automatica: come si applica? E’ necessario analizzare con cura la situazione iniziale il codice è sotto controllo esistono ambienti di test/ versione? collaudo? quanto è facile creare un nuovo ambiente di test? come vengono effettuati i rilasci?
  • 91. #4 Build automatica: come si applica? E’ necessario analizzare con cura la situazione iniziale il codice è sotto controllo esistono ambienti di test/ versione? collaudo? quanto è facile creare un quante dipendenze da nuovo ambiente di test? sistemi terzi ci sono? come vengono effettuati i rilasci?
  • 92. #4 Build automatica: come si applica? E’ necessario analizzare con cura la situazione iniziale il codice è sotto controllo esistono ambienti di test/ versione? collaudo? quanto è facile creare un quante dipendenze da nuovo ambiente di test? sistemi terzi ci sono? come vengono effettuati i esistono sistemi di rilasci? monitoring della produzione?
  • 93. #4 Build automatica: come si applica? E’ necessario analizzare con cura la situazione iniziale il codice è sotto controllo esistono ambienti di test/ versione? collaudo? quanto è facile creare un quante dipendenze da conambiente di test? nuovo chi bisogna interagire sistemi terzi ci sono? per avere accesso agli come vengono effettuati i ambienti di test? esistono sistemi di rilasci? monitoring della produzione?
  • 94. #4 Build automatica: come si applica? E’ necessario analizzare con cura la situazione iniziale il codice è sotto controllo esistono ambienti di test/ versione? collaudo? come gestisco le dipendenze quanto è facile creare un da sistemi esterni negli quante dipendenze da conambiente di test? nuovo chi bisogna interagire ambienti di test? sistemi terzi ci sono? per avere accesso agli come vengono effettuati i ambienti di test? esistono sistemi di rilasci? monitoring della produzione?
  • 95. #4 Build automatica: come si applica? A piccoli passi si deve pianificare una serie di interventi di automazione ad es partire da uno script che automatizza tutti i processi manuali effettuati per mettere in produzione una nuova versione
  • 96. #4 Build automatica: a cosa stare attenti? • stabilire una collaborazione positiva con la parte operational / sistemistica dell'azienda • procedere a piccoli passi
  • 97. Rompighiaccio #5: Test di accettazione automatici • perché è una pratica rompighiaccio? • quali valori esercita? • quali altre pratiche attiva? • a cosa stare attenti • resistenze
  • 98. #5 Test di accettazione automatici: perché è una pratica rompighiaccio? • I test di accettazione mettono in comunicazione stretta analisti, cliente e sviluppatori • Consentono lo switch di mentalità da "code & fix" a "rilascio di feature finita" • Consentono a tutti di chiarire qual'è lo scope della feature
  • 99. #5 Test di accettazione automatici: perché è una pratica rompighiaccio? • Trasmettono fiducia al cliente • Sono propedeutici per l'intero tema del testing e del design test-driven
  • 100. #5 Test di accettazione automatici: come si può applicare? Quando si pianifica una nuova feature, parte dell'analisi consiste nel descrivere quali sono i criteri di accettazione della feature
  • 101. #5 Test di accettazione automatici: come si può applicare? Si può iniziare anche solo a raccogliere dei test di accettazione manuali durante il planning della feature
  • 102. #5 Test di accettazione automatici: come si può applicare? Si può iniziare anche solo a raccogliere dei test di accettazione manuali durante il planning della feature poi si passa a proporre la loro automazione
  • 103. #5 Test di accettazione automatici: come si può applicare? Si può iniziare anche solo a raccogliere dei test di accettazione manuali durante il planning della feature poi si passa a proporre la loro automazione e si mettono i test nella build automatica
  • 104. #5 Test di accettazione automatici: quali valori esercita? • Feedback • Comunicazione
  • 105. #5 Test di accettazione automatici: quali altre pratiche attiva? • Testing automatico • Test-Driven Development • Continuous integration • Refactoring
  • 106. #5 Test di accettazione automatici: a cosa stare attenti? • Va bene partire da test manuali, ma non fermarsi a quelli • Fare in modo che i test automatici rimangano verdi • Non devono mentire • Devono essere veramente automatici
  • 107. #5 Test di accettazione automatici: resistenze • Alcuni test automatici saranno difficili da scrivere • non scoraggiatevi
  • 108. Effetto cascata :^) A cascata queste pratiche se ne portano dietro altre più difficili da adottare fin da subito...
  • 109. Effetto cascata ...ma più facili da introdurre quando le persone prendono coscienza dei problemi che gli impediscono di lavorare in modo efficace e fanno propri i principi dei metodi agili ★ Pair Programming ★ Daily Journal ★ Test-Driven Development ★ Collective Code Ownership ★ Refactoring ★ ... ★ Design Incrementale ★ Continuous Integration a piccoli passi, applicando un ★ Tecnica del Pomodoro approccio iterativo e incrementale :^)
  • 110. Come andare avanti Procedere a piccoli passi
  • 111. Come andare avanti Make things visible
  • 113. Come andare avanti Tenere una retrospettiva periodica sul processo
  • 114. L'integrazione con il resto dell'azienda ...ovvero, quando un collo di bottiglia in meno ti può strozzare lo stesso :)
  • 116. La resistenza al cambiamento
  • 117. Come andare avanti? Per avere i risultati migliori, si devono valutare e sperimentare tutte le pratiche di XP. Ogni pratica XP è sostenuta e rafforzata dalle altre. Adottare solo un subset di pratiche potrebbe causare "asimmetrie" nel processo (alcune pratiche senza pratiche di sostegno funzionano meno bene, o rischiano di fallire).