Speaker: Giovanni Puliti Sviluppare progetti: il percorso dall’idea al rilascio IL PROGRAMMATORE E LE SUE API Agenda › Il programmatore e le sue api › Il lavoro del PM › Il lavoro dell’analista › Il lavoro del designer › Il lavoro della promozione Giovanni Puliti Il programmatore e le sue api 2 Introduzione IL PROGETTO “IL PROGRAMMATORE E LE SUE API” Agenda Genesi dell’iniziativa Obiettivo Applicazione Il programmatore e le sue api 3 Genesi della iniziativa Nasce come consulenza formativa su PM Si allarga alle metodologie Infine approccia al problema delle tecnologie Comunicazione Il programmatore e le sue api 4 Scopo del progetto Lo scopo: roadmap di un progetto enterprise Definire i passi e le priorità Definire i macro temi Dare indicazione sugli strumenti da usare Gestione della evoluzione di un progetto Il programmatore e le sue api 5 Studio di fattibilità – macro progettazione INCEPTION PHASE Agenda Processo Studio di fattibilità Vincoli - il cubo d'acciaio Definizione della architettura – I parte Scelte tecnologiche – I parte Il programmatore e le sue api 6 Processo Quale è la modalità di lavoro? Processo agile Processo strutturato rigoroso Approccio iterativo Spesso il buon senso è un ottimo alleato Formalizzare il processo Ridurre le rigidità Non stravolgere il modo di lavorare Usare strumenti semplici e noti Il programmatore e le sue api 7 Studio di fattibilità Identificare Scope di progetto Gli stakeholders e gli interlocutori Sponsor e avversari Intercettare il bisogno del cliente Individuare i requisiti non funzionali Identificare le priorità Elenco delle indeterminazioni Il programmatore e le sue api 8 Vincoli e obiettivi: il cubo d'acciaio Scegliere due fra tre Economico Buono Prestazionale A priori nessun progetto vuole essere costosto, fatto male, lento Il mantra del cliente “Ok tutto bello ma noi purtroppo siamo una realtà particolare” Il programmatore e le sue api 9 The art of project management “Ok tutto bello, ma noi purtroppo siamo una realtà particolare” Più si forza un sistema – più questo si ritorce contro Il programmatore e le sue api 10 Scelte architetturali – I parte La fase di inception aiuta a sciogliere i macro dubbi 3Tier RAD RIA Tecnologie coinvolte Rispettare i requisiti cliente Tempistiche Costi Complessità User experience Rispettare i vincoli sui requisiti Complessità Skill acquisiti Tempi di sviluppo Il programmatore e le sue api 11 Scelte tecnologiche – I parte Non tutte le domande trovano risposta in questa fase Potrebbero essere necessarie ulteriori indagini Potrebbe essere necessario un POC Alcune risposte arrivano poco dopo In fase di analisi – raccolta di requisiti In fase di setup del PM – compilazione del PID Massima chiarezza che non abbiamo ancora la risposta Il programmatore e le sue api 12 Project management IL LAVORO DEL PM Agenda PID Scomposizione strutturale del progetto Organizzazione Strumentario Il programmatore e le sue api 13 Il lavoro del project manager Tenere sotto controllo l’avanzamento del progetto Individuare le parti e le attività associate Individuare le criticità Making Things Happen Il programmatore e le sue api 14 PID Scope di progetto Definisce cosa è il progetto Cosa non è nel progetto Aiuta nella definizione del confine Background Definizione del progetto Struttura organizzativa del progetto Piano di Comunicazione Piano di Qualità del progetto Tolleranze del progetto Controlli del progetto Priorità del progetto Business Case Iniziale Project Plan Iniziale Risk Log Iniziale Utile nel dettaglio della contrattualizzazione Fa emergere eventuali requisiti non chiari Il programmatore e le sue api 15 PID Background Definizione del progetto Struttura organizzativa del progetto Piano di Comunicazione Piano di Qualità del progetto Tolleranze del progetto Controlli del progetto Priorità del progetto Business Case Iniziale Project Plan Iniziale Risk Log Iniziale Il programmatore e le sue api 16 PID Schema delle priorità di progetto Il programmatore e le sue api 17 Scomposizione Mindmap Il programmatore e le sue api 18 Scomposizione WBS Il programmatore e le sue api 19 Pianificazione Gestione stato avanzamento dettagliato (privato?) - Gantt Il programmatore e le sue api 20 Pianificazione Gestione stato avanzamento semplice e condiviso - UCList Il programmatore e le sue api 21 Controllo Gestione del tempo Il programmatore e le sue api 22 Analisi funzionale IL LAVORO DELL’ANALISTA Agenda Visione dinamica del sistema Raccolta dei requisiti funzionali Raccolta dei requisiti non funzionali Analisi Il programmatore e le sue api 23 Analisi Visione dinamica Activity diagrams Interaction diagrams State diagrams Visione statica Use case (inter dipendenze logiche) Il programmatore e le sue api 24 Analisi Scomposizione ulteriore della WBS Elencazione degli Use Cases UC-FORM Elenco delle BR Il programmatore e le sue api 25 UC Form Il programmatore e le sue api 26 BR Form Il programmatore e le sue api 27 GUI prototyping Il programmatore e le sue api 28 GUI prototyping Il programmatore e le sue api 29 Less is more Il programmatore e le sue api 30 Progettazione e implementazione IL LAVORO DEL DESIGNER Agenda Visione statica del progetto datamodeling - ORM - OOA – ER pattern di riferimento schemi progettuali: data layer, middle layer, front end test Il programmatore e le sue api 31 Design del sistema Visione statica del sistema Use case (inter dipendenze tecnologiche) Data model Progettazione dei layer Disegno delle componenti Pattern programming Façade, Delegation, Proxy, DTO, …. Il programmatore e le sue api 32 Datamodeling Da dove partire? Disegno il DB e ci creo gli oggetti sopra? OOAD che poi mappo su tabelle? Dicotomia OO – ER Impedence mismatch Obiettivi e risposte diverse Il programmatore e le sue api 33 Datamodeling Si parte dalle entità Il programmatore e le sue api 34 Datamodeling Si creano le associazioni Il programmatore e le sue api 35 Datamodeling Si raffinano le relazioni OO Il programmatore e le sue api 36 E’ un processo iterativo Il programmatore e le sue api 37 Comunicazione – promozione - IL LAVORO DEL MARKETING Agenda Promozione del prodotto Creare l’interesse Social marketing Il programmatore e le sue api 38 Comunicazione Il prodotto deve essere pubblicizzato Il prodotto deve essere presentato Il prodotto deve essere spiegato Il programmatore e le sue api 39 Approccio tradizionale Pubblicità Presentazioni – video – how to - articoli Manuali - help Il programmatore e le sue api 40 Approccio non tradizionale Community online Social network Social marketing Il programmatore e le sue api 41 La comunicazione non convenzionale Il programmatore e le sue api 42 La comunicazione non convenzionale dilloaobama.org Il programmatore e le sue api 43 La comunicazione non convenzionale Il programmatore e le sue api 44 Facebook Teoria degli insiemi Le bolle o cerchi di interessi Innesco dell’interesse Strumenti tipici di FB Gruppi Elenti Liste di appartenenza Fuso orario e stagionalità Il programmatore e le sue api 45 Question Time DOMANDE, DUBBI, CURIOSITÀ? [email protected] [email protected] Il programmatore e le sue api 46