Produttività con
                             RubyOnRails
                         or how I stopped worrying and love Zoop...
Cos’è ?

                   • Io ti do un marchio
                   • Tu crei una pubblicità
                   • Tu voti...
sabato 3 novembre 2007   3
Vincitore contest
                          C1Deejay sezione
                             Video Ads
                   • 1...
sabato 3 novembre 2007   5
Vincitore Contest C1
                    Deejay sezione Print
                             Ads

                • 798 stel...
• Upload immagini e video
                   • Votazione (sistema antifrode)
                   • Area personale degli ute...
40 giorni di tempo e
                          qualche dozzina di
                         JPG come specifiche


sabato 3 n...
Come ?



sabato 3 novembre 2007            9
sabato 3 novembre 2007   10
• Il giusto team
                   • Prototipi e sviluppo incrementale
                   • Rilasci frequenti
           ...
Benefici
                   • Portare il team a contribuire piuttosto che
                         a implementare acriticam...
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
                    fondame...
Meno dettagli, meno
                           discussioni, più
                              prototipi


sabato 3 novembr...
GOD SAVE HIGH
                             LEVEL
                          LANGUAGES

sabato 3 novembre 2007              ...
Prototipi e
                            sviluppo
                         incrementale

sabato 3 novembre 2007            ...
Il passaggio da un’idea
                         ad un prototipo
                      funzionante è molto
               ...
Un prototipo quindi
                diventa una ottima base
                  su cui implementare


sabato 3 novembre 2007...
• Cristallizza l’idea
                   • Permette allo sviluppatore di prendere
                         confidenza con i...
In Zooppa non si è mai
                  sostituito un prototipo
                  funzionante, viene solo
               ...
Un refactoring è più
                           semplice di una
                         implementazione da
              ...
Durante il refactoring
                          usare pienamente
                            RubyOnRails


sabato 3 novem...
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
        ...
Il valore di Zooppa
                    sono gli utenti, i nostri
                    “customers” sono più
               ...
Cambi di specifiche
                             costanti


sabato 3 novembre 2007                        30
Rilasciare significa
                         sforzarsi di cambiare
                               prospettiva


sabato 3 n...
Il feedback da
               professionalità differenti
                      è oro puro


sabato 3 novembre 2007        ...
Ovvero: come la
                 mancanza di analisi può
                   trasformarsi in un
                 vantaggio ...
Interfacce


sabato 3 novembre 2007                34
Le interfacce sono
                          comprensibili a
                             prescindere


sabato 3 novembre ...
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 prim...
Ciò che è fuori
                         dall’interfaccia non è
                               importante


sabato 3 novem...
Ciò che è fuori
                            dall’interfaccia è
                         rifattorizzabile senza
           ...
Test


sabato 3 novembre 2007          42
Rails possiede il miglior
                   supporto al testing
                     attualmente sul
                    ...
Plugin e gemme

                   • Rcov
                   • Watir
                   • Rspec
                   • Arts
...
Con poca analisi, l’unica
                 salvezza sono i test


sabato 3 novembre 2007                      45
I test diventano
                         specifiche funzionali
                          applicate su codice
             ...
• Specifiche funzionali = Functional Tests
                   • Specifiche sull’integrità dei dati = Unit Tests
            ...
Inserire uno
                         sviluppatore in un
                         progetto è difficile


sabato 3 novembre ...
E’ molto più semplice
                         comprendere una API
                          dal suo utilizzo che
        ...
• Meno problemi di dipendenze
                   • Meno bug
                   • Entrare nel progetto è più veloce e lo
  ...
Non ho smesso di
                      preoccuparmi, la mia
                     paranoia compulsiva è
                   ...
Grazie a Rails e ad una
                metodologia di sviluppo
                 sana, lo sciocco sono
                 io...
Upcoming SlideShare
Loading in...5
×

RailsToItaly - italiano

876

Published on

Il mio speech a RailsToItaly, la prima conferenza italiana su RubyOnRails

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
876
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

RailsToItaly - italiano

  1. 1. Produttività con RubyOnRails or how I stopped worrying and love Zooppa sabato 3 novembre 2007 1
  2. 2. Cos’è ? • Io ti do un marchio • Tu crei una pubblicità • Tu voti la migliore • Io ti pago sabato 3 novembre 2007 2
  3. 3. sabato 3 novembre 2007 3
  4. 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
  5. 5. sabato 3 novembre 2007 5
  6. 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. 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. 8. 40 giorni di tempo e qualche dozzina di JPG come specifiche sabato 3 novembre 2007 8
  9. 9. Come ? sabato 3 novembre 2007 9
  10. 10. sabato 3 novembre 2007 10
  11. 11. • Il giusto team • Prototipi e sviluppo incrementale • Rilasci frequenti • Interface First • Test Driven Development sabato 3 novembre 2007 11
  12. 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. 13. Il team sabato 3 novembre 2007 13
  14. 14. Fine e obiettivi perfettamente chiari sabato 3 novembre 2007 14
  15. 15. Un’idea ben formulata è un’idea spoglia di dettagli non fondamentali sabato 3 novembre 2007 15
  16. 16. Meno dettagli, meno discussioni, più prototipi sabato 3 novembre 2007 16
  17. 17. GOD SAVE HIGH LEVEL LANGUAGES sabato 3 novembre 2007 17
  18. 18. Prototipi e sviluppo incrementale sabato 3 novembre 2007 18
  19. 19. Il passaggio da un’idea ad un prototipo funzionante è molto breve sabato 3 novembre 2007 19
  20. 20. Un prototipo quindi diventa una ottima base su cui implementare sabato 3 novembre 2007 20
  21. 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. 22. In Zooppa non si è mai sostituito un prototipo funzionante, viene solo fatto refactoring sabato 3 novembre 2007 22
  23. 23. Un refactoring è più semplice di una implementazione da zero sabato 3 novembre 2007 23
  24. 24. Durante il refactoring usare pienamente RubyOnRails sabato 3 novembre 2007 24
  25. 25. Release first and release often sabato 3 novembre 2007 25
  26. 26. Rilasci interni quotidiani sabato 3 novembre 2007 26
  27. 27. Rilasci al pubblico frequenti sabato 3 novembre 2007 27
  28. 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. 29. Il valore di Zooppa sono gli utenti, i nostri “customers” sono più di 8000 sabato 3 novembre 2007 29
  30. 30. Cambi di specifiche costanti sabato 3 novembre 2007 30
  31. 31. Rilasciare significa sforzarsi di cambiare prospettiva sabato 3 novembre 2007 31
  32. 32. Il feedback da professionalità differenti è oro puro sabato 3 novembre 2007 32
  33. 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
  34. 34. Interfacce sabato 3 novembre 2007 34
  35. 35. Le interfacce sono comprensibili a prescindere sabato 3 novembre 2007 35
  36. 36. MVC (la V per far l’MC) sabato 3 novembre 2007 36
  37. 37. Impossibile sovraingegnerizzare sabato 3 novembre 2007 37
  38. 38. KISS e falla funzionare sabato 3 novembre 2007 38
  39. 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. 40. Ciò che è fuori dall’interfaccia non è importante sabato 3 novembre 2007 40
  41. 41. Ciò che è fuori dall’interfaccia è rifattorizzabile senza che gli utenti se ne accorgano mai sabato 3 novembre 2007 41
  42. 42. Test sabato 3 novembre 2007 42
  43. 43. Rails possiede il miglior supporto al testing attualmente sul mercato sabato 3 novembre 2007 43
  44. 44. Plugin e gemme • Rcov • Watir • Rspec • Arts sabato 3 novembre 2007 44
  45. 45. Con poca analisi, l’unica salvezza sono i test sabato 3 novembre 2007 45
  46. 46. I test diventano specifiche funzionali applicate su codice reale sabato 3 novembre 2007 46
  47. 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. 48. Inserire uno sviluppatore in un progetto è difficile sabato 3 novembre 2007 48
  49. 49. E’ molto più semplice comprendere una API dal suo utilizzo che dalla sua implementazione sabato 3 novembre 2007 49
  50. 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. 51. Non ho smesso di preoccuparmi, la mia paranoia compulsiva è sempre presente sabato 3 novembre 2007 51
  52. 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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×