SlideShare uma empresa Scribd logo
1 de 55
Le Metodologie Agili per il Project
Management nel settore informatico




                                   1 giugno 2012

                        Vincenzo Lucio Marrone
                            Francesco Messina
Consel – Consorzio ELIS: una breve descrizione

  • Nasce nel 1992 su iniziativa del Centro ELIS con il quale condivide la missione della formazione
    integrale della persona: tecnica e comportamentale.
  • É una scuola interaziendale nella quale i consorziati cooperano in ambiti di apprendimento,
    sviluppo della persona e dell’organizzazione, responsabilità sociale
  • É costituito da oltre 45 imprese e 3 Business Schools




                                                                                                  2 di 54
Consel – Consorzio ELIS: una breve descrizione




  Il centro ELIS si occupa di formazione e consulenza ed è situato a Roma.

  L’ ELIS si impegna per migliorare le persone come lavoratori, professionisti e manager e supporta le
  aziende che collaborano col centro tramite una ampia gamma di servizi.




                                                                                                3 di 54
Consel – Consorzio ELIS: una breve descrizione

                            Key competencies
                  Operations & Safety                Innovation &                   General
                                                   Entrepreneurship               Management

   Formazione
                    Information & Communication                         Human Resources
                             Technology



                • People management                          • Service definition and business
                • Personal development                         modeling
                • Organization development                   • Marketing plan
                • Business Process Reengineering             • Marketing Analytics

                Human Resources                              Marketing &
                & Organization                               Innovation
   Consulenza
                • Use of technology for business             • Solution Design
                  support                                    • Development & Testing
                • IT Strategy                                • Feasibility Analysis
                                                             • Product Scouting & Assessment     4



                Business
                                                             Technology
                Technology

                                                                                                     4 di 54
Consel – Consorzio ELIS: una breve descrizione

                                            Consulenza
                                      MAIN COMPETENCE AREAS
  MARKETING & INNOVATION                 TECHNOLOGY                           ORGANIZATION
     Market Research and                   Solution Design                     Process Analysis
      Environment Analysis                  Development & Testing               Knowledge Management
     Service Concept Creation              Feasibility Analysis                BPR / BPI
     Marketing Plan                        Scouting                            Change Management
     Business Model
     Business Plan

                                              MAIN TOPICS
 NEW GENERATION NETWORKS                TECHNOLOGICAL STRATEGY          NEW MEDIA
     New Services, Integration            IT Infrastructure Library       Service Concept Definition
     IP Multimedia Subsystem              Architecture & Governance       Customer profiling
     Unlicensed Mobile Access             Network Management              Business model
     Service Oriented Architecture        Security                    INFOMOBILITY
 CONVERGENCE MEDIA-TELCO                KNOWLEDGE MANAGEMENT                LBS and Mobile Interaction
     Broadcast – DVB-H, DRM               Tool & Model                    Service Concept Definition
     Unicast – WiMax, UMTS             CRM                                 E-tourism
     Multicast – IP-TV, MPLS              Process design                  ITS - Service Benchmarking
 E-GOVERNMENT                              Customer insights               Content and customer profiling
     Research and Service                                                  Origin/destination matrix
      Development                                                           Mobile networks management
                                                                             for infomobility services


                                                                                                        5 di 54
Consel – Consorzio ELIS: una breve descrizione

                                          Formazione
 Supportiamo le persone nello sviluppo di competenze manageriali durante tutto il loro percorso
 professionale.

 Come risultato di questo approccio, sulla base delle richieste degli Alunni, l’ELIS è sempre al lavoro per
 definire e proporre programmi innovativi, rivolti a target differenti




                                                                                  Executive

                                                                   Professional
                                                                   & Manager
                                                     Neo assunti


                                          Laureati

                           Laureandi

              Diplomati                                                                            6 di 54
Consel – Consorzio ELIS: una breve descrizione

                                          Formazione
 Supportiamo le persone nello sviluppo di competenze manageriali durante tutto il loro percorso
 professionale.

 Come risultato di questo approccio, sulla base delle richieste degli Alunni, l’ELIS è sempre al lavoro per
 definire e proporre programmi innovativi, rivolti a target differenti




  Junior Consulting                                                                Executive


                                                                    Professional
                                                                    & Manager
                                                     Neo assunti

                                                                   Talent Camp
                                         Laureati

                          Laureandi                                HR Academy

              Diplomati                                                                            7 di 54
Sintesi del Programma
La formazione sa creare valore



   UNIVERSITÀ                                                                 TESI
                                                   SOFT SKILLS
                                                                              ”il progetto è il cuore
                                                    TRAINING                  della tesi di laurea”


                                                                 MANAGEMENT
                                 ENGLISH SCHOOL
                                                                  TRAINING
   ”brillanti studenti
   universitari”
                                                                                   PLACEMENT
                                                                              “giovani professionisti
                                                                              capaci di lavorare per
                                                                              obiettivi”
                                   TEAM WORK
                                                                  COACHING
                                  TEAM LEADER
                                                                                        N

   AZIENDA                                                                         W          E
                                                     PROJECT
                                                  DEVELOPMENT
                                                     (ACTION                            S
                                                    LEARNING)
                                                                               DELIVERABLES
                                                                               “soluzioni aziendali
                                                                               reali e misurabili”
   ”problemi aziendali
   concreti”
                                                                                            9 di 54
Ambiti della Formazione

 La FORMAZIONE si incentra su 4 aree e su due ambiti:
      • competenze manageriali
      • competenze relazionali /comportamentali




                                                        10 di 54
English School

 2 SETTIMANE A DUBLINO per perfezionare il proprio inglese:
• 40 ore di lezione (9:00-13:30) in classi con lo stesso livello di preparazione (A1,.., C2)
• Escursioni di gruppo nel WE
• Certificato che attesta la partecipazione al corso
• Accomodation presso famiglie locali




                                                                                               11 di 54
Team Work

• Ogni PROGETTO è sviluppato da un team di 3 allievi supervisionati, coordinati e coadiuvati da un
  Team Leader ELIS

• Il mix vincente è dato da team con competenze eterogenee (tecniche, organizzative, economiche) così
  che gli allievi possano affrontare lo stesso problema da prospettive differenti.




                                                                                              12 di 54
Sviluppo della tesi di laurea


• Il progetto aziendale rappresenta la PARTE SPERIMENTALE DELLA TESI DI LAUREA dei partecipanti al
  programma
• Ogni progetto ha come SPONSOR una delle aziende del consorzio ELIS
• Lo sviluppo di un progetto passa per le FASI di raccolta dei requisiti del cliente, definizione di contesto e
  obiettivi, stesura del piano delle attività, realizzazione dei deliverable concordati




                                                                                                     13 di 54
Placement


Il 100% degli allievi ha ricevuto un’offerta di lavoro anche     APPENA LAUREATI   65%
grazie al SERVIZIO DI PLACEMENT DI ELIS                          ENTRO 3 MESI      100%




                                                               Gli ex allievi sono oggi
                                                               impiegati nelle più
                                                               IMPORTANTI REALTÀ
                                                               AZIENDALI E CONSULENZIALI
                                                               italiane




                                                                                    14 di 54
I nostri progetti

                                                           Young Customer             Mobile automation
   Mobile payment                  Smart Info
                                                              marketing                    channel

  Progettazione di             Progettazione di un        Sviluppo di un Action       Sviluppo di un
  un’applicazione per          sistema per l’erogazione   Plan di iniziative volte    applicativo per
  effettuare dei               dei dati di consumo        all’engagement e alla       semplificare l’accesso
  micropagamenti da            energetico in ambito       retention del segmento      alle business application
  smartphone dotati di         domestico .                Young customer              di Sky da parte degli
  tecnologia NFC .                                                                    istallatori.




                                                           E- care customer
      Car sharing               Mobile Gambling                                       Service & Delivery
                                                              automation

  Strutturare un servizio di   Prototipazione di una      Ottimizzazione della        Realizzazione di un
  car sharing che proponga     applicazione gambling      Customer Care sul sito di   modello di gestione dei
  servizi a valore aggiunto    verso il mondo della       Vodafone per potenziare     preventivi per i
  per il comune che            mobilità in accordo con    l’utilizzo dell’Area “190   condomini in ambito
  propone quel servizio.       le esigenze di mercato.    fai da te”.                 pre-sales .




                                                                                                     15 di 54
5 mesi per ...
         TESI
         Sviluppare la tua TESI DI LAUREA MAGISTRALE
         a partire da un reale progetto aziendale

HI!      ENGLISH SCHOOL                                      TEAM WORK
         Studiare l’inglese A DUBLINO PER 2                  LAVORARE IN UN GRUPPO
         SETTIMANE                                           eterogeneo


         FORMAZIONE                                          AZIENDA
         RICEVERE FORMAZIONE manageriale                     Incontrare i MANAGER DELLE AZIENDE
         e comportamentale                                   consorziate



                     12 posti disponibili
                               partecipa alle selezioni , iscriviti su

      @JuniorCons
                       www.juniorconsulting.it
                                                                                     16 di 54
Agenda


                Project Management



           Software Project Management



                 Metodologie agili



         Progetto Transmission Link Analysis



            Conclusioni e sviluppi futuri


                                               17 di 54
Il Project Management

              Progetto                                                Ciclo di vita
        Sforzo temporaneo non                                    Il progetto è suddiviso in
        ripetitivo intrapreso allo                              quattro fasi sequenziali che
      scopo di creare un prodotto,                                 delineano le azioni da
        un servizio o un risultato                                   compiere al fine di
                  unico                                           raggiungere gli obiettivi



     Il Project Management è la disciplina per l'applicazione di conoscenze, attitudini,
     tecniche e strumenti alle attività di un progetto al fine di conseguirne gli obiettivi




  Ente no-profit statunitense per la diffusione delle pratiche di Project Management delle
                  quali ne definisce standard internazionali e best practice
                                                                                         18 di 54
Il Software Project Management

     Il Software Project Management si sviluppa in un’ambiente in continua
     evoluzione che costringe gli attori che vi partecipano a rispondere a tre
              peculiarità del software attraverso continui progressi


  Pianificazione continua          Cambiamenti repentini              Complessità elevata




     Le attività da svolgere vengono pianificate seguendo le fasi del ciclo di vita di un
                                   progetto informatico

                                                                                      19 di 54
Systems Development Life Cycle

                                             Pianificazione
                                     Identificazione dei problemi o
                                    delle opportunità strettamente
                                        correlate con il progetto




   Manutenzione & supporto                                                  Analisi dei requisiti
   Monitoraggio del sistema per                                       Progettazione dei requisiti in base
    poter apportare eventuali            Ciclo di vita                  alle funzionalità richieste dal
            modifiche                                                              cliente
                                           "SDLC"


                Implementazione                                           Design
            Sviluppo del sistema seguito                                Progettazione
             dall’attività di testing e di                      dell’architettura a supporto
                    installazione                                    del nuovo sistema


                                                                                               20 di 54
Performance progetti software


    La Standish Group è la voce più autorevole nel panorama della valutazione delle
  performance dei progetti nel settore informatico attraverso la pubblicazione di report
          dove viene posta l’attenzione alle cause di fallimento di un progetto




                                   31,1%
                                                   Successo
                     52,7%                         Fallimento
                                                   Completamento senza il rispetto dei vincoli
                                   16,2%

        Fonte: Report CHAOS 1995

     Le cause principali di fallimento si possono riassumere nella mancanza di figure
   professionali specializzate nella gestione di progetti IT e per l’utilizzo di metodologie
                           tradizionali considerate ormai obsolete
                                                                                         21 di 54
Due modelli a confronto

   Per ogni progetto di sviluppo software è possibile scegliere tra un insieme di
                             metodologia di riferimento


        Modelli Classici                             Metodologie Agili




                                                                            22 di 54
Modello Waterfall

    Studio di fattibilità

        Analisi dei
         requisiti
                                Punti di forza                    Punti di debolezza
          Design                • Linearità                       • Burocrazia
                                • Sequenzialità                   • Rigidità
                                • Monoliticità                    • Tempistiche
         Sviluppo


         Collaudo           Poco affidabile nei progetti dove i requisiti non sono chiari
                             e ben definiti bensì suscettibili a variazioni significative
                                    come spesso accade nei progetti software
    Messa in Esercizio


      Manutenzione
                                                                                  23 di 54
Case Study: Mobile Engineer




                                              Team
                                Vincenzo L. Marrone

                                     Antonio Gentile
                                    Stefano Bottazzo
                              Kamal Kamal Mohamed




                                            24 di 52
Mobile Engineer

   Studio di fattibilità   15 giorni    Obiettivo

       Analisi dei                           Sviluppare un’applicazione
                           15 giorni         mobile che permetta ai tecnici
        requisiti
                                             Telecom di progettare
                                             infrastrutture di rete tramite
         Design             1 mesi           tablet


        Sviluppo            3 mesi


                                       Tempistiche
        Collaudo            1 mesi
                                            Il progetto ha una durata
                                            effettiva di 9 mesi
    Messa in Esercizio      1 mesi



     Manutenzione           2 mesi

                                                                          25 di 54
Risultati

                    Waterfall

     1. Modifiche apportate solo in seguito alla
         consegna
     2. Pianificazione non flessibile
     3. Crescita professionale e personale del
         singolo
     4. Feedback solo a fine progetto
     5. Integrazione complicata tra moduli
         dovuta al codice non standardizzato




              I numerosi stakeholder coinvolti e processi aziendali altamente
          strutturati e delineati hanno permesso l’adozione del modello waterfall
              che hanno garantito al team di sviluppare un prodotto di qualità

                                                                                    26 di 54
Metodologie agili (1/4)


   In risposta ai rapidi cambiamenti nelle richieste dei clienti sono stati sviluppati metodi
   agili caratterizzati da rilasci frequenti di componenti di software attraverso lo sviluppo
                                 durante iterazioni di breve durata


                                                                    Obiettivi        Incertezza
                                                                    condivisi        su sviluppi
                The Agile Manifesto

   1. Gli individui e le interazioni più che
      i processi e gli strumenti
   2. Il software funzionante più che la
      documentazione esaustiva
   3. La collaborazione col cliente più
      che la negoziazione dei contratti
   4. Rispondere al cambiamento più
      che seguire un piano
                                                                    Competenze          Progetti
  Fonte: Fowler, M. & Highsmith, J. - Software Development (2001)   trasversali      tecnologici
                                                                                       27 di 54
Metodologie agili (2/4)

    Agile                                                                        Waterfall

       • Focus sul cosa                                 • Focus sul come
       • Pianificazione snella                          • Pianificazione strutturata
       • Contesto dinamico ed                           • Contesto strutturato e
         imprevedibile                                    prevedibile
       • Progetti innovativi                            • Progetti standard
       • Orientamento al cliente                        • Orientamento al contratto


                                        Applicabilità

       •    Utilizzo dei principi agili se i requisiti sono soggetti a costanti cambiamenti
       •    Utilizzo principi waterfall se il business è maturo e le decisioni iniziali non
            necessitano di essere revisionate



                                                                                       28 di 54
Metodologie agili (3/4) - Scrum

    La metodologia si basa su regole rigide per il completamento di tutte le attività
                                          Schema




                                 Iterazioni brevi - Sprint
                              Team di progetto autonomo
                          Coinvolgimento continuo del cliente
   Ruoli                                                                           Eventi
                             Accettazione dei cambiamenti
                                 Pianificazione continua
                          Sviluppo incrementale del Software

                                                                                   29 di 54
Metodologie agili (4/4) - XP

 Gli elementi dei metodi tradizionali dell’ingegneria del software sono portati all’estremo


       Documentazione non                                         Importanza del
           minuziosa                                                feedback



       Miglioramento                                                        Sviluppo
      qualità prodotto                                                  incrementale del
           offerto                                                          software



           Contatto continuo                                       Importanza del
             col cliente per                                      team e flessibilità
            aggiornamenti                                          al cambiamento
                                     Finestre temporali
                                         prefissate

                                                                                        30 di 54
Confronto e sintesi principi agili

    Necessità di elaborare un framework concettuale incentrato sul rilascio iterativo ed
  incrementale di software funzionante guidato dal cliente attraverso la ripetizione di un
       ciclo completo di sviluppo e di test su un breve periodo di tempo predefinito


    Scrum                                                                                XP

        •   Ruoli ben definiti                        •   Importanza Teamwork
        •   Meeting scadenzati                        •   Comunicazione continua
        •   Sprint di breve durata                    •   Feedback
        •   Pianificazione continua                   •   Semplicità di esecuzione
        •   Incremento competenze team                •   Importanza dei test
        •   Ruolo attivo cliente                      •   Orientamento al risultato



        La difficoltà maggiore è stata riscontrata nell’armonizzazione delle pratiche
            stringenti e scadenzate di Scrum con la flessibilità dei principi di XP


                                                                                        31 di 54
Elementi di interesse

                                       Progetto
                       Natura tecnologica         Innovatività




                                      Integrazione
                                      competenze




                              Incertezza        Rapidità di
                             funzionalità        sviluppo



                                    Ambiente Agile
     L’analisi congiunta tra punti di forza e contesto di applicazione hanno permesso
                  l’elaborazione di una nuova metodologia per il progetto
                                                                                 32 di 54
Case Study: Transmission Link Analysis




                                                      Team
                                         Vincenzo L. Marrone
                                             Arianna Oliviero
                                              Imma Budillon
                                             Federico Scacco




                                                    33 di 52
Transmission Link Analysis (1/2)


                                                                                                                       Necessità di
          Necessità di
                                                                                                                     automatizzare il
       integrazione dei             GeoSystem                       AlfaSystem                                          processo di
        dati della rete
                                                                                                                       connessione
         in fibra ottica            Database con informazioni su rete                                                 alla rete ottica
                                         ottica non comunicanti
                                                                                                        8        2
                                                                                                                                   OLO
                                                                               10            10
                                                                                                            2
                                                                                               2
                                                                                                       4
                                                                                       12
                                                                                   2               6            10

                                                                                   10
                                                                              6                             10
                                                                                             8
                                                                          4                            14

                                                                              10        14




                                                                        Sviluppo
    Studio di                 Sviluppo            Ricostruzione                                                        Manutenzione
                                                                    funzionalità di
  fattibilità del          funzionalità di      logica della rete                                                      e supporto del
                                                                     analisi di pre-
progetto e analisi          connessione         per realizzazione                                                         software
                                                                      fattibilità su
   dei requisiti               sistemi           grafo connesso                                                         complessivo
                                                                     grafo pesato


                                                                                                                                  34 di 54
Metodologia proposta
         Integrazione dei principi agili per massimizzare i risultati di progetto


    Semplicità empirica                                Backlog

    Suddivisione attività                               Sprint

      Empowerment                                  Scrum Meeting


    Tecniche operative                        Collective code ownership

    Sviluppo porzioni di                           Small Releases
          software

    Linguaggio unificato                       Continuous integration


      Test concordati                         Test-Driven Development

                                                                                    35 di 54
Transmission Link Analysis (2/2)
   Contributo ad un progetto innovativo e di natura tecnologica in ambiente dinamico


              Sprint
                                              Pianificazione temporale delle attività
                                           progettuali attraverso l’utilizzo della rolling
             Backlog                         wave planning per la suddivisione delle
                                           mansioni e delle funzionalità da sviluppare e
         Scrum Meeting                       preparazione della documentazione per
                                                          incontri ufficiali

    Collective code ownership
                                             Pianificazione della rete di comunicazione
          Small Releases                         interna e con stakeholder coinvolti
                                            attivamente e monitoraggio continuo dello
                                           stato delle attività per favorire l’integrazione
      Continuous integration               tra moduli sviluppati e motivazione del team
                                               per crescita professionale e personale
     Test-Driven Development

                                                                                   36 di 54
Transmission Link Analysis (2/2)
   Contributo ad un progetto innovativo e di natura tecnologica in ambiente dinamico


              Sprint
                                              Pianificazione temporale delle attività
                                           progettuali attraverso l’utilizzo della rolling
             Backlog                         wave planning per la suddivisione delle
                                           mansioni e delle funzionalità da sviluppare e
         Scrum Meeting                       preparazione della documentazione per
                                                          incontri ufficiali

    Collective code ownership
                                             Pianificazione della rete di comunicazione
          Small Releases                         interna e con stakeholder coinvolti
                                            attivamente e monitoraggio continuo dello
                                           stato delle attività per favorire l’integrazione
      Continuous integration               tra moduli sviluppati e motivazione del team
                                               per crescita professionale e personale
     Test-Driven Development

                                                                                   37 di 54
Sprint
                          Lo Sprint di Scrum definisce le attività entro una breve finestra temporale
START          KICK-OFF       Sprint 1         Sprint 2                     Sprint 3   Sprint 4        SAL 1                   Sprint 5    SAL 2                  Sprint 6        CLOSING
03/10            03/11         17/11            02/12                        16/12      23/12          17/01                    27/01      21/02                   29/02           08/03


                           Novembre                            Dicembre                                    Gennaio                         Febbraio                            Marzo
                     Individuazione e studio
                             Sistemi


                                     Raccolta e Analisi dei requisiti dei
                                                   tool


                                                          Modalità di integrazione
 Attività




                                                               tra i sistemi

                                                                                       Specifiche funzionali e Progettazione
                                                                                                      del tool

                                                                                                                      Sviluppo Mapping

                                                                                                                                                      Sviluppo Tool Analisi
                                                                                                                                                         di pre-fatibilità

                                                                                                                                                                             Testing



                     Documento di analisi dei requisiti dei tool                                               Documento di Specifiche            Tool di analisi di pre-
 Deliverable




                     Documento Interfaccia utente                                                               funzionali                         fattibilità
                                                                                                                Tool di mapping                    Report di testing




                                                                                                                                                                      38 di 54
Transmission Link Analysis (2/2)
   Contributo ad un progetto innovativo e di natura tecnologica in ambiente dinamico


              Sprint
                                              Pianificazione temporale delle attività
                                           progettuali attraverso l’utilizzo della rolling
             Backlog                         wave planning per la suddivisione delle
                                           mansioni e delle funzionalità da sviluppare e
         Scrum Meeting                       preparazione della documentazione per
                                                          incontri ufficiali

    Collective code ownership
                                             Pianificazione della rete di comunicazione
          Small Releases                         interna e con stakeholder coinvolti
                                            attivamente e monitoraggio continuo dello
                                           stato delle attività per favorire l’integrazione
      Continuous integration               tra moduli sviluppati e motivazione del team
                                               per crescita professionale e personale
     Test-Driven Development

                                                                                   39 di 54
Backlog
              I Backlog di Scrum definiscono le funzionalità da implementare




                       Filtraggio dati

  Product              Importazione            Sprint                Filtraggio dati
  Backlog                    .
                             .                 Backlog
                             .                                       Importazione
                        Reportistica


              Requisiti in ordine di                     Requisiti sviluppati dal
            priorità del committente                       team nello Sprint


    Ogni qual volta veniva deciso lo sviluppo di un requisito questo era eliminato dal
    Product Backlog e inserito nello Sprint Backlog dove l’aggiunta dei dettagli ne ha
                      permesso lo sviluppo nello Sprint successivo

                                                                                       40 di 54
Transmission Link Analysis (2/2)
   Contributo ad un progetto innovativo e di natura tecnologica in ambiente dinamico


              Sprint
                                              Pianificazione temporale delle attività
                                           progettuali attraverso l’utilizzo della rolling
             Backlog                         wave planning per la suddivisione delle
                                           mansioni e delle funzionalità da sviluppare e
         Scrum Meeting                       preparazione della documentazione per
                                                          incontri ufficiali

    Collective code ownership
                                             Pianificazione della rete di comunicazione
          Small Releases                         interna e con stakeholder coinvolti
                                            attivamente e monitoraggio continuo dello
                                           stato delle attività per favorire l’integrazione
      Continuous integration               tra moduli sviluppati e motivazione del team
                                               per crescita professionale e personale
     Test-Driven Development

                                                                                   41 di 54
Scrum Meeting
 I Meeting di Scrum sono incontri prestabiliti e ricorrenti per divulgazione aggiornamenti




                                       Daily Meeting
                                           Scrum
      Sprint Planning                                                       Sprint Review
         Meeting                           Sprint                             Meeting

                              Start                           Finish



                                      Sprint Retrospective
                                            Meeting


    Gli incontri sono stati pianificati sia all’interno del team che con i committenti ed
     avevano lo scopo di allineare e diffondere lo stato di avanzamento del progetto
                                                                                     42 di 54
Transmission Link Analysis (2/2)
   Contributo ad un progetto innovativo e di natura tecnologica in ambiente dinamico


              Sprint
                                              Pianificazione temporale delle attività
                                           progettuali attraverso l’utilizzo della rolling
             Backlog                         wave planning per la suddivisione delle
                                           mansioni e delle funzionalità da sviluppare e
         Scrum Meeting                       preparazione della documentazione per
                                                          incontri ufficiali

    Collective code ownership
                                             Pianificazione della rete di comunicazione
          Small Releases                         interna e con stakeholder coinvolti
                                            attivamente e monitoraggio continuo dello
                                           stato delle attività per favorire l’integrazione
      Continuous integration               tra moduli sviluppati e motivazione del team
                                               per crescita professionale e personale
     Test-Driven Development

                                                                                   43 di 54
Collective code ownership
 La collettivizzazione è un meccanismo per la semplificazione del codice tra sviluppatori



      …Utilizzeremo il linguaggio                           …Le librerie si trovano in
                 Java…                                       Google Web Toolkit…




      …Ogni lunedì ci scambiamo                               …Conoscete tutti la
            funzionalità…                                    piattaforma Eclipse?…


        Ogni funzionalità veniva sviluppata separatamente dai due sviluppatori che
                 correggevano il lavoro del collega ad intervalli prefissati
                                                                                     44 di 54
Transmission Link Analysis (2/2)
   Contributo ad un progetto innovativo e di natura tecnologica in ambiente dinamico


              Sprint
                                              Pianificazione temporale delle attività
                                           progettuali attraverso l’utilizzo della rolling
             Backlog                         wave planning per la suddivisione delle
                                           mansioni e delle funzionalità da sviluppare e
         Scrum Meeting                       preparazione della documentazione per
                                                          incontri ufficiali

    Collective code ownership
                                             Pianificazione della rete di comunicazione
          Small Releases                         interna e con stakeholder coinvolti
                                            attivamente e monitoraggio continuo dello
                                           stato delle attività per favorire l’integrazione
      Continuous integration               tra moduli sviluppati e motivazione del team
                                               per crescita professionale e personale
     Test-Driven Development

                                                                                   45 di 54
Small releases
     La consegna del software avviene tramite frequenti rilasci di funzionalità che
             congiuntamente concorrono alla creazione del valore finale

           Funzionalità di                              Funzionalità di Analisi di
             Mapping                                          connessione




         Integrazione tra dati                           Software per analisi
          per aggiornamento                               di pre-fattibilità su
                sistemi                                       fibra ottica


                                                                                     46 di 54
Transmission Link Analysis (2/2)
   Contributo ad un progetto innovativo e di natura tecnologica in ambiente dinamico


              Sprint
                                              Pianificazione temporale delle attività
                                           progettuali attraverso l’utilizzo della rolling
             Backlog                         wave planning per la suddivisione delle
                                           mansioni e delle funzionalità da sviluppare e
         Scrum Meeting                       preparazione della documentazione per
                                                          incontri ufficiali

    Collective code ownership
                                             Pianificazione della rete di comunicazione
          Small Releases                         interna e con stakeholder coinvolti
                                            attivamente e monitoraggio continuo dello
                                           stato delle attività per favorire l’integrazione
      Continuous integration               tra moduli sviluppati e motivazione del team
                                               per crescita professionale e personale
     Test-Driven Development

                                                                                   47 di 54
Continuous integration
     La collettivizzazione del codice ha permesso di abbattere le problematiche di
                               integrazione tra funzionalità



    Mapping                                                              Connessione
                                                            OLO




                                     Pre-fattibilità

     Le porzioni di funzionalità sviluppate venivano integrate settimanalmente per
    mantenere l’allineamento tra gli sviluppatori che alla fine hanno concretizzato il
                                  software complessivo

                                                                                   48 di 54
Transmission Link Analysis (2/2)
   Contributo ad un progetto innovativo e di natura tecnologica in ambiente dinamico


              Sprint
                                              Pianificazione temporale delle attività
                                           progettuali attraverso l’utilizzo della rolling
             Backlog                         wave planning per la suddivisione delle
                                           mansioni e delle funzionalità da sviluppare e
         Scrum Meeting                       preparazione della documentazione per
                                                          incontri ufficiali

    Collective code ownership
                                             Pianificazione della rete di comunicazione
          Small Releases                         interna e con stakeholder coinvolti
                                            attivamente e monitoraggio continuo dello
                                           stato delle attività per favorire l’integrazione
      Continuous integration               tra moduli sviluppati e motivazione del team
                                               per crescita professionale e personale
     Test-Driven Development

                                                                                   49 di 54
Test-Driven Development
 I test sono stati concordati con il committente in modo da autenticare lo studio svolto e il
                                       software sviluppato



                   20%


              13%
                                      47%

                    20%

               Generazione Cluster               Risultato:                         Risultato:
               Analisi dell’intorno                 80%                               100%
               Margine miglioramento geocoding
               Analisi topologica
                        Test 1                                        Test 2
    I test hanno fornito ottimi risultati e il software verrà messo in esercizio a breve per
                     automatizzare il processo di analisi di pre-fattibilità
                                                                                        50 di 54
Risultati
                     Agile
  1. Software altamente rispondente alle
      richieste iniziali del cliente
  2. Modifiche accettate e apportate al
      software
  3. Pianificazione rispettata
  4. Crescita professionale e personale del
      team
  5. Feedback continui
  6. Integrazione semplice tra release



          L’ambiente dinamico ed i vincoli stringenti hanno permesso l’adozione dei
             principi agili che hanno garantito al team di sviluppare un prodotto di
                         qualità nel rispetto delle tempistiche pianificate
                                                                                       51 di 54
Conclusioni


  Metodologia leggera per           Fasi di lavoro brevi e
   la pianificazione delle        pianificate internamente
           attività                        dal team


  Monitoraggio continuo dello     Aumento della produttività del
   svolgimento del lavoro nel     team con consegne di release
       rispetto dei vincoli          funzionanti e complete



       Accettazione dei              Feedback utili per
      cambiamenti nelle           apportare miglioramenti
     funzionalità richieste             al software


        Maggiore elasticità       Coinvolgimento continuo del
  nell’inserimento di modifiche    cliente per la verifica della
        nella pianificazione         rispondenza ai requisiti
                                                            52 di 54
Considerazioni




    Non è indicato concentrarsi su un singolo approccio,
      ogni progetto richiede o porta ad adottare un
                     approccio diverso.




                                                      53 di 54
Questions & Answers




                      54 di 54
Riferimenti & Contatti

    Riferimenti

     Armani, F. (2011, Settembre). Introduzione alle metodologie agili.

     Abrahamsson, P., Ronkainen, J., Salo, O., & Warsta, J. (2002). Agile
     Software Development Methods - Review and Analysis.

     Project Management Institute. (2008). A Guide to the Project
     Management Body of Knowledge (PMBOK® Guide) - Fourth Edition



    Contatti

     Vincenzo Marrone: v.marrone@elis.org
     Francesco Messina: f.messina@elis.org


                                                                    @JuniorCons

Mais conteúdo relacionado

Semelhante a Metodologie Agili

Profilo Vm
Profilo VmProfilo Vm
Profilo Vmcdela1
 
Dall’assessment tecnologico alla business intelligence: approccio integrato e...
Dall’assessment tecnologico alla business intelligence: approccio integrato e...Dall’assessment tecnologico alla business intelligence: approccio integrato e...
Dall’assessment tecnologico alla business intelligence: approccio integrato e...AREA Science Park
 
2009 Ica It Presentazione
2009 Ica It Presentazione2009 Ica It Presentazione
2009 Ica It PresentazioneGiovanni FRANCO
 
REI srl sviluppo formazione e servizi 231/2001
REI srl sviluppo formazione e servizi 231/2001REI srl sviluppo formazione e servizi 231/2001
REI srl sviluppo formazione e servizi 231/2001Retievoluzioneimpresa
 
Profilo Value Managers
Profilo Value ManagersProfilo Value Managers
Profilo Value ManagersValue Managers
 
Brochure Happy Society
Brochure Happy SocietyBrochure Happy Society
Brochure Happy SocietyDaniela Donati
 
Presentazione FC 2014
Presentazione FC 2014Presentazione FC 2014
Presentazione FC 2014Gruppo FC
 
Corporateuniversity
CorporateuniversityCorporateuniversity
Corporateuniversityguest775ad2
 
Presentazione FC consulenza
Presentazione FC consulenzaPresentazione FC consulenza
Presentazione FC consulenzaGruppo FC
 
YOUR INTERFACE: start up-in_ticino
YOUR INTERFACE: start up-in_ticinoYOUR INTERFACE: start up-in_ticino
YOUR INTERFACE: start up-in_ticinoYOUR INTERFACE SA
 
Presentazione FC Italia
Presentazione FC ItaliaPresentazione FC Italia
Presentazione FC ItaliaGruppo FC
 
Impact Italia Presentation
Impact Italia PresentationImpact Italia Presentation
Impact Italia PresentationGerardoLocurcio
 
Impact Italia Presentation
Impact Italia PresentationImpact Italia Presentation
Impact Italia Presentationelenaceriotti
 

Semelhante a Metodologie Agili (20)

Profilo Vm
Profilo VmProfilo Vm
Profilo Vm
 
Dall’assessment tecnologico alla business intelligence: approccio integrato e...
Dall’assessment tecnologico alla business intelligence: approccio integrato e...Dall’assessment tecnologico alla business intelligence: approccio integrato e...
Dall’assessment tecnologico alla business intelligence: approccio integrato e...
 
2009 Ica It Presentazione
2009 Ica It Presentazione2009 Ica It Presentazione
2009 Ica It Presentazione
 
REI srl sviluppo formazione e servizi 231/2001
REI srl sviluppo formazione e servizi 231/2001REI srl sviluppo formazione e servizi 231/2001
REI srl sviluppo formazione e servizi 231/2001
 
talenti innovativi
talenti innovativitalenti innovativi
talenti innovativi
 
Pf company profile
Pf company profilePf company profile
Pf company profile
 
Linkedin Ppi 2012 05 01
Linkedin Ppi 2012 05 01Linkedin Ppi 2012 05 01
Linkedin Ppi 2012 05 01
 
Profilo Value Managers
Profilo Value ManagersProfilo Value Managers
Profilo Value Managers
 
Brochure Happy Society
Brochure Happy SocietyBrochure Happy Society
Brochure Happy Society
 
Presentazione FC 2014
Presentazione FC 2014Presentazione FC 2014
Presentazione FC 2014
 
Stratea
StrateaStratea
Stratea
 
Corporateuniversity
CorporateuniversityCorporateuniversity
Corporateuniversity
 
Chi Siamo
 Chi Siamo Chi Siamo
Chi Siamo
 
Brochure Lenovys
Brochure LenovysBrochure Lenovys
Brochure Lenovys
 
Brochure Lenovys
Brochure LenovysBrochure Lenovys
Brochure Lenovys
 
Presentazione FC consulenza
Presentazione FC consulenzaPresentazione FC consulenza
Presentazione FC consulenza
 
YOUR INTERFACE: start up-in_ticino
YOUR INTERFACE: start up-in_ticinoYOUR INTERFACE: start up-in_ticino
YOUR INTERFACE: start up-in_ticino
 
Presentazione FC Italia
Presentazione FC ItaliaPresentazione FC Italia
Presentazione FC Italia
 
Impact Italia Presentation
Impact Italia PresentationImpact Italia Presentation
Impact Italia Presentation
 
Impact Italia Presentation
Impact Italia PresentationImpact Italia Presentation
Impact Italia Presentation
 

Metodologie Agili

  • 1. Le Metodologie Agili per il Project Management nel settore informatico 1 giugno 2012 Vincenzo Lucio Marrone Francesco Messina
  • 2. Consel – Consorzio ELIS: una breve descrizione • Nasce nel 1992 su iniziativa del Centro ELIS con il quale condivide la missione della formazione integrale della persona: tecnica e comportamentale. • É una scuola interaziendale nella quale i consorziati cooperano in ambiti di apprendimento, sviluppo della persona e dell’organizzazione, responsabilità sociale • É costituito da oltre 45 imprese e 3 Business Schools 2 di 54
  • 3. Consel – Consorzio ELIS: una breve descrizione Il centro ELIS si occupa di formazione e consulenza ed è situato a Roma. L’ ELIS si impegna per migliorare le persone come lavoratori, professionisti e manager e supporta le aziende che collaborano col centro tramite una ampia gamma di servizi. 3 di 54
  • 4. Consel – Consorzio ELIS: una breve descrizione Key competencies Operations & Safety Innovation & General Entrepreneurship Management Formazione Information & Communication Human Resources Technology • People management • Service definition and business • Personal development modeling • Organization development • Marketing plan • Business Process Reengineering • Marketing Analytics Human Resources Marketing & & Organization Innovation Consulenza • Use of technology for business • Solution Design support • Development & Testing • IT Strategy • Feasibility Analysis • Product Scouting & Assessment 4 Business Technology Technology 4 di 54
  • 5. Consel – Consorzio ELIS: una breve descrizione Consulenza MAIN COMPETENCE AREAS MARKETING & INNOVATION TECHNOLOGY ORGANIZATION  Market Research and  Solution Design  Process Analysis Environment Analysis  Development & Testing  Knowledge Management  Service Concept Creation  Feasibility Analysis  BPR / BPI  Marketing Plan  Scouting  Change Management  Business Model  Business Plan MAIN TOPICS NEW GENERATION NETWORKS TECHNOLOGICAL STRATEGY NEW MEDIA  New Services, Integration  IT Infrastructure Library  Service Concept Definition  IP Multimedia Subsystem  Architecture & Governance  Customer profiling  Unlicensed Mobile Access  Network Management  Business model  Service Oriented Architecture  Security INFOMOBILITY CONVERGENCE MEDIA-TELCO KNOWLEDGE MANAGEMENT  LBS and Mobile Interaction  Broadcast – DVB-H, DRM  Tool & Model  Service Concept Definition  Unicast – WiMax, UMTS CRM  E-tourism  Multicast – IP-TV, MPLS  Process design  ITS - Service Benchmarking E-GOVERNMENT  Customer insights  Content and customer profiling  Research and Service  Origin/destination matrix Development  Mobile networks management for infomobility services 5 di 54
  • 6. Consel – Consorzio ELIS: una breve descrizione Formazione Supportiamo le persone nello sviluppo di competenze manageriali durante tutto il loro percorso professionale. Come risultato di questo approccio, sulla base delle richieste degli Alunni, l’ELIS è sempre al lavoro per definire e proporre programmi innovativi, rivolti a target differenti Executive Professional & Manager Neo assunti Laureati Laureandi Diplomati 6 di 54
  • 7. Consel – Consorzio ELIS: una breve descrizione Formazione Supportiamo le persone nello sviluppo di competenze manageriali durante tutto il loro percorso professionale. Come risultato di questo approccio, sulla base delle richieste degli Alunni, l’ELIS è sempre al lavoro per definire e proporre programmi innovativi, rivolti a target differenti Junior Consulting Executive Professional & Manager Neo assunti Talent Camp Laureati Laureandi HR Academy Diplomati 7 di 54
  • 8.
  • 9. Sintesi del Programma La formazione sa creare valore UNIVERSITÀ TESI SOFT SKILLS ”il progetto è il cuore TRAINING della tesi di laurea” MANAGEMENT ENGLISH SCHOOL TRAINING ”brillanti studenti universitari” PLACEMENT “giovani professionisti capaci di lavorare per obiettivi” TEAM WORK COACHING TEAM LEADER N AZIENDA W E PROJECT DEVELOPMENT (ACTION S LEARNING) DELIVERABLES “soluzioni aziendali reali e misurabili” ”problemi aziendali concreti” 9 di 54
  • 10. Ambiti della Formazione La FORMAZIONE si incentra su 4 aree e su due ambiti: • competenze manageriali • competenze relazionali /comportamentali 10 di 54
  • 11. English School 2 SETTIMANE A DUBLINO per perfezionare il proprio inglese: • 40 ore di lezione (9:00-13:30) in classi con lo stesso livello di preparazione (A1,.., C2) • Escursioni di gruppo nel WE • Certificato che attesta la partecipazione al corso • Accomodation presso famiglie locali 11 di 54
  • 12. Team Work • Ogni PROGETTO è sviluppato da un team di 3 allievi supervisionati, coordinati e coadiuvati da un Team Leader ELIS • Il mix vincente è dato da team con competenze eterogenee (tecniche, organizzative, economiche) così che gli allievi possano affrontare lo stesso problema da prospettive differenti. 12 di 54
  • 13. Sviluppo della tesi di laurea • Il progetto aziendale rappresenta la PARTE SPERIMENTALE DELLA TESI DI LAUREA dei partecipanti al programma • Ogni progetto ha come SPONSOR una delle aziende del consorzio ELIS • Lo sviluppo di un progetto passa per le FASI di raccolta dei requisiti del cliente, definizione di contesto e obiettivi, stesura del piano delle attività, realizzazione dei deliverable concordati 13 di 54
  • 14. Placement Il 100% degli allievi ha ricevuto un’offerta di lavoro anche APPENA LAUREATI 65% grazie al SERVIZIO DI PLACEMENT DI ELIS ENTRO 3 MESI 100% Gli ex allievi sono oggi impiegati nelle più IMPORTANTI REALTÀ AZIENDALI E CONSULENZIALI italiane 14 di 54
  • 15. I nostri progetti Young Customer Mobile automation Mobile payment Smart Info marketing channel Progettazione di Progettazione di un Sviluppo di un Action Sviluppo di un un’applicazione per sistema per l’erogazione Plan di iniziative volte applicativo per effettuare dei dei dati di consumo all’engagement e alla semplificare l’accesso micropagamenti da energetico in ambito retention del segmento alle business application smartphone dotati di domestico . Young customer di Sky da parte degli tecnologia NFC . istallatori. E- care customer Car sharing Mobile Gambling Service & Delivery automation Strutturare un servizio di Prototipazione di una Ottimizzazione della Realizzazione di un car sharing che proponga applicazione gambling Customer Care sul sito di modello di gestione dei servizi a valore aggiunto verso il mondo della Vodafone per potenziare preventivi per i per il comune che mobilità in accordo con l’utilizzo dell’Area “190 condomini in ambito propone quel servizio. le esigenze di mercato. fai da te”. pre-sales . 15 di 54
  • 16. 5 mesi per ... TESI Sviluppare la tua TESI DI LAUREA MAGISTRALE a partire da un reale progetto aziendale HI! ENGLISH SCHOOL TEAM WORK Studiare l’inglese A DUBLINO PER 2 LAVORARE IN UN GRUPPO SETTIMANE eterogeneo FORMAZIONE AZIENDA RICEVERE FORMAZIONE manageriale Incontrare i MANAGER DELLE AZIENDE e comportamentale consorziate 12 posti disponibili partecipa alle selezioni , iscriviti su @JuniorCons www.juniorconsulting.it 16 di 54
  • 17. Agenda Project Management Software Project Management Metodologie agili Progetto Transmission Link Analysis Conclusioni e sviluppi futuri 17 di 54
  • 18. Il Project Management Progetto Ciclo di vita Sforzo temporaneo non Il progetto è suddiviso in ripetitivo intrapreso allo quattro fasi sequenziali che scopo di creare un prodotto, delineano le azioni da un servizio o un risultato compiere al fine di unico raggiungere gli obiettivi Il Project Management è la disciplina per l'applicazione di conoscenze, attitudini, tecniche e strumenti alle attività di un progetto al fine di conseguirne gli obiettivi Ente no-profit statunitense per la diffusione delle pratiche di Project Management delle quali ne definisce standard internazionali e best practice 18 di 54
  • 19. Il Software Project Management Il Software Project Management si sviluppa in un’ambiente in continua evoluzione che costringe gli attori che vi partecipano a rispondere a tre peculiarità del software attraverso continui progressi Pianificazione continua Cambiamenti repentini Complessità elevata Le attività da svolgere vengono pianificate seguendo le fasi del ciclo di vita di un progetto informatico 19 di 54
  • 20. Systems Development Life Cycle Pianificazione Identificazione dei problemi o delle opportunità strettamente correlate con il progetto Manutenzione & supporto Analisi dei requisiti Monitoraggio del sistema per Progettazione dei requisiti in base poter apportare eventuali Ciclo di vita alle funzionalità richieste dal modifiche cliente "SDLC" Implementazione Design Sviluppo del sistema seguito Progettazione dall’attività di testing e di dell’architettura a supporto installazione del nuovo sistema 20 di 54
  • 21. Performance progetti software La Standish Group è la voce più autorevole nel panorama della valutazione delle performance dei progetti nel settore informatico attraverso la pubblicazione di report dove viene posta l’attenzione alle cause di fallimento di un progetto 31,1% Successo 52,7% Fallimento Completamento senza il rispetto dei vincoli 16,2% Fonte: Report CHAOS 1995 Le cause principali di fallimento si possono riassumere nella mancanza di figure professionali specializzate nella gestione di progetti IT e per l’utilizzo di metodologie tradizionali considerate ormai obsolete 21 di 54
  • 22. Due modelli a confronto Per ogni progetto di sviluppo software è possibile scegliere tra un insieme di metodologia di riferimento Modelli Classici Metodologie Agili 22 di 54
  • 23. Modello Waterfall Studio di fattibilità Analisi dei requisiti Punti di forza Punti di debolezza Design • Linearità • Burocrazia • Sequenzialità • Rigidità • Monoliticità • Tempistiche Sviluppo Collaudo Poco affidabile nei progetti dove i requisiti non sono chiari e ben definiti bensì suscettibili a variazioni significative come spesso accade nei progetti software Messa in Esercizio Manutenzione 23 di 54
  • 24. Case Study: Mobile Engineer Team Vincenzo L. Marrone Antonio Gentile Stefano Bottazzo Kamal Kamal Mohamed 24 di 52
  • 25. Mobile Engineer Studio di fattibilità 15 giorni Obiettivo Analisi dei Sviluppare un’applicazione 15 giorni mobile che permetta ai tecnici requisiti Telecom di progettare infrastrutture di rete tramite Design 1 mesi tablet Sviluppo 3 mesi Tempistiche Collaudo 1 mesi Il progetto ha una durata effettiva di 9 mesi Messa in Esercizio 1 mesi Manutenzione 2 mesi 25 di 54
  • 26. Risultati Waterfall 1. Modifiche apportate solo in seguito alla consegna 2. Pianificazione non flessibile 3. Crescita professionale e personale del singolo 4. Feedback solo a fine progetto 5. Integrazione complicata tra moduli dovuta al codice non standardizzato I numerosi stakeholder coinvolti e processi aziendali altamente strutturati e delineati hanno permesso l’adozione del modello waterfall che hanno garantito al team di sviluppare un prodotto di qualità 26 di 54
  • 27. Metodologie agili (1/4) In risposta ai rapidi cambiamenti nelle richieste dei clienti sono stati sviluppati metodi agili caratterizzati da rilasci frequenti di componenti di software attraverso lo sviluppo durante iterazioni di breve durata Obiettivi Incertezza condivisi su sviluppi The Agile Manifesto 1. Gli individui e le interazioni più che i processi e gli strumenti 2. Il software funzionante più che la documentazione esaustiva 3. La collaborazione col cliente più che la negoziazione dei contratti 4. Rispondere al cambiamento più che seguire un piano Competenze Progetti Fonte: Fowler, M. & Highsmith, J. - Software Development (2001) trasversali tecnologici 27 di 54
  • 28. Metodologie agili (2/4) Agile Waterfall • Focus sul cosa • Focus sul come • Pianificazione snella • Pianificazione strutturata • Contesto dinamico ed • Contesto strutturato e imprevedibile prevedibile • Progetti innovativi • Progetti standard • Orientamento al cliente • Orientamento al contratto Applicabilità • Utilizzo dei principi agili se i requisiti sono soggetti a costanti cambiamenti • Utilizzo principi waterfall se il business è maturo e le decisioni iniziali non necessitano di essere revisionate 28 di 54
  • 29. Metodologie agili (3/4) - Scrum La metodologia si basa su regole rigide per il completamento di tutte le attività Schema Iterazioni brevi - Sprint Team di progetto autonomo Coinvolgimento continuo del cliente Ruoli Eventi Accettazione dei cambiamenti Pianificazione continua Sviluppo incrementale del Software 29 di 54
  • 30. Metodologie agili (4/4) - XP Gli elementi dei metodi tradizionali dell’ingegneria del software sono portati all’estremo Documentazione non Importanza del minuziosa feedback Miglioramento Sviluppo qualità prodotto incrementale del offerto software Contatto continuo Importanza del col cliente per team e flessibilità aggiornamenti al cambiamento Finestre temporali prefissate 30 di 54
  • 31. Confronto e sintesi principi agili Necessità di elaborare un framework concettuale incentrato sul rilascio iterativo ed incrementale di software funzionante guidato dal cliente attraverso la ripetizione di un ciclo completo di sviluppo e di test su un breve periodo di tempo predefinito Scrum XP • Ruoli ben definiti • Importanza Teamwork • Meeting scadenzati • Comunicazione continua • Sprint di breve durata • Feedback • Pianificazione continua • Semplicità di esecuzione • Incremento competenze team • Importanza dei test • Ruolo attivo cliente • Orientamento al risultato La difficoltà maggiore è stata riscontrata nell’armonizzazione delle pratiche stringenti e scadenzate di Scrum con la flessibilità dei principi di XP 31 di 54
  • 32. Elementi di interesse Progetto Natura tecnologica Innovatività Integrazione competenze Incertezza Rapidità di funzionalità sviluppo Ambiente Agile L’analisi congiunta tra punti di forza e contesto di applicazione hanno permesso l’elaborazione di una nuova metodologia per il progetto 32 di 54
  • 33. Case Study: Transmission Link Analysis Team Vincenzo L. Marrone Arianna Oliviero Imma Budillon Federico Scacco 33 di 52
  • 34. Transmission Link Analysis (1/2) Necessità di Necessità di automatizzare il integrazione dei GeoSystem AlfaSystem processo di dati della rete connessione in fibra ottica Database con informazioni su rete alla rete ottica ottica non comunicanti 8 2 OLO 10 10 2 2 4 12 2 6 10 10 6 10 8 4 14 10 14 Sviluppo Studio di Sviluppo Ricostruzione Manutenzione funzionalità di fattibilità del funzionalità di logica della rete e supporto del analisi di pre- progetto e analisi connessione per realizzazione software fattibilità su dei requisiti sistemi grafo connesso complessivo grafo pesato 34 di 54
  • 35. Metodologia proposta Integrazione dei principi agili per massimizzare i risultati di progetto Semplicità empirica Backlog Suddivisione attività Sprint Empowerment Scrum Meeting Tecniche operative Collective code ownership Sviluppo porzioni di Small Releases software Linguaggio unificato Continuous integration Test concordati Test-Driven Development 35 di 54
  • 36. Transmission Link Analysis (2/2) Contributo ad un progetto innovativo e di natura tecnologica in ambiente dinamico Sprint Pianificazione temporale delle attività progettuali attraverso l’utilizzo della rolling Backlog wave planning per la suddivisione delle mansioni e delle funzionalità da sviluppare e Scrum Meeting preparazione della documentazione per incontri ufficiali Collective code ownership Pianificazione della rete di comunicazione Small Releases interna e con stakeholder coinvolti attivamente e monitoraggio continuo dello stato delle attività per favorire l’integrazione Continuous integration tra moduli sviluppati e motivazione del team per crescita professionale e personale Test-Driven Development 36 di 54
  • 37. Transmission Link Analysis (2/2) Contributo ad un progetto innovativo e di natura tecnologica in ambiente dinamico Sprint Pianificazione temporale delle attività progettuali attraverso l’utilizzo della rolling Backlog wave planning per la suddivisione delle mansioni e delle funzionalità da sviluppare e Scrum Meeting preparazione della documentazione per incontri ufficiali Collective code ownership Pianificazione della rete di comunicazione Small Releases interna e con stakeholder coinvolti attivamente e monitoraggio continuo dello stato delle attività per favorire l’integrazione Continuous integration tra moduli sviluppati e motivazione del team per crescita professionale e personale Test-Driven Development 37 di 54
  • 38. Sprint Lo Sprint di Scrum definisce le attività entro una breve finestra temporale START KICK-OFF Sprint 1 Sprint 2 Sprint 3 Sprint 4 SAL 1 Sprint 5 SAL 2 Sprint 6 CLOSING 03/10 03/11 17/11 02/12 16/12 23/12 17/01 27/01 21/02 29/02 08/03 Novembre Dicembre Gennaio Febbraio Marzo Individuazione e studio Sistemi Raccolta e Analisi dei requisiti dei tool Modalità di integrazione Attività tra i sistemi Specifiche funzionali e Progettazione del tool Sviluppo Mapping Sviluppo Tool Analisi di pre-fatibilità Testing  Documento di analisi dei requisiti dei tool  Documento di Specifiche  Tool di analisi di pre- Deliverable  Documento Interfaccia utente funzionali fattibilità  Tool di mapping  Report di testing 38 di 54
  • 39. Transmission Link Analysis (2/2) Contributo ad un progetto innovativo e di natura tecnologica in ambiente dinamico Sprint Pianificazione temporale delle attività progettuali attraverso l’utilizzo della rolling Backlog wave planning per la suddivisione delle mansioni e delle funzionalità da sviluppare e Scrum Meeting preparazione della documentazione per incontri ufficiali Collective code ownership Pianificazione della rete di comunicazione Small Releases interna e con stakeholder coinvolti attivamente e monitoraggio continuo dello stato delle attività per favorire l’integrazione Continuous integration tra moduli sviluppati e motivazione del team per crescita professionale e personale Test-Driven Development 39 di 54
  • 40. Backlog I Backlog di Scrum definiscono le funzionalità da implementare Filtraggio dati Product Importazione Sprint Filtraggio dati Backlog . . Backlog . Importazione Reportistica Requisiti in ordine di Requisiti sviluppati dal priorità del committente team nello Sprint Ogni qual volta veniva deciso lo sviluppo di un requisito questo era eliminato dal Product Backlog e inserito nello Sprint Backlog dove l’aggiunta dei dettagli ne ha permesso lo sviluppo nello Sprint successivo 40 di 54
  • 41. Transmission Link Analysis (2/2) Contributo ad un progetto innovativo e di natura tecnologica in ambiente dinamico Sprint Pianificazione temporale delle attività progettuali attraverso l’utilizzo della rolling Backlog wave planning per la suddivisione delle mansioni e delle funzionalità da sviluppare e Scrum Meeting preparazione della documentazione per incontri ufficiali Collective code ownership Pianificazione della rete di comunicazione Small Releases interna e con stakeholder coinvolti attivamente e monitoraggio continuo dello stato delle attività per favorire l’integrazione Continuous integration tra moduli sviluppati e motivazione del team per crescita professionale e personale Test-Driven Development 41 di 54
  • 42. Scrum Meeting I Meeting di Scrum sono incontri prestabiliti e ricorrenti per divulgazione aggiornamenti Daily Meeting Scrum Sprint Planning Sprint Review Meeting Sprint Meeting Start Finish Sprint Retrospective Meeting Gli incontri sono stati pianificati sia all’interno del team che con i committenti ed avevano lo scopo di allineare e diffondere lo stato di avanzamento del progetto 42 di 54
  • 43. Transmission Link Analysis (2/2) Contributo ad un progetto innovativo e di natura tecnologica in ambiente dinamico Sprint Pianificazione temporale delle attività progettuali attraverso l’utilizzo della rolling Backlog wave planning per la suddivisione delle mansioni e delle funzionalità da sviluppare e Scrum Meeting preparazione della documentazione per incontri ufficiali Collective code ownership Pianificazione della rete di comunicazione Small Releases interna e con stakeholder coinvolti attivamente e monitoraggio continuo dello stato delle attività per favorire l’integrazione Continuous integration tra moduli sviluppati e motivazione del team per crescita professionale e personale Test-Driven Development 43 di 54
  • 44. Collective code ownership La collettivizzazione è un meccanismo per la semplificazione del codice tra sviluppatori …Utilizzeremo il linguaggio …Le librerie si trovano in Java… Google Web Toolkit… …Ogni lunedì ci scambiamo …Conoscete tutti la funzionalità… piattaforma Eclipse?… Ogni funzionalità veniva sviluppata separatamente dai due sviluppatori che correggevano il lavoro del collega ad intervalli prefissati 44 di 54
  • 45. Transmission Link Analysis (2/2) Contributo ad un progetto innovativo e di natura tecnologica in ambiente dinamico Sprint Pianificazione temporale delle attività progettuali attraverso l’utilizzo della rolling Backlog wave planning per la suddivisione delle mansioni e delle funzionalità da sviluppare e Scrum Meeting preparazione della documentazione per incontri ufficiali Collective code ownership Pianificazione della rete di comunicazione Small Releases interna e con stakeholder coinvolti attivamente e monitoraggio continuo dello stato delle attività per favorire l’integrazione Continuous integration tra moduli sviluppati e motivazione del team per crescita professionale e personale Test-Driven Development 45 di 54
  • 46. Small releases La consegna del software avviene tramite frequenti rilasci di funzionalità che congiuntamente concorrono alla creazione del valore finale Funzionalità di Funzionalità di Analisi di Mapping connessione Integrazione tra dati Software per analisi per aggiornamento di pre-fattibilità su sistemi fibra ottica 46 di 54
  • 47. Transmission Link Analysis (2/2) Contributo ad un progetto innovativo e di natura tecnologica in ambiente dinamico Sprint Pianificazione temporale delle attività progettuali attraverso l’utilizzo della rolling Backlog wave planning per la suddivisione delle mansioni e delle funzionalità da sviluppare e Scrum Meeting preparazione della documentazione per incontri ufficiali Collective code ownership Pianificazione della rete di comunicazione Small Releases interna e con stakeholder coinvolti attivamente e monitoraggio continuo dello stato delle attività per favorire l’integrazione Continuous integration tra moduli sviluppati e motivazione del team per crescita professionale e personale Test-Driven Development 47 di 54
  • 48. Continuous integration La collettivizzazione del codice ha permesso di abbattere le problematiche di integrazione tra funzionalità Mapping Connessione OLO Pre-fattibilità Le porzioni di funzionalità sviluppate venivano integrate settimanalmente per mantenere l’allineamento tra gli sviluppatori che alla fine hanno concretizzato il software complessivo 48 di 54
  • 49. Transmission Link Analysis (2/2) Contributo ad un progetto innovativo e di natura tecnologica in ambiente dinamico Sprint Pianificazione temporale delle attività progettuali attraverso l’utilizzo della rolling Backlog wave planning per la suddivisione delle mansioni e delle funzionalità da sviluppare e Scrum Meeting preparazione della documentazione per incontri ufficiali Collective code ownership Pianificazione della rete di comunicazione Small Releases interna e con stakeholder coinvolti attivamente e monitoraggio continuo dello stato delle attività per favorire l’integrazione Continuous integration tra moduli sviluppati e motivazione del team per crescita professionale e personale Test-Driven Development 49 di 54
  • 50. Test-Driven Development I test sono stati concordati con il committente in modo da autenticare lo studio svolto e il software sviluppato 20% 13% 47% 20% Generazione Cluster Risultato: Risultato: Analisi dell’intorno 80% 100% Margine miglioramento geocoding Analisi topologica Test 1 Test 2 I test hanno fornito ottimi risultati e il software verrà messo in esercizio a breve per automatizzare il processo di analisi di pre-fattibilità 50 di 54
  • 51. Risultati Agile 1. Software altamente rispondente alle richieste iniziali del cliente 2. Modifiche accettate e apportate al software 3. Pianificazione rispettata 4. Crescita professionale e personale del team 5. Feedback continui 6. Integrazione semplice tra release L’ambiente dinamico ed i vincoli stringenti hanno permesso l’adozione dei principi agili che hanno garantito al team di sviluppare un prodotto di qualità nel rispetto delle tempistiche pianificate 51 di 54
  • 52. Conclusioni Metodologia leggera per Fasi di lavoro brevi e la pianificazione delle pianificate internamente attività dal team Monitoraggio continuo dello Aumento della produttività del svolgimento del lavoro nel team con consegne di release rispetto dei vincoli funzionanti e complete Accettazione dei Feedback utili per cambiamenti nelle apportare miglioramenti funzionalità richieste al software Maggiore elasticità Coinvolgimento continuo del nell’inserimento di modifiche cliente per la verifica della nella pianificazione rispondenza ai requisiti 52 di 54
  • 53. Considerazioni Non è indicato concentrarsi su un singolo approccio, ogni progetto richiede o porta ad adottare un approccio diverso. 53 di 54
  • 55. Riferimenti & Contatti Riferimenti Armani, F. (2011, Settembre). Introduzione alle metodologie agili. Abrahamsson, P., Ronkainen, J., Salo, O., & Warsta, J. (2002). Agile Software Development Methods - Review and Analysis. Project Management Institute. (2008). A Guide to the Project Management Body of Knowledge (PMBOK® Guide) - Fourth Edition Contatti Vincenzo Marrone: v.marrone@elis.org Francesco Messina: f.messina@elis.org @JuniorCons