Anzeige

Final presentation of Project Management course (Gestione Progetti Software) [ITALIAN]

11. Jun 2020
Anzeige

Más contenido relacionado

Anzeige

Final presentation of Project Management course (Gestione Progetti Software) [ITALIAN]

  1. Progetto TraWell Laurea Magistrale in Informatica - Università di Salerno Corso Di Gestione Progetti Software - Prof.ssa F. Ferrucci PROJECT MANAGMENT
  2. Outline ● Gestione delle risorse ● Pianificazione ● Costi ● Monitoraggio attività ● Qualità ● Rischi ● Conclusioni
  3. LA PIATTAFORMA TRAWELL Una piattaforma Web per gli appassionati di viaggio che permette: ● Condivisione di esperienze di viaggio ● Creazione di gruppi di viaggio ● Creazione di itinerari di viaggio ● Condivisione di servizi di car sharing ● Creazione di wallet per i viaggi
  4. Gestione delle risorse
  5. Trawell Team
  6. Analisi del sociogramma di Moreno ● Individuare le relazioni all’interno del team ● Questionari basati sulla condivisione di esperienze lavorative, esperienze universitarie e tempo libero ● Creazione di due sotto-team ● Assegnazione dei ruoli
  7. Organization Breakdown Structure
  8. OBS Filomena Ferrucci Top Manager & Sponsor Alexander Minichino Project Manager Aniello Florido Project Manager
  9. OBS Filomena Ferrucci Top Manager & Sponsor Alexander Minichino Project Manager Aniello Florido Project Manager Paolo Fasano Team Leader Vincent Milione Team Leader Mario Paone Team Member Gaetano Ruggiero Team Member Umberto Russomando Team Member Vincenzo Lamberti Team Member Davide Alfieri Team Member
  10. Tools di comunicazione & PM ● Comunicazione Formale ○ Slack ● Comunicazione Informale ○ Telegram ● Managment ○ Asana ○ Microsoft Project ● Condivisione Documenti ○ Google Drive
  11. MOI Motivation Organization Innovation
  12. STRUTTURA MEETING Revisione dei task precedenti Valutazione dei progressi del progetto Analisi dei rischi Pianificazione task futuri
  13. Comunicazioni con Top Manager & Sponsor Status report Agende & minute Email
  14. Valutazioni Team ● Effettuate a ridosso del raggiungimento delle milestone ○ Partendo dal RAD completo ○ Suddividendo lo sviluppo & testing in due fasi ■ Iniziale: Configurazione ambiente, messa in pratica dei concetti illustrati nelle sessioni di training, inizio dello sviluppo vero e proprio con annesso testing. ■ Finale: Conclusione del coding & testing, risoluzione bug, migliorie e deploy. ○ Utilizzando quattro diversi parametri di giudizio per ogni team member: Proattività Rispetto Qualità degli artefatti Autonomia
  15. Andamento Delle Valutazioni
  16. Pianificazione
  17. Planning:WBS
  18. Costi
  19. 50h x 7 TM = 350h - 11.18€/h lordi per ogni TM
  20. 50h x 2 PM = 100h - 22,37€/h lordi per ogni PM 50h x 7 TM = 350h 11.18€/h lordi per ogni TM
  21. 930,36€ per un abbonamento Cloud per i primi tre anni 50h x 7 TM = 350h 11.18€/h lordi per ogni TM 50h x 2 PM = 100h 22,37€/h lordi per ogni PM
  22. 3000€ campagna social su Facebook per 60 giorni 50h x 7 TM = 350h 11.18€/h lordi per ogni TM 50h x 2 PM = 100h 22,37€/h lordi per ogni PM 930,36€ per un abbonamento Cloud per i primi tre anni
  23. 50h x 7 TM = 350h 11.18€/h lordi per ogni TM 50h x 2 PM = 100h 22,37€/h lordi per ogni PM 3000€ campagna social su Facebook per 60 giorni 8052€ costo annuale per la manutenzione 930,36€ per un abbonamento Cloud per i primi tre anni
  24. EVM Trawell RAD Funzionale + kick off RAD Completo SDD & System TC ODD & Integration TC Implementazione & TR Metric 14/11/2019 24/11/2019 06/12/2019 16/12/2019 15/01/2020 Budget at Completion (BAC) € 385,71 € 754,58 € 1.403,02 € 1.973,20 € 3.918,45 Earned Value (EV) € 385,71 € 754,58 € 1.403,02 € 1.973,20 € 3.918,45 Actual Cost (AC) € 378,78 € 770,08 € 1.329,08 € 1.889,32 € 4.293,02 Planned Value (PV) € 385,71 € 754,58 € 1.403,02 € 1.973,20 € 3.918,45 %Progress 100% 100% 100% 100% 100% Cost Variance (CV) € 6,93 -€ 15,50 € 73,94 € 83,88 -€ 374,57 Schedule Variance (SV) € 0,00 € 0,00 € 0,00 € 0,00 € 0,00 Cost Performance Index (CPI) € 1,02 € 0,98 € 1,06 € 1,04 € 0,91 Schedule Performance Index (SPI) € 1,00 € 1,00 € 1,00 € 1,00 € 1,00 Estimate to Completion (ETC) € 0,00 € 0,00 € 0,00 € 0,00 € 0,00 Estimate at Completion (EAC) € 378,78 € 770,08 € 1.329,08 € 1.889,32 € 4.293,02 Variance at Completion (VAC) € 6,93 -€ 15,50 € 73,94 € 83,88 -€ 374,57 Stato GREEN YELLOW GREEN GREEN YELLOW
  25. EVM
  26. EVM
  27. Monitoraggio attività
  28. Supervisione e versioning Dopo opportune valutazioni si è deciso di adottare un approccio “open-source-like” al controllo di versione. Pertanto, abbiamo deciso di adottare il modus operandi della più grande fonte di progetti IT open al mondo.
  29. Github flow Create a branch “Sviluppa le tue ideee senza compromettere il master”
  30. Github flow Create, edit and commit “Apporta modifiche e aggiungile al tuo branch”
  31. Github flow Open a Pull Request “Avvia una discussione sui tuoi commit e richiedi l’approvazione delle modifiche”
  32. Github flow Discuss and review your code “Discuti con la comunity dei cambiamenti che hai effettuato”
  33. Github flow Deploy “Build, test, verifica che le tue modifiche non provochino difetti in produzione”
  34. Github flow Merge “É tempo di effettuare il merge con il master!”
  35. Dalla teoria alla pratica
  36. /alexminichino/trawell /PFasano99/trawell /Renerine/trawell /PFasano99/trawell: /PFasano99/trawell /PFasano99/trawell /Renerine/trawell /Renerine/trawell Fork Upstream Layer Branching from master layer
  37. /PFasano99/trawell /Renerine/trawell /PFasano99/trawell: /PFasano99/trawell /PFasano99/trawell /Renerine/trawell /Renerine/trawell /alexminichino/trawell Commit Layer
  38. /PFasano99/trawell /Renerine/trawell /PFasano99/trawell: /PFasano99/trawell /PFasano99/trawell /Renerine/trawell /Renerine/trawell /alexminichino/trawell Pull request layer Commit Layer P R
  39. CI & CD2 ● Continuous integration ○ Permette di effettuare il merge con il master molto spesso e facilemnte ○ Automatizza building e testing: le modifiche vengono convalidate e testate su una build in automatico ○ Garantisce un maggior controllo sul codice ○ Evita che si verifichino failure dovute all’integrazione di nuove modifiche ○ Il sistema non viene mai “interrotto” da commit sul ramo principale
  40. CI & CD2 ● Continuous delivery ○ É un’estensione del CI ○ Permette il rilascio di funzionalità e modifiche in modo sostenibile ○ Automatizza il rilascio e rende molto semplice la distribuzione ● Continuous deployment ○ Ogni modifica che supera tutte le fasi della pipeline viene distribuita ai clienti finali ○ Non necessita di interventi umani ○ Un solo test fallito impedisce che tutte le nuove modifiche vadano in produzione ○ Accelera il processo di feedback con i clienti ○ Gli sviluppatori possono vedere il loro lavoro funzionante dopo pochi minuti dal commit
  41. Travis ● Continuous integration cloud based ● Permette di costruire pipeline complesse con semplicità ● Si integra alla perfezione con Github ● Supporta tutti i linguaggi di programmazione ● Permette la distribuzione su piattafome diverse ● Offre numerosi strumenti di messaggistica e avviso in caso di failure
  42. Trawell Pipeline Test suite Travis CI Build & test Pull request Report Merge Master Metrics & Coverage Deploy platforms
  43. Qualità
  44. Quality Metriche Per quantificare la bontà dell’elaborato sono state adoperate le seguenti metriche: ● Code size: ○ Lines of Code (LOC) ○ Lines of comment ○ Comment percentage ● Complexity: ○ Complessità ciclomatica: conta il numero di percorsi attraverso il codice, ogni volta che il flusso di controllo ha una biforcazione, il contatore della complessità aumenta di 1, ogni funzione di base ha complessità ciclomatica pari a 1. Inoltre, la CC fornisce un’indicazione sul test, minore è la complessità e maggiore è la facilità di esecuzione dei test. ○ Complessità cognitiva: misura quanto è difficile comprendere il flusso di controllo del codice.
  45. Quality Metriche ● Maintainability ○ Code smells: conta il numero di code smells, ovvero porzioni di codice che potrebbero presentare difetti. ○ SQALE method: ■ Technical Debt: effort necessario stimato per correggere tutte le code smells presenti. ■ Technical Debt ratio: rapporto tra il costo per sviluppare il software e il costo per effettuare fix, questo parametro è definito come il rapporto tra il “remediation cost” e il “development cost”, ovvero: Remediation cost / (Cost to develop 1 line of code * Number of lines of code) Esempio: assumendo che il costo per sviluppare una linea di codice sia 30 min (valore di default) e che il Remediation cost sia 30 min per una classe di LOC pari a 50, avremo un Technical Debt ratio = 30/(30*50)= 0.02.
  46. Quality Metriche ● Coverage: ○ Line Coverage: misura il livello di copertura del codice sorgente di una suite di test. ○ Decision (o Branch) Coverage: misura il livello di copertura dei costrutti decisionali di una suite di test.
  47. Quality Usability test Per testare l’usabilità del prodotto finale è stato condotto un questionario che mirava a valutare le seguenti caratteristiche ritenute essenziali per la riuscita del prodotto: ● Understandability: rappresenta la capacità di un prodotto software di permettere all’utente di capire le sue funzionalità e come poterla utilizzare con successo. ● Learnability: rappresenta la capacità di un prodotto software di permettere all’utente di imparare ad utilizzare l’applicazione. ● Attractiveness: rappresenta la capacità di un prodotto software di risultare “attraente” per l’utente. La qualità è relativa alla progettazione dell’aspetto grafico delle sue interfacce, all’utilizzo dei colori e delle immagini, ecc.
  48. I risultati
  49. Code Size LOC Classi: 72
  50. Code Size LOC
  51. Code Size Methods Metodi: 444
  52. Complexity Cyclomatic complexity Di progetto: 289
  53. Complexity Cyclomatic complexity average for Method
  54. Complexity Cognitive Complexity Di progetto: 289
  55. Complexity Cognitive complexity average for Method
  56. Maintainability Code Smells Di progetto: 152
  57. Complexity Code Smells average for Method
  58. Maintainability Technical Debt Di progetto: 1 D 6H
  59. Maintainability Technical Debt Ratio % A Di progetto: 0,8%
  60. Coverage Line coverage
  61. Coverage Decision coverage
  62. Usability: analisi risultati ● Pro: ○ Piattaforma semplice da usare ○ La maggior parte degli utenti trova che l’interfaccia grafica sia accattivante ○ Poco tempo richiesto per imparare ad utilizzare la piattaforma ● Contro: ○ Alcuni utenti hanno ritenuto che ci fossero alcune incoerenze tra le funzionalità del sito
  63. Rischi
  64. ● Identificati 15 eventi potenzialmente dannosi per il progetto Trawell ● Ogni evento è stato classificato per impatto e probabilità di verificarsi con: ○ Low ○ Medium ○ High ● Per ogni evento è stato definito un piano di contingenza Rischi identificati
  65. ● R_2: Documentazione tecnicamente inadeguata ○ È stato nominato un responsabile di revisione e correzione ✔ ● R_5: Eccessivo carico di lavoro: ○ Il carico di lavoro è stato ridistribuito e le risorse in difficoltà sono state affiancate da altri team member ✔ ● R_8: Scarsa padronanza delle tecnologie da parte dei team member ○ Sono state effettuate ulteriori sessioni di training per colmare eventuali lacune ✔ Rischi riscontrati - previsti
  66. ● Scarsa comunicazione tra i membri del team e lavoro poco coordinato ○ È stata eseguita un’analisi retrospettiva attraverso colloqui e questionari che ha evidenziato la necessità da parte del team di avere uno o più team leader ✔ ○ Il team è stato suddiviso in due sotto team a cui è stato assegnato un team leader ✔ ○ È stato nominato un responsabile comunicazione ✔ Rischi riscontrati - non previsti
  67. Conclusioni
  68. ● Aspetti positivi: ○ Buona gestione della schedulazione delle attività ○ Obiettivi dei PM quasi sempre chiari ○ Utili sessioni di training ○ Team generalmente soddisfatto ● Aspetti negativi: ○ Poco tempo a disposizione ○ Difficoltà nell’utilizzo di nuove tecnologie Post-mortem Review
  69. Cosa abbiamo imparato ● Il ruolo del PM è molto difficile ● Abbiamo migliorato le nostre capacità di comunicazione ● Effettuare una pianificazione corretta è di essenziale importanza ● Il monitoraggio costante è alla base del successo di un progetto
  70. Grazie per l’attenzione!

Hinweis der Redaktion

  1. La complessità ciclomatica è una misura della qualità del codice. Ci aiuta a sapere esattamente quanto sia complessa una particolare routine e ci aiuta a riformattare quella routine secondo necessità. Per la maggior parte delle routine, una complessità ciclomatica inferiore a 4 è considerata buona; una complessità ciclomatica tra 5 e 7 è considerata media complessità, tra 8 e 10 è alta complessità e soprattutto estrema complessità.
  2. A livello di metodo, 15 è un massimo consigliato. A livello di classe, dipende da cosa ti aspetti dal pacchetto. Ad esempio, in un pacchetto che dovrebbe contenere solo classi con campi e semplici getter o setter, una classe con una complessità cognitiva superiore a 0 (5-10?) Merita probabilmente un'altra occhiata. D'altra parte, in un pacchetto che contiene classi di business logic, un punteggio di classe> = ... 150 (?) Potrebbe indicare che è tempo di esaminare la divisione della classe. Debt . Example: assuming the development cost is 30 minutes, a project with a technical debt of 24,000 minutes for 2,500 LOC will have a technical debt ratio of 24000/(30 * 2,500) = 0.32. That yields a maintainability rating of D.
  3. Durante lo svolgimento del progetto Trawell si sono verificati i seguenti eventi che inizialmente erano stati identificati come rischi e per ognuno di essi è stato eseguito il relativo piano di contingenza.
  4. Durante lo svolgimento del progetto Trawell si sono verificati i seguenti eventi che inizialmente erano stati identificati come rischi e per ognuno di essi è stato eseguito il relativo piano di contingenza.
Anzeige