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
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
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
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
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