Save 37% off PRO during our Black Friday Sale! »

One Bug per Month

One Bug per Month

The story about how we changed and work at Syneto.

Dfa06b20297d7fddd2fa5c4a1d4990dd?s=128

Patkos Csaba

June 11, 2014
Tweet

Transcript

  1. One Bug per Month ( e x p l a

    i n e d t o d e v e l o p e r s )
  2. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    2/38 HIGH LEVEL ARCHITECTURE BUSINESS LOGIC DATABASE FILESYSTEM UI MVC NET. API MAIN FACTORY
  3. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    3/38 ABOUT PATKÓS CSABA
  4. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    4/38 SO, WHAT WILL THIS TALK BE ABOUT? Architecture, Infrastructure, Processes and Practices
  5. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    5/38 HIGH LEVEL ARCHITECTURE BUSINESS LOGIC DATABASE FILESYSTEM UI MVC NET. API MAIN FACTORY
  6. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    6/38 MODEL M MVC AS WE KNOW IT TODAY V C PRESENTATION ROUTING DATA TRANSFER DATABASE FILESYSTEM BUSINESS LOGIC FACTORY NET. API
  7. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    7/38 MODEL SOLID CHANGE V C PRESENTATION ROUTING DATA TRANSFER DATABASE FILESYSTEM BUSINESS LOGIC FACTORY NET. API S O L I D
  8. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    8/38 MODEL APPLYING SRP DATABASE FILESYSTEM BUSINESS LOGIC FACTORY NET. API Single Responsibility Principle A single reason to change DATABASE FILESYSTEM FACTORY NET. API
  9. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    9/38 MODEL APPLYING OCP BUSINESS LOGIC Open Closed Principle Open to extension & Closed to modification DATABASE FILESYSTEM FACTORY NET. API BUSINESS LOGIC
  10. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    10/38 MODEL APPLYING DIP Dependency Inversion Always depend on abstract things DATABASE FACTORY NET. API BUSINESS LOGIC FILESYSTEM
  11. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    11/38 HIGH LEVEL ARCHITECTURE BUSINESS LOGIC DATABASE FILESYSTEM UI MVC NET. API MAIN FACTORY
  12. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    12/38 HOW DOES UNCLE BOB DO IT? Robert C. Martin Uncle Bob
  13. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    13/38 SO HE SAYS... DELIVERY INTERACTOR ENTITY ENTITY ENTITY BOUNDARY [ i ] BOUNDARY [ i ]
  14. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    14/38 SO HE SAYS... DELIVERY BOUNDARY [ i ] BOUNDARY [ i ] INTERACTOR ENTITY ENTITY ENTITY REQUEST MODEL RESPONSE MODEL
  15. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    15/38 FROM PAPER TO PRACTICE ?
  16. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    16/38 THE WAY WE DID IT FACADE Cake PHP Controller View Model Validate Delegate MODULE BUSINESS LOGIC REQUEST MODEL RESPONSE MODEL JSON API
  17. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    17/38 MAPPING ON OTHER ARCHITECTURES C 4 Architecture Hexagonal Architecture
  18. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    18/38 Q & A ABOUT ARCHITECTURE Questions About Architecture?
  19. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    19/38 GETTING CUNTINUOUS Continuous XYZ
  20. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    20/38 CONTINUOUS INTEGRATION
  21. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    21/38 CONTINUOUS INTEGRATION
  22. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    22/38 CONTINUOUS INTEGRATION
  23. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    23/38 UNIT TESTS RUN CONTINUOUSLY 1321 test 6091 assertions = 1.81 minutes
  24. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    24/38 MVC FRAMEWORK TESTED CONTINUOUSLY Controllers Helpers Some Views
  25. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    25/38 WHAT OTHER TESTS? UNIT TESTS COMPONENT TESTS INTEGRATION TESTS API TESTS E2E M.T.
  26. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    26/38 UI TESTS Tens of UI tests Run over a fake B. Logic ~10 minutes
  27. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    27/38 CONTRACT TESTS A few hundred 20 min.
  28. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    28/38 END TO END TESTS Even less ~ 30 min. Only essential features tested Robot & Selenium
  29. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    29/38 CONNECTING THE DOTS UNISTORE ILLUMOS ... ... TEAM CITY BUILD ENCODE UNIT TEST PUBLISH E2E TEST M. LONG RUNNING TEST NOTIFY USERS
  30. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    30/38 Q & A ABOUT INFRASTRUCTURE Questions About Continuous XYZ
  31. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    31/38 PLANNING, COLLABORATION, LEARNING Processes and Practices
  32. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    32/38 SCRUM – LEAN – KANBAN SCRUM LEAN KANBAN
  33. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    33/38 ELIMINATE UNIMPORTANT ORGANIZATIONAL DETAILS
  34. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    34/38 BE AGILE WITH THE TOOLS ALSO
  35. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    35/38 CONTINUOUS LEARNING Too Difficult Too Easy Just Right Complexity Time
  36. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    36/38 QUALITY OVER DEADLINE
  37. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    37/38 SHOOT! Questions About Any Previous Topic
  38. 2014 – Patkós Csaba / patkoscsaba@gmail.com / @PatkosCsaba / patkoscsaba.blogspot.com

    38/38 THANK YOU THANK YOU