Jacopo Romei: Abbattere i rischi di insuccesso con Extreme Programming

  • 1,898 views
Uploaded on

 

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
    Be the first to like this
No Downloads

Views

Total Views
1,898
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
49
Comments
0
Likes
0

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. Abbattere il rischio di insuccesso con Extreme Programming Jacopo Romei
  • 2. Di cosa tratteremo? Ovviamente: tecniche XP ● Planning game – Pair programming – Continous integration – Test automatici - poco, altrimenti Gabriele – Lana cosa è venuto a fare?! ;) Progetti reali ● Calvizie ●
  • 3. Salvarsi finché si è in tempo Una metodologia serve ad organizzare il ● lavoro degli esseri umani. Una metodologia deve contribuire alla ● felicità degli essere umani.
  • 4. Momento aforisma Se fai sempre quello che hai sempre fatto, otterrai sempre quello che hai sempre ottenuto. Abramo Lincoln
  • 5. XP in una frase Insieme di pratiche empiriche per lo ● sviluppo del software che ha come obiettivo la soddisfazione del cliente. Occhio! ● empiriche, non astratte – soddisfazione del cliente, non il piacere di – programmare
  • 6. XP non è una religione Le pratiche XP sono ● una forma di conoscenza – uno strumento – attenzione all'uso improprio ● modulari – risonanti – limite di questo stesso talk ●
  • 7. Nasce un nuovo progetto Forse un solo sviluppatore
  • 8. Continous integration Il limbo del codice: dall'ideazione ● all'integrazione Programmando soli è il default ●
  • 9. Continous integration & co. Compari perfetti: ● I test automatici – Source versioning (SVN) – Sviluppo adiabatico ● DISCLAIMER: i veri nerd si tappino le orecchie!!! ●
  • 10. Noia vs. creatività Creatività vs. incertezza ● Sviluppo adiabatico vs. creatività ● Sviluppo adiabatico vs. incertezza ● Noia vs. sviluppo adiabatico ● Noia vs. serenità ● XP e le altre metodologie agili puntano sulla – persona quindi puntano sulla serenità
  • 11. Momento aforisma Tutti pensano di cambiare il mondo. Nessuno di cambiare se stesso. Lev Tolstoj
  • 12. Finto XP Sviluppatori che praticano un cattivo XP ● Nessuna metodologia funziona contro ● pigrizia – incompetenza – scorrettezza – Cambiare sviluppatori ●
  • 13. Il progetto cresce Riesco a pagare un collaboratore
  • 14. Tutti nella stessa barca Ok, siamo in due. E ora? ● Frà Rodolfo da Ceprano (alias Christian De – Sica) in “Vacanze in America”: “Chi se fa l'affari sua, torna sano a casa sua!” Condivisione di problemi e soluzioni: pair – programming
  • 15. Pair programming Critica tipica: perché pagare due persone ● per fare una cosa sola? Risposta: perché potrebbe convenire. ● qualità significa indirettamente velocità – varianza ridotta – il solito empirismo sperimentale – ultimo ma non ultimo: morale alto –
  • 16. Pair programming in remoto Attivo ● Gobby – Passivo ● Strategico: VNC client, Skype – Tattico: VNC server, Skype – Funziona, garantisce Francesco Trucchia ● ;)
  • 17. Il progetto prospera Non si è mai troppi, basta pianificare.
  • 18. Comunicare è complesso Canali da gestire Persone coinvolte
  • 19. Il cliente serve a noi e noi a lui Scadenze, scadenze, scadenze.
  • 20. Manager struzzi, clienti struzzi Il disordine esiste ● Una metodologia ● seria non finge di non – saperlo ne riduce l'effetto – efficacemente
  • 21. Divide et impera Caos nel codice: test automatici ● Caos nei cervelli: pair programming ● Caos nei processi: agile planning ● posticipare le decisioni per ridurre lo scope – Planning game ● Release planning ● Iteration planning ●
  • 22. Planning game User stories (feature driven) ● Assegnazione di un peso ● Vantaggi ● stima chi è esperto – promuove la discussione – riduce la varianza (come il pair – programming!) divertimento, morale alto –
  • 23. Assegnazione di priorità Valore economico ● denaro fatto o denaro risparmiato – Costo ● il costo varia col tempo: a volte meglio – aspettare, a volte meglio agire Nuova conoscenza ● del prodotto o del progetto – Rischio ● scadenze, costi, funzionalità –
  • 24. Assegnazione di priorità
  • 25. Assegnazione di priorità
  • 26. Release planning User stories ● Velocity ● nota – tipica – stimata – Deadline ●
  • 27. Momento aforisma Essere incerti è scomodo, ma essere certi è ridicolo. Proverbio cinese
  • 28. Iteration planning User stories ● Scomposizione in task ● Lunghezza dell'iterazione ●
  • 29. Planning nel mondo vero Budget fissati? Scadenze fissate? ● Riduzione dello scope – Introduzione di buffer per l'incertezza –
  • 30. Multi-tasking e manager struzzi Semplicemente inefficace ● E' possibile dimostrarlo! ●
  • 31. Multi-tasking e manager struzzi 2 task (per i tempi morti dell'uno e ● dell'altro intercalati) Corretta assegnazione di priorità ●
  • 32. Momento aforisma Le   buone   soluzioni   sono  inutili   tentativi   di   interferire  con   le   leggi   scientifiche.   La  loro origine è la pura vanità.  Il loro risultato il nulla. Oscar Wilde