Slideshow transcript
Slide 1: Productivity with RubyOnRails or how I stopped worrying and love Zooppa sabato 3 novembre 2007 1
Slide 2: What’s it ? • I give you a brand • You make an AD • You rate the BEST ones • I pay you sabato 3 novembre 2007 2
Slide 3: sabato 3 novembre 2007 3
Slide 4: Winner contest C1Deejay section Video Ads • 1303 stars (281 votes), 371 comments • Using a concept of another user • 1500 z$ (1500 real $) for the video, 500 z$ for the concept (500 real $) sabato 3 novembre 2007 4
Slide 5: sabato 3 novembre 2007 5
Slide 6: Vincitore Contest C1 Deejay sezione Print Ads • 798 stars (185 voti), 99 comments • 1000 z$ (1000 real $) sabato 3 novembre 2007 6
Slide 7: • Image and Video Upload • Voting (antifraud system) • Users personal area (edit profile, conversion from Z$ to $) • Users ranking • Contest management • A lot of complex relations between data sabato 3 novembre 2007 7
Slide 8: 40 days of time and a few dozens of JPGs as specifications sabato 3 novembre 2007 8
Slide 9: How ? sabato 3 novembre 2007 9
Slide 10: sabato 3 novembre 2007 10
Slide 11: • The right team • Prototypes and incremental development • Release Often • Interface First • Tests sabato 3 novembre 2007 11
Slide 12: Benefits • Bring the team to contribute instead of implementing acritically • Minimize errors • Work on a real basis and not on abstract specifications • Change doesn’t hurt sabato 3 novembre 2007 12
Slide 13: The team sabato 3 novembre 2007 13
Slide 14: Ends and objectives perfectly clear sabato 3 novembre 2007 14
Slide 15: A good formulated idea is an idea without details that are not fundamental sabato 3 novembre 2007 15
Slide 16: Less details, less discussions, more prototypes sabato 3 novembre 2007 16
Slide 17: GOD SAVE HIGH LEVEL LANGUAGES sabato 3 novembre 2007 17
Slide 18: Prototypes and incremental development sabato 3 novembre 2007 18
Slide 19: Going from an idea to a functional prototype is very quick (especially in Ruby) sabato 3 novembre 2007 19
Slide 20: A prototype is a good base to start implementing sabato 3 novembre 2007 20
Slide 21: • Crystallizes the idea • The developer can start to take a grasp of the application domain • Minimizes the risk of overestimating or underestimating a problem sabato 3 novembre 2007 21
Slide 22: In Zooppa we’ve never thrown away a prototype, we just refactor sabato 3 novembre 2007 22
Slide 23: Refactoring is simpler then starting with a new implementation sabato 3 novembre 2007 23
Slide 24: When refactoring, employ RubyOnRails in full sabato 3 novembre 2007 24
Slide 25: Release first and release often sabato 3 novembre 2007 25
Slide 26: Daily internal releases sabato 3 novembre 2007 26
Slide 27: Release often to the public 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: Zooppa value are users, our customers are more than 8000 sabato 3 novembre 2007 29
Slide 30: Constant specification change sabato 3 novembre 2007 30
Slide 31: Releasing is changing perspective sabato 3 novembre 2007 31
Slide 32: Feedback from different professionalities is pure gold sabato 3 novembre 2007 32
Slide 33: Or: how the lack of analisys can become a strenght (if the project has been set up in the correct way) sabato 3 novembre 2007 33
Slide 34: Interfaces sabato 3 novembre 2007 34
Slide 35: Interfaces are understandable by definition sabato 3 novembre 2007 35
Slide 36: MVC (use the V to build the MC) sabato 3 novembre 2007 36
Slide 37: Impossible to overengineer sabato 3 novembre 2007 37
Slide 38: KISS and make it work sabato 3 novembre 2007 38
Slide 39: An interface allows to build a software keeping in mind the main features and focal points sabato 3 novembre 2007 39
Slide 40: What’s outside the interface isn’t important sabato 3 novembre 2007 40
Slide 41: You can refactor what’s outside the interface and your users will never know sabato 3 novembre 2007 41
Slide 42: Test sabato 3 novembre 2007 42
Slide 43: Rails has the best testing framework actually on the market sabato 3 novembre 2007 43
Slide 44: Plugin and gems • Rcov • Watir • Rspec • Arts sabato 3 novembre 2007 44
Slide 45: Without analysis, the only salvation is testing sabato 3 novembre 2007 45
Slide 46: Tests become functional specifications on real code sabato 3 novembre 2007 46
Slide 47: • Functional Specifications = Functional Tests • Data Integrity Specifications = Unit Tests • User Interaction Specifications = Integration Tests sabato 3 novembre 2007 47
Slide 48: Making a new developer productive in a project is difficult sabato 3 novembre 2007 48
Slide 49: Understanding an API by looking at how it’s used is much more simpler than understanding it by looking at how it’s implemented sabato 3 novembre 2007 49
Slide 50: • Less code dependencies problems • Less bugs • Joining the project is quicker and a new developer doesn’t need to be followed step by step sabato 3 novembre 2007 50
Slide 51: I didn’t stop worrying, I’m still a compulsive paranoic sabato 3 novembre 2007 51
Slide 52: At least, thanks Rails and a good developmente strategy, I’m the fool, not my 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)