Perché a fare i preventivi facciamo così schifo? @BetterSoftware 2102

  • 816 views
Uploaded on

L'idea del talk è quella di mostrare come spesso in fase di preventivazione di un lavoro si tenda a sottovalutare tutta una serie di aspetti e attività apparentemente secondari, ma in realtà con un …

L'idea del talk è quella di mostrare come spesso in fase di preventivazione di un lavoro si tenda a sottovalutare tutta una serie di aspetti e attività apparentemente secondari, ma in realtà con un impatto notevole sull'effort. Scopo del talk è quello di portare all'attenzione degli sviluppatori come questo "difetto" nelle proprie stime abbia impatto non solo sulla remuneratività del proprio lavoro, ma soprattutto sulla qualità complessiva del prodotto consegnato al cliente.L'idea del talk è quella di mostrare come spesso in fase di preventivazione di un lavoro si tenda a sottovalutare tutta una serie di aspetti e attività apparentemente secondari, ma in realtà con un impatto notevole sull'effort. Scopo del talk è quello di portare all'attenzione degli sviluppatori come questo "difetto" nelle proprie stime abbia impatto non solo sulla remuneratività del proprio lavoro, ma soprattutto sulla qualità complessiva del prodotto consegnato al cliente.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
816
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
13
Comments
0
Likes
5

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. PERCHÉ A FARE I PREVENTIVIFACCIAMO COSÌ SCHIFO? CRISTIANO RASTELLI
  • 2. Table of contents Flying to the moon Una piccola storia Il nervo scoperto Coders are special My experience Let’s play “quote” Costi nascosti Side-effects Alcuni riferimenti Conclusioni
  • 3. CAVEAT
  • 4. Le dimensioni contano
  • 5. Ci sono altri mondi, là fuori!
  • 6. FLYING TOTHE MOON
  • 7. Flying to the moonI progetti “Mercury” e “Gemini”, a cui si riferiscono questeimmagini, sono state due serie di missioni spaziali, condottedalla NASA con lo scopo di acquisire il know-how e lecompetenze necessarie per portare, in poco meno di diecianni, il primo uomo sulla Luna.Hanno ottenuto risultati mai raggiunti prima d’allora: primo equipaggio in orbita attorno alla terra prima “camminata” di un astronauta nello spazio primo rendez-vous e attracco fra due veicoli spaziali
  • 8. Flying to the moon 25 maggio 1961 “I believe that this nation should commit itself to achieving the goal, before this decade is out, of landing a man on the moon and returning him safely to the earth” President John F. Kennedy
  • 9. Flying to the moonE’ stato il maggior sforzo economico, tecnologico escientifico mai sostenuto dagli USA, assieme al ProgettoManhattan e alla costruzione dello stretto di Panama.
  • 10. Flying to the moonE’ stato il maggior sforzo economico, tecnologico escientifico mai sostenuto dagli USA, assieme al ProgettoManhattan e alla costruzione dello stretto di Panama. Costo del Programma Apollo (miliardi di dollari) 30 25 20 15 10 5 0 Stima iniziale Stima J. Webb Stima finale Costo finale
  • 11. Flying to the moonE’ stato il maggior sforzo economico, tecnologico escientifico mai sostenuto dagli USA, assieme al ProgettoManhattan e alla costruzione dello stretto di Panama. Costo del Programma Apollo (miliardi di dollari) 30 25 20 15 10 5 0 Stima iniziale Stima J. Webb Stima finale Costo finale
  • 12. Flying to the moonE’ stato il maggior sforzo economico, tecnologico escientifico mai sostenuto dagli USA, assieme al ProgettoManhattan e alla costruzione dello stretto di Panama. Costo del Programma Apollo (miliardi di dollari) 30 25 20 15 10 5 0 Stima iniziale Stima J. Webb Stima finale Costo finale
  • 13. Flying to the moonE’ stato il maggior sforzo economico, tecnologico escientifico mai sostenuto dagli USA, assieme al ProgettoManhattan e alla costruzione dello stretto di Panama. Costo del Programma Apollo (miliardi di dollari) 30 25 20 15 10 5 0 Stima iniziale Stima J. Webb Stima finale Costo finale
  • 14. Flying to the moonE’ stato il maggior sforzo economico, tecnologico escientifico mai sostenuto dagli USA, assieme al ProgettoManhattan e alla costruzione dello stretto di Panama. Costo del Programma Apollo (miliardi di dollari) 30 25 20 15 10 5 0 Stima iniziale Stima J. Webb Stima finale Costo finale
  • 15. Preventivare non si può “andare corti” budget stanziati dal committentePrevedere *Occorre sapere valutare e analizzare: ogni minimo dettaglio (dalla vite allo stadio propulsivo) ogni possibile/probabile futura necessità tutti i possibili casi, non solo il “best-case scenario”.* Non significa essere degli indovini o fare oracoli sul futuro...
  • 16. Flying to the moon 20 luglio 1969 Buzz Aldrin
  • 17. UNAPICCOLA STORIA
  • 18. Cirpo
  • 19. Cirpo “Ma sì, ma quanto vuoi metterci a...”
  • 20. Una piccola storia / 1Una sera, mentre stavamo facendo una conference-call viaSkype per l’organizzazione della Node.js Conference, sistava parlando di totem da piazzare agli ingressi della sala.Io sostenevo che meno cose c’erano da fare, meglio era(c’erano altre mille cose da fare, ricordare, organizzare).A un certo punto Cirpo se ne è uscito con questa frase:“Ma sì, ma quanto vuoi metterci? Tanto le fa Riccardo”.E qui mi si è accesa una lampadina: stava completamentetralasciando tutti gli aspetti collaterali dell’attività che nonfossero la semplice, mera esecuzione materiale.
  • 21. Una piccola storia / 2E mi sono fatto questa domanda: ma perché i DEV inparticolare – ma gli esseri umani in generale – sono cosìpessimi a fare stime e preventivi?Forse, ho pensato, c’è un motivo antropologico, qualcosache condiziona il nostro cervello e lo induce a sottovalutaresistematicamente gli sforzi (gli “effort”) per permettere agliuomini di osare di più, di fare cose che normalmente nonfarebbero e “selezionare la specie” più intraprendente?In ogni caso, mi sono proposto che avrei tenuto un talk suquesto tema, in cui fare “pelo e contropelo” ai DEV.Perciò, eccomi qui!
  • 22. IL NERVO SCOPERTO
  • 23. Il nervo scopertoQuesta sessione, quando è stata proposta la prima volta allaUGIALT.net Conference, è stata in assoluto la più votatadagli utenti, fra quelle in lizza per l’ammissione.Vi faccio notare che questo non è un talk tecnico, come glialtri. Cosa vuol dire secondo voi?Evidentemente è un’esigenza, un problema, una necessità,c’è un “sentire comune” che in fondo non siamo poi tantobravi a fare preventivi*.Insomma avevo toccato il classico “nervo scoperto” (efrancamente, non immaginavo fosse così scoperto!).* Non credo di essermi sbagliato poi molto nel dare il titolo a questo talk, no?
  • 24. CODERS ARESPECIAL
  • 25. You’re not that special, devs!
  • 26. Coders are not special!Da che mondo e mondo pittori, artisti, artigiani, architetti,ingegneri, costruttori, tutti quanti hanno dovuto produrreprogetti e stime di costo ex-ante.Tutti coloro che devono “creare” qualcosa che prima nonesisteva, che disegnano e progettano soluzioni su misura,che producono e realizzano prodotti “non standardizzati”.In molti casi (la buona parte?) hanno sbagliato stima.Noi non facciamo eccezione.Il punto qui però è: come fare un preventivo che abbia ilminor margine di errore possibile?
  • 27. Gli strumenti giusti
  • 28. Nessuno ti può insegnareLa verità è che fare preventivi è come educare i figli: puoitrovare manuali ovunque, puoi chiedere consigli a chiunquema alla fine qualunque “metodo” deciderai di adottare tisembrerà comunque imperfetto, troppo “astratto”, che nontiene conto del tuo caso particolare/speciale.Perché, come per i figli, fare un preventivo ti tocca davicino, ha a che fare con il tuo “vissuto quotidiano”.Con le tue esperienze pregresse.Con il tuo senso di auto-stima.Con l’amore per il tuo lavoro.Con il tuo conto in banca.
  • 29. MY EXPERIENCE
  • 30. My experienceQuindi non son quiper darvi nessuntipo di “lezione”.Tantomeno peresporvi teorie sucome elaborare ilpreventivo perfettoe infallibile.Sono qui perraccontarvi lamia esperienza.
  • 31. 3... 2... 1... Via!
  • 32. [ slide mancanti ]
  • 33. Cosa ho imparato
  • 34. Cosa ho imparato Separare mentalmente (e fisicamente) il ragionamento fra le attività da realizzare (quindi il progetto) e il tempo che occorre a realizzarle (quindi il preventivo) In questo modo si perde meno di vista l’obiettivo del preventivo, che è quello di fornire una stima/valutazione economica al proprio cliente dei costi di ideazione/progettazione/realizzazione di una determinata attività. Ragionare in termini di giorno-uomo ideale (di 8 ore)* (poi magari ce ne impieghi 12, ma quello è comunque il tuo parametro di riferimento temporale, la tua “unità di misura” di base) Tenere sempre a bada la vocina che è in noi. Quella che ormai riconosciamo, quella che ci fa dire “ma sì, ma cosa vuoi metterci a” oppure “non sarà caro? e se poi per il cliente è troppo?” e alla fine ci porta a sottostimare gli effort di un progetto, specie se complesso.
  • 35. Cosa ho imparato Il cliente guarda la cifra in basso a destra. Non c’è nulla da fare, è un dato di fatto oggettivo. Come il sole che sorge e tramonta. Occorre farsene una ragione e agire di conseguenza. Decidere (a seconda del cliente) cosa mostrare e cosa invece omettere (o non specificare affatto) Ad esempio la suddivisione del progetto in sotto-attività oppure il numero di giornate previste per ogni singola voce e/o il costo a giornata. Ci sono tipi diversi di clienti. A noi il compito di capire chi è l’interlocutore che abbiamo di fronte, cosa ci sta chiedendo, che tipo di risposta dare, in che forma comunicargli la nostra proposta progettuale/economica. A noi il compito di decidere se e quanto del nostro tempo dedicare (ovvero investire) nella redazione del preventivo.
  • 36. LET’S PLAY “QUOTE”
  • 37. Let’s play “quote”
  • 38. Let’s play “quote” Decidere assieme allo staff se fare le magliette per la conferenza • Fare email allo staff + polling/doodle Chiedere se qualcuno ha conoscenza/esperienza di stampatori di t-shirt Chiedere preventivo a 2 o 3 diversi stampatori di magliette • Fare email in cui si spiega cosa serve, come saranno le magliette, ecc. Confrontare fra loro i tre preventivi ricevuti • Cercare su internet il prezzo medio di una maglietta, per confronto • Decidere assieme agli altri membri dello staff quale scegliere Preparare le bozze grafiche delle magliette (con diverse soluzioni) • Cercare su internet i colori disponibili per le magliette • Scegliere il colore e ideare la grafica da far stampare sulle magliette • Realizzare i file grafici (vettoriali e/o bitmap alta risoluzione)
  • 39. Let’s play “quote” Decidere la grafica finale delle magliette • Sottoporre via email le soluzioni ideate/create ai membri dello staff • Leggere risposte/commenti e rispondere a propria volta • Modificare la bozza sulla base delle indicazioni ricevute • Scegliere soluzione definitiva assieme allo staff (con polling/doodle) Raccogliere le prenotazioni per le magliette • Creare form online con Google Docs • Creare pagina web per embedding e raccolta dati “clienti” Decidere quante magliette far stampare • Estrarre da foglio di calcolo i numeri aggregati per sesso, taglia, colore • Calcolare numero magliette aggiuntive da vendere il giorno della conf Ordinare le magliette allo stampatore • Mandare numeri e grafica finale allo stampatore per quotazione finale
  • 40. Let’s play “quote” Preparare i file grafici definitivi per lo stampatore (in diversi formati) • Inviare email allo stampatore con i dettagli tecnici dei file allegati Passare dallo stampatore per accordarsi, firmare l’ordine e dare l’acconto • Passare da chi ha la cassa per prendere i soldi da dare allo stampatore Chiamare stampatore per avere conferma della data di consegna Chiamare stampatore per accordarsi sul ritiro delle magliette Passare a ritirare le magliette dallo stampatore • Verificare la stampa delle magliette, pagare e caricare gli scatoloni Consegnare le magliette a chi le “venderà” il giorno della conferenza • Preparare foglio excel con la lista delle prenotazioni effettuate • Portare scatoloni a casa degli incaricati, per permettergli di suddividere le magliette per tipo, colore, taglia, ecc.
  • 41. COSTI NASCOSTI
  • 42. Costi nascosti Incontri preliminari Presentazione, raccolta dei requisiti, redazione del preventivo, illustrazione dell’offerta, trattative per definizione budget finale. Attività kickoff Pianificazione delle attività, boostrap del progetto, attribuzione dei task. Riunioni in corso d’opera Incontri per richieste di modifiche, attività integrative, raccolta feedback, avanzamento lavori, consegna del prodotto, eventuale formazione. Gestione del progetto Mantenimento delle relazioni con il cliente ed eventuali suoi fornitori di servizi, coordinamento delle attività dei propri collaboratori, redazione documenti di progetto, lettura/scrittura delle email.
  • 43. Costi nascosti Attività non previste Richieste e/o modifiche e/o integrazioni in corso d’opera. Variazione degli obiettivi di progetto al mutare degli interlocutori. Attività sottovalutate “Beh, ma quanto vuoi metterci a...”. Tempi di acquisizione di nuove competenze. Curve di apprendimento più lunghe del previsto. Attività collaterali/a conclusione del progetto Registrazione nei motori di ricerca, attivazione statistiche, creazione di account e configurazione profili su social network e servizi online. Varie ed eventuali Tempi di trasferta, anticipi economici (acquisto servizi/prodotti per conto del cliente, iva, tasse, ecc.), solleciti dei pagamenti, recupero crediti.
  • 44. SIDE-EFFECTS
  • 45. Side-effects
  • 46. Side-effects Ritardo nella consegna
  • 47. Side-effects Ritardo nella consegna • (e nell’avvio dei progetti successivi)
  • 48. Side-effects Ritardo nella consegna • (e nell’avvio dei progetti successivi) Credibilità personale
  • 49. Side-effects Ritardo nella consegna • (e nell’avvio dei progetti successivi) Credibilità personale Professionalità dimostrata
  • 50. Side-effects Ritardo nella consegna • (e nell’avvio dei progetti successivi) Credibilità personale Professionalità dimostrata Remuneratività del lavoro
  • 51. Side-effects Ritardo nella consegna • (e nell’avvio dei progetti successivi) Credibilità personale Professionalità dimostrata Remuneratività del lavoro Qualità complessiva
  • 52. L’effetto più importante Sbagliare l’effort di un preventivo ha impatto diretto sulla qualità del lavoro ultimato.
  • 53. ALCUNIRIFERIMENTI
  • 54. “bias cognitivo”
  • 55. Planning fallacy“Tendenza delle persone/organizzazioni a sotto-stimare iltempo che impiegano ad eseguire un determinato task,anche se hanno già avuto esperienze pregresse di ritardoper task simili”. (fonte: wikipedia, as usual)
  • 56. Un effetto di “blind spot” Sottostima di tempo, costi e rischi Sovrastima dei benefici
  • 57. Possibili spiegazioni 1 Focus sul best-case scenario: * Wishful-thinking 2 Mancanza di analisi puntuale: No-Breakdown * “Massì, ma quanto vuoi metterci a...”
  • 58. E’una questione di dettaglihttp://www.quora.com/Engineering-Management/Why-are-software-development-task-estimations-regularly-off-by-a-factor-of-2-3
  • 59. E’una questione di dettaglihttp://www.quora.com/Engineering-Management/Why-are-software-development-task-estimations-regularly-off-by-a-factor-of-2-3
  • 60. E’una questione di dettaglihttp://www.quora.com/Engineering-Management/Why-are-software-development-task-estimations-regularly-off-by-a-factor-of-2-3
  • 61. “breakdown”
  • 62. Work Breakdown StructureE’ una metodologia di project-management, introdottadalla difesa americana e poi adottata e sviluppata propriodalla NASA per la gestione dei progetti Mercury e Gemini:
  • 63. Work Breakdown StructureE’ una metodologia di project-management, introdottadalla difesa americana e poi adottata e sviluppata propriodalla NASA per la gestione dei progetti Mercury e Gemini: prodotto (“deliverable”), non attività cosa, non come o in quanto!
  • 64. Work Breakdown StructureE’ una metodologia di project-management, introdottadalla difesa americana e poi adottata e sviluppata propriodalla NASA per la gestione dei progetti Mercury e Gemini: prodotto (“deliverable”), non attività cosa, non come o in quanto! decomposizione del problema albero gerarchico
  • 65. Work Breakdown StructureE’ una metodologia di project-management, introdottadalla difesa americana e poi adottata e sviluppata propriodalla NASA per la gestione dei progetti Mercury e Gemini: prodotto (“deliverable”), non attività cosa, non come o in quanto! decomposizione del problema albero gerarchico singoli elementi discreti migliore stima di tempi e costi
  • 66. Work Breakdown StructureE’ una metodologia di project-management, introdottadalla difesa americana e poi adottata e sviluppata propriodalla NASA per la gestione dei progetti Mercury e Gemini: prodotto (“deliverable”), non attività cosa, non come o in quanto! decomposizione del problema albero gerarchico misurabilità singoli elementi discreti migliore stima di tempi e costi
  • 67. Work Breakdown Structure
  • 68. “cost overrun”
  • 69. Non siamo soli... Sydney Opera House Canale di Suez Concorde Canale sotto la Manica Eurofighter Denver International Airport Millennium Dome Telescopio Hubble and more...
  • 70. CONCLUSIONI
  • 71. Consigli1. Prevedere. Non solo preventivare.2. Numeri. Non solo funzionalità.3. Non sottovalutate gli effort.4. Non mettetevi nei panni del cliente, ma nei vostri!5. E’ un processo “trial & error”, rassegnatevi.6. Non perdete mai di vista la qualità finale del prodotto.7. Piuttosto meno cose, se dovete stare in un budget.
  • 72. Grazie!CrSIo RaTl www.didoo.net @areaweb
  • 73. Credits http://www.nasa.gov/ http://tothemoon.ser.asu.edu