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.

Ac4ca129cf141d672c8e5c3b2bb84d46?s=128

Manuel Vidaurre

September 12, 2015
Tweet

Transcript

  1. 1.
  2. 2.

    Manuel  Vidaurre   @mvidaurre Using  Ruby  to  Implement  e-­‐commerce Lessons

     Learned  and  Challenges El “Rudo” The “Ruthless” ⾎血腥
  3. 4.
  4. 6.
  5. 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
  6. 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
  7. 9.
  8. 10.
  9. 11.
  10. 12.
  11. 13.
  12. 14.
  13. 15.

    Value  of  So<ware   (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
  14. 16.
  15. 17.
  16. 18.
  17. 19.
  18. 20.
  19. 21.

    Value  of  So<ware   (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
  20. 22.
  21. 23.
  22. 24.
  23. 25.
  24. 26.
  25. 27.
  26. 28.

    Value  of  So<ware   (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
  27. 30.