$30 off During Our Annual Pro Sale. View Details »

Using Ruby to Implement e-commerce: Lessons Learned and Challenges

Using Ruby to Implement e-commerce: Lessons Learned and Challenges

Implementing e-commerce is complicated because there are several interconnected parts as: * Architectural Design and Patterns * Appropriate use of messaging, composition and inheritance * Balancing the transactions security and the user experience * Integration with 3rd-party services * Clear conversion funnel/workflow for ensuring business viability * Features management and implementation * I18n and localization * Continuos Integration and Deployment * Support and maintenance of e-commerce infrastructure We as a team focus in e-commerce implementation. Since several years ago, we have successfully implemented e-commerce for several customers, using Ruby, Ruby on Rails, Sinatra, Spreecommerce and other frameworks and platforms. We have learned many things in the process and we have identified common pitfalls and challenges. In this talk, those lessons learned will be presented, as well, how to implement a successful e-commerce.

Manuel Vidaurre

September 12, 2015
Tweet

More Decks by Manuel Vidaurre

Other Decks in Programming

Transcript

  1. View Slide

  2. Manuel  Vidaurre  
    @mvidaurre
    Using  Ruby  to  Implement  e-­‐commerce
    Lessons  Learned  and  Challenges
    El “Rudo”
    The “Ruthless”
    ⾎血腥

    View Slide

  3. Who  we  are
    What  we  do

    View Slide

  4. View Slide

  5. 2010  -­‐  BuzzUrbano

    View Slide

  6. View Slide

  7. Verifica4on  of  Understanding  
    (Communica*on  Gap)
    • There are known knowns and known unknowns
    • but also there exist the unknown unknowns that
    neither the customer/user or the developer
    known
    • and the unknown knowns that the customer/user
    known but the developer doesn’t
    How Projects Really Work (version 1.5)
    http://www.projectcartoon.com/cartoon/2

    View Slide

  8. Verifica4on  of  Understanding  
    (Features:  Building  the  right  thing)
    • Ubiquitous Language
    • Features management and implementation
    • Baselines and Metrics/Indicators
    "Facts  are  the  air  of  scien/sts.  
    Without  them  you  can  never  fly."  
    Ivan  Pavlov

    View Slide

  9. View Slide

  10. View Slide

  11. View Slide

  12. View Slide

  13. View Slide

  14. View Slide

  15. Value  of  So(To  keep  changes  So=)
    • 3rd Party Integrations: Adapters and
    Abstractions
    • I18n and localization
    • Architectural Design and Patterns
    • Background jobs
    "The  main  value  of  so9ware  is  that  it  
    is  soft”  
    Robert  C.  Mar:n

    View Slide

  16. View Slide

  17. View Slide

  18. View Slide

  19. View Slide

  20. View Slide

  21. Value  of  So(Investment  Ac*vity)
    • UX/UI
    • Clear conversion funnel/workflow for ensuring business
    viability
    • Balancing the transactions security and the user
    experience
    • Performance: Real and Perceived
    • Pipeline for Continuos Integration and Continuos Delivery
    "The  fundamental  goal  of  all  good  
    design  and  engineering  is  to  create  
    maximal  value  added  for  any  given  
    investment…  design  is  an  investment  
    ac/vity”  
    Barry  Boehm

    View Slide

  22. View Slide

  23. View Slide

  24. View Slide

  25. View Slide

  26. View Slide

  27. View Slide

  28. Value  of  So(Return  of  Investment)
    • Maximizing the expected value: Conversions
    • Goals, Hypothesis/Experiments and Metrics
    • Ruby expressiveness and metaprogramming /
    discipline to avoid excess and mocking patching
    / performance of some frameworks and gems
    "Uncertainty  and  the  value  of  
    flexibility  in  the  face  of  uncertainty  
    are  at  the  heart  of  both  so9ware  
    design  and  finance”  
    Kevin  Sullivan

    View Slide

  29. h?ps:/
    /magma-­‐ecommerce-­‐lessons.herokuapp.com

    View Slide

  30. View Slide

  31. ⾮非常感谢!
    Thank  you  very  much!

    View Slide