More Related Content


Software quality in e-commerce projects at Magento Live DE 2014

  1. Software quality in eCommerce projects
  2. Agenda • What? • Why? • Where? • How? • Questions?
  3. What?
  4. the totality of features and characteristics of a product or service that bears its ability to satisfy stated or implied needs ISO 8402-1986
  5. Why?
  6. 01 Solid
  7. Stable
  8. Scalable
  9. Performant
  10. Flexible
  11. Extendable
  12. 02 Predictable
  13. Less re-work
  14. Less variation in productivity
  15. Better performance
  16. 03 Reputation
  17. Building quality software
  18. Part of the brand
  19. Customers seek out
  20. Hard to establish
  21. 04 Employee Morale
  22. Proud of work
  23. Higher productivity
  24. Happy
  25. 05 Customer satisfaction
  26. Long term relationship
  27. Comes back with more
  28. Positive referrals
  29. Where?
  30. Coding styles
  31. Design patterns
  32. Law of demeter
  33. Single responsibility
  34. Open/closed
  35. Liskov substitution
  36. Interface segregation
  37. Dependency inversion
  38. How?
  39. Pair Programming
  40. Code Reviews
  41. Automate code inspection • PHPUnit • Selenium • PHP Code Sniffer • PHP Code Similarity Analyzer • PHP Change Tracking Analyzer • PHP Mess Detector • PHP PDepend • PHP Analyzer • Security Advisor Checker • JSLint • …
  42. Nice and sexy
  43. Performance Monitoring
  44. Train developers
  45. Certifications
  46. Conferences
  47. Usergroups
  49. Knowledge Sharing
  50. Questions?
  51. Thanks!

Editor's Notes

  1. Only fancy animation
  2. Wordpress?
  3. Software functional quality Software structural quality
  4. 5 reasons
  5. Software quality drives predictability. Do it once and do it right, and there will be less re-work, less variation in productivity and better performance overall. Products get delivered on time, and they get built more productively. Poor quality is much more difficult to manage. Predictability decreases as re-work grows, and the likelihood of a late, lower quality product increases.
  6. Of your team
  7. Some companies have a reputation for building quality software. It becomes who they are, a part of their brand, and ultimately it is the expectation people have of them. Customers seek them out because of it. A good, solid reputation is hard to establish and easy to lose, but when your company has it, it’s a powerful business driver. A few mistakes and that reputation can be gone, creating major obstacles to sales, and consequently, your bottom line.
  8. The most productive and happy employees have pride in their work. Enabling employees to build quality software will drive a much higher level of morale and productivity. On the other hand, poor products, lots of re-work, unhappy customers and difficulty making deadlines have the opposite effect, leading to expensive turnover and a less productive workforce.
  9. A quality product satisfies the customer. A satisfied customer comes back for more and provides positive referrals. Customer loyalty is heavily driven by the quality of the software you produce and service you provide. And, let’s not forget that with the explosion of social media channels such as Twitter and Facebook, positive referrals can spread quickly. Of course that means poor quality and dissatisfaction can also be communicated quickly, if not even quicker than the good ones.
  10. Where to start or best practices small overview There is more
  11. Dependency chaining Driver tells the car to move forward, car knows how to do it
  12. methods should do one thing[3], once and only once (OAOO)[4], don’t repeat yourself (DRY) und single source of truth (SSOT)
  13. Open for extensions, closed for modifications
  14. Driver is human Can be inherited to male or female But not a monkey as it shares 99% of ist dna
  15. Small interfaces Turn left, turn right – speed and brake on different interfaces
  16. Inject the driver by opening the door, don‘t grab the next outside
  17. Trio Remote Takes time
  18. Takes time We review every line of code change Not blame about coding styles
  19. Sorry for slide Not only unit and functional testing Static code analysis Metrics to measure: Code coverage Cyclomatic complexity Lines of code per method/class Documentation
  20. Zend Magento
  21. PHP conferences Take a broader view
  22. Stammtische PHP Usergroups
  23. Hackathons
  24. Inside company
  25. Thanks and have a good sleep!