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



Add a comment on Slide 1
If you have a SlideShare account, login to comment; else you can comment as a guest- Favorites & Groups
Showing 1-50 of 0 (more)