SlideShare a Scribd company logo
1 of 52
Download to read offline
Produttività con
                             RubyOnRails
                         or how I stopped worrying and love Zooppa




sabato 3 novembre 2007                                               1
Cos’è ?

                   • Io ti do un marchio
                   • Tu crei una pubblicità
                   • Tu voti la migliore
                   • Io ti pago

sabato 3 novembre 2007                        2
sabato 3 novembre 2007   3
Vincitore contest
                          C1Deejay sezione
                             Video Ads
                   • 1303 stelle (281 voti), 371 commenti
                   • Utilizzo di un concept di un’altro utente
                   • 1500 z$ (1500 $ reali) per il video, 500 z$
                         per il concept (500 $ reali)


sabato 3 novembre 2007                                             4
sabato 3 novembre 2007   5
Vincitore Contest C1
                    Deejay sezione Print
                             Ads

                • 798 stelle (185 voti), 99 commenti
                • 1000 z$ di vincita (1000 $ reali)

sabato 3 novembre 2007                                 6
• Upload immagini e video
                   • Votazione (sistema antifrode)
                   • Area personale degli utenti (modifica del
                         profilo, conversione da Z$ a $)

                   • Ranking degli utenti
                   • Gestione dei contest
                   • Numerose relazioni complesse
                         (polimorfiche)

sabato 3 novembre 2007                                          7
40 giorni di tempo e
                          qualche dozzina di
                         JPG come specifiche


sabato 3 novembre 2007                          8
Come ?



sabato 3 novembre 2007            9
sabato 3 novembre 2007   10
• Il giusto team
                   • Prototipi e sviluppo incrementale
                   • Rilasci frequenti
                   • Interface First
                   • Test Driven Development

sabato 3 novembre 2007                                   11
Benefici
                   • Portare il team a contribuire piuttosto che
                         a implementare acriticamente
                   • Minimizzare la possibilità di errore
                   • Lavorare su una base reale e non su
                         specifiche astratte
                   • Rendere il cambio di specifiche il più
                         indolore possibile


sabato 3 novembre 2007                                             12
Il team


sabato 3 novembre 2007             13
Fine e obiettivi
                         perfettamente chiari


sabato 3 novembre 2007                          14
Un’idea ben formulata è
                  un’idea spoglia di
                     dettagli non
                    fondamentali

sabato 3 novembre 2007                   15
Meno dettagli, meno
                           discussioni, più
                              prototipi


sabato 3 novembre 2007                         16
GOD SAVE HIGH
                             LEVEL
                          LANGUAGES

sabato 3 novembre 2007                   17
Prototipi e
                            sviluppo
                         incrementale

sabato 3 novembre 2007                  18
Il passaggio da un’idea
                         ad un prototipo
                      funzionante è molto
                              breve

sabato 3 novembre 2007                         19
Un prototipo quindi
                diventa una ottima base
                  su cui implementare


sabato 3 novembre 2007                    20
• Cristallizza l’idea
                   • Permette allo sviluppatore di prendere
                         confidenza con il dominio applicativo in cui
                         si dovrà muovere

                   • Minimizza il rischio di sopravvalutare o
                         sottovalutare un problema




sabato 3 novembre 2007                                                 21
In Zooppa non si è mai
                  sostituito un prototipo
                  funzionante, viene solo
                      fatto refactoring

sabato 3 novembre 2007                      22
Un refactoring è più
                           semplice di una
                         implementazione da
                                zero

sabato 3 novembre 2007                          23
Durante il refactoring
                          usare pienamente
                            RubyOnRails


sabato 3 novembre 2007                            24
Release first and
                          release often


sabato 3 novembre 2007                      25
Rilasci interni quotidiani



sabato 3 novembre 2007                      26
Rilasci al pubblico
                              frequenti


sabato 3 novembre 2007                         27
Manifesto for Agile
                  Software Development
                   • Individuals and interactions over
                         processes and tools
                   • Working software over comprehensive
                         documentation
                   • Customer collaboration over
                         contract negotiation
                   • Responding to change over following
                         a plan
sabato 3 novembre 2007                                     28
Il valore di Zooppa
                    sono gli utenti, i nostri
                    “customers” sono più
                             di 8000

sabato 3 novembre 2007                          29
Cambi di specifiche
                             costanti


sabato 3 novembre 2007                        30
Rilasciare significa
                         sforzarsi di cambiare
                               prospettiva


sabato 3 novembre 2007                           31
Il feedback da
               professionalità differenti
                      è oro puro


sabato 3 novembre 2007                      32
Ovvero: come la
                 mancanza di analisi può
                   trasformarsi in un
                 vantaggio (se il progetto è
                         stato impostato nel giusto
                                  modo)

sabato 3 novembre 2007                                33
Interfacce


sabato 3 novembre 2007                34
Le interfacce sono
                          comprensibili a
                             prescindere


sabato 3 novembre 2007                        35
MVC
                         (la V per far l’MC)




sabato 3 novembre 2007                         36
Impossibile
                         sovraingegnerizzare



sabato 3 novembre 2007                         37
KISS e falla funzionare



sabato 3 novembre 2007                         38
Una interfaccia
                 permette di progettare
                il software mantenendo
                    in primo piano le
                 funzionalità principali e
                       i punti focali
sabato 3 novembre 2007                       39
Ciò che è fuori
                         dall’interfaccia non è
                               importante


sabato 3 novembre 2007                            40
Ciò che è fuori
                            dall’interfaccia è
                         rifattorizzabile senza
                          che gli utenti se ne
                             accorgano mai

sabato 3 novembre 2007                            41
Test


sabato 3 novembre 2007          42
Rails possiede il miglior
                   supporto al testing
                     attualmente sul
                         mercato

sabato 3 novembre 2007                       43
Plugin e gemme

                   • Rcov
                   • Watir
                   • Rspec
                   • Arts

sabato 3 novembre 2007                    44
Con poca analisi, l’unica
                 salvezza sono i test


sabato 3 novembre 2007                      45
I test diventano
                         specifiche funzionali
                          applicate su codice
                                  reale

sabato 3 novembre 2007                          46
• Specifiche funzionali = Functional Tests
                   • Specifiche sull’integrità dei dati = Unit Tests
                   • Specifiche sull’interazione utente-
                         applicativo = Integration Tests




sabato 3 novembre 2007                                                47
Inserire uno
                         sviluppatore in un
                         progetto è difficile


sabato 3 novembre 2007                         48
E’ molto più semplice
                         comprendere una API
                          dal suo utilizzo che
                                dalla sua
                            implementazione

sabato 3 novembre 2007                           49
• Meno problemi di dipendenze
                   • Meno bug
                   • Entrare nel progetto è più veloce e lo
                         sviluppatore ha meno necessità di essere
                         seguito




sabato 3 novembre 2007                                              50
Non ho smesso di
                      preoccuparmi, la mia
                     paranoia compulsiva è
                        sempre presente

sabato 3 novembre 2007                       51
Grazie a Rails e ad una
                metodologia di sviluppo
                 sana, lo sciocco sono
                 io, ma non il mio
                         software
sabato 3 novembre 2007                    52

More Related Content

Recently uploaded

Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Associazione Digital Days
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Associazione Digital Days
 
Programma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoProgramma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoQuotidiano Piemontese
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Associazione Digital Days
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Associazione Digital Days
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Associazione Digital Days
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Associazione Digital Days
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Associazione Digital Days
 
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Associazione Digital Days
 

Recently uploaded (9)

Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
Luigi Di Carlo, CEO & Founder @Evometrika srl – “Ruolo della computer vision ...
 
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
 
Programma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 TorinoProgramma Biennale Tecnologia 2024 Torino
Programma Biennale Tecnologia 2024 Torino
 
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
Alessio Mazzotti, Aaron Brancotti; Writer, Screenwriter, Director, UX, Autore...
 
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
Edoardo Di Pietro – “Virtual Influencer vs Umano: Rubiamo il lavoro all’AI”
 
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
Daniele Lunassi, CEO & Head of Design @Eye Studios – “Creare prodotti e servi...
 
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
Federico Bottino, Lead Venture Builder – “Riflessioni sull’Innovazione: La Cu...
 
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
Mael Chiabrera, Software Developer; Viola Bongini, Digital Experience Designe...
 
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
Alessandro Nasi, COO @Djungle Studio – “Cosa delegheresti alla copia di te st...
 

Featured

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 

Featured (20)

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 

RailsToItaly - italiano

  • 1. Produttività con RubyOnRails or how I stopped worrying and love Zooppa sabato 3 novembre 2007 1
  • 2. Cos’è ? • Io ti do un marchio • Tu crei una pubblicità • Tu voti la migliore • Io ti pago sabato 3 novembre 2007 2
  • 4. Vincitore contest C1Deejay sezione Video Ads • 1303 stelle (281 voti), 371 commenti • Utilizzo di un concept di un’altro utente • 1500 z$ (1500 $ reali) per il video, 500 z$ per il concept (500 $ reali) sabato 3 novembre 2007 4
  • 6. Vincitore Contest C1 Deejay sezione Print Ads • 798 stelle (185 voti), 99 commenti • 1000 z$ di vincita (1000 $ reali) sabato 3 novembre 2007 6
  • 7. • Upload immagini e video • Votazione (sistema antifrode) • Area personale degli utenti (modifica del profilo, conversione da Z$ a $) • Ranking degli utenti • Gestione dei contest • Numerose relazioni complesse (polimorfiche) sabato 3 novembre 2007 7
  • 8. 40 giorni di tempo e qualche dozzina di JPG come specifiche sabato 3 novembre 2007 8
  • 9. Come ? sabato 3 novembre 2007 9
  • 11. • Il giusto team • Prototipi e sviluppo incrementale • Rilasci frequenti • Interface First • Test Driven Development sabato 3 novembre 2007 11
  • 12. Benefici • Portare il team a contribuire piuttosto che a implementare acriticamente • Minimizzare la possibilità di errore • Lavorare su una base reale e non su specifiche astratte • Rendere il cambio di specifiche il più indolore possibile sabato 3 novembre 2007 12
  • 13. Il team sabato 3 novembre 2007 13
  • 14. Fine e obiettivi perfettamente chiari sabato 3 novembre 2007 14
  • 15. Un’idea ben formulata è un’idea spoglia di dettagli non fondamentali sabato 3 novembre 2007 15
  • 16. Meno dettagli, meno discussioni, più prototipi sabato 3 novembre 2007 16
  • 17. GOD SAVE HIGH LEVEL LANGUAGES sabato 3 novembre 2007 17
  • 18. Prototipi e sviluppo incrementale sabato 3 novembre 2007 18
  • 19. Il passaggio da un’idea ad un prototipo funzionante è molto breve sabato 3 novembre 2007 19
  • 20. Un prototipo quindi diventa una ottima base su cui implementare sabato 3 novembre 2007 20
  • 21. • Cristallizza l’idea • Permette allo sviluppatore di prendere confidenza con il dominio applicativo in cui si dovrà muovere • Minimizza il rischio di sopravvalutare o sottovalutare un problema sabato 3 novembre 2007 21
  • 22. In Zooppa non si è mai sostituito un prototipo funzionante, viene solo fatto refactoring sabato 3 novembre 2007 22
  • 23. Un refactoring è più semplice di una implementazione da zero sabato 3 novembre 2007 23
  • 24. Durante il refactoring usare pienamente RubyOnRails sabato 3 novembre 2007 24
  • 25. Release first and release often sabato 3 novembre 2007 25
  • 27. Rilasci al pubblico frequenti sabato 3 novembre 2007 27
  • 28. Manifesto for Agile Software Development • Individuals and interactions over processes and tools • Working software over comprehensive documentation • Customer collaboration over contract negotiation • Responding to change over following a plan sabato 3 novembre 2007 28
  • 29. Il valore di Zooppa sono gli utenti, i nostri “customers” sono più di 8000 sabato 3 novembre 2007 29
  • 30. Cambi di specifiche costanti sabato 3 novembre 2007 30
  • 31. Rilasciare significa sforzarsi di cambiare prospettiva sabato 3 novembre 2007 31
  • 32. Il feedback da professionalità differenti è oro puro sabato 3 novembre 2007 32
  • 33. Ovvero: come la mancanza di analisi può trasformarsi in un vantaggio (se il progetto è stato impostato nel giusto modo) sabato 3 novembre 2007 33
  • 35. Le interfacce sono comprensibili a prescindere sabato 3 novembre 2007 35
  • 36. MVC (la V per far l’MC) sabato 3 novembre 2007 36
  • 37. Impossibile sovraingegnerizzare sabato 3 novembre 2007 37
  • 38. KISS e falla funzionare sabato 3 novembre 2007 38
  • 39. Una interfaccia permette di progettare il software mantenendo in primo piano le funzionalità principali e i punti focali sabato 3 novembre 2007 39
  • 40. Ciò che è fuori dall’interfaccia non è importante sabato 3 novembre 2007 40
  • 41. Ciò che è fuori dall’interfaccia è rifattorizzabile senza che gli utenti se ne accorgano mai sabato 3 novembre 2007 41
  • 43. Rails possiede il miglior supporto al testing attualmente sul mercato sabato 3 novembre 2007 43
  • 44. Plugin e gemme • Rcov • Watir • Rspec • Arts sabato 3 novembre 2007 44
  • 45. Con poca analisi, l’unica salvezza sono i test sabato 3 novembre 2007 45
  • 46. I test diventano specifiche funzionali applicate su codice reale sabato 3 novembre 2007 46
  • 47. • Specifiche funzionali = Functional Tests • Specifiche sull’integrità dei dati = Unit Tests • Specifiche sull’interazione utente- applicativo = Integration Tests sabato 3 novembre 2007 47
  • 48. Inserire uno sviluppatore in un progetto è difficile sabato 3 novembre 2007 48
  • 49. E’ molto più semplice comprendere una API dal suo utilizzo che dalla sua implementazione sabato 3 novembre 2007 49
  • 50. • Meno problemi di dipendenze • Meno bug • Entrare nel progetto è più veloce e lo sviluppatore ha meno necessità di essere seguito sabato 3 novembre 2007 50
  • 51. Non ho smesso di preoccuparmi, la mia paranoia compulsiva è sempre presente sabato 3 novembre 2007 51
  • 52. Grazie a Rails e ad una metodologia di sviluppo sana, lo sciocco sono io, ma non il mio software sabato 3 novembre 2007 52