Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Evolving architecture 4 QualityExcites 2017

204 views

Published on

When developing a system, it is very easy to cross a certain boundary – on the one hand we want to predict all possibilities and changes that can happen in our project. On the other hand, when we are under the time pressure, we take shortcuts which could in the end increase cost of the smallest changes. How to deal with “overdesign”? How, at the same time, not to close for improvement and changes? When should we make crucial technical decisions and when to accept technical debt? This talk is about true stories, mostly about huge mistakes, but also about decisions that in the end were very sucessfull. The talk is dedicated to all of those who don’t want to end up with a project that needs to be rewritten whenever we want to add a new button. The session is for all of those who care.

Published in: Technology
  • Be the first to comment

Evolving architecture 4 QualityExcites 2017

  1. 1. Evolving Architecture @dpokusa
  2. 2. https://commons.wikimedia.org/wiki/File:Tecnology_Life_Cycle.png
  3. 3. Quality means doing it right when no one is looking - Henry Ford
  4. 4. CZAS FUNKCJONALNOŚĆ ZASOBY
  5. 5. CZAS FUNKCJONALNOŚĆ ZASOBY
  6. 6. CZAS FUNKCJONALNOŚĆ ZASOBY
  7. 7. CZAS FUNKCJONALNOŚĆ ZASOBY
  8. 8. JAKOŚĆ CZASFUNKCJONALNOŚĆ ZASOBY
  9. 9. JAKOŚĆ CZASFUNKCJONALNOŚĆ ZASOBY
  10. 10. JAKOŚĆ CZASFUNKCJONALNOŚĆ ZASOBY
  11. 11. JAKOŚĆ CZASFUNKCJONALNOŚĆ ZASOBY
  12. 12. fot. Iza Janoszek, Radio Eska
  13. 13. OVERDESIGN
  14. 14. DIE
  15. 15. DRYDIE
  16. 16. UNDERDESIGN
  17. 17. KISS
  18. 18. YAGNIKISS
  19. 19. TECHNOLOGY FREEDOM
  20. 20. TECHNOLOGY PRISON
  21. 21. READABILITY CONSIDERATIONS
  22. 22. EXECUTION TIME PREPARATION TIME MAINTENANCE TIME
  23. 23. P + (N*E) + M
  24. 24. P + (N*E) + M
  25. 25. P + (N*E) + M WASTE
  26. 26. P + (N*E) + M Profit* WASTE
  27. 27. (N*E) > P + M ?
  28. 28. >
  29. 29. BALANCE
  30. 30. SEPARATION
  31. 31. 1. Klient zawsze oczekuje jakości,
  32. 32. 1. Klient zawsze oczekuje jakości, 2. Jakość nie jest wartością 0:1,
  33. 33. 1. Klient zawsze oczekuje jakości, 2. Jakość nie jest wartością 0:1, 3. Podejmuj decyzje najpóźniej jak to możliwe,
  34. 34. 1. Klient zawsze oczekuje jakości, 2. Jakość nie jest wartością 0:1, 3. Podejmuj decyzje najpóźniej jak to możliwe, 4. Kod źródłowy testów nie jest mniej ważny od kodu produkcyjnego!
  35. 35. 1. Klient zawsze oczekuje jakości, 2. Jakość nie jest wartością 0:1, 3. Podejmuj decyzje najpóźniej jak to możliwe, 4. Kod źródłowy testów nie jest mniej ważny od kodu produkcyjnego! 5. Nigdy nie zapominaj o refaktoryzacji,
  36. 36. 1. Klient zawsze oczekuje jakości, 2. Jakość nie jest wartością 0:1, 3. Podejmuj decyzje najpóźniej jak to możliwe, 4. Kod źródłowy testów nie jest mniej ważny od kodu produkcyjnego! 5. Nigdy nie zapominaj o refaktoryzacji, 6. "Scrappy" zostanie na dłużej niż sądzisz,
  37. 37. 1. Klient zawsze oczekuje jakości, 2. Jakość nie jest wartością 0:1, 3. Podejmuj decyzje najpóźniej jak to możliwe, 4. Kod źródłowy testów nie jest mniej ważny od kodu produkcyjnego! 5. Nigdy nie zapominaj o refaktoryzacji, 6. "Scrappy" zostanie na dłużej niż sądzisz, 7. Pisz biblioteki, nie frameworki,
  38. 38. 1. Klient zawsze oczekuje jakości, 2. Jakość nie jest wartością 0:1, 3. Podejmuj decyzje najpóźniej jak to możliwe, 4. Kod źródłowy testów nie jest mniej ważny od kodu produkcyjnego! 5. Nigdy nie zapominaj o refaktoryzacji, 6. "Scrappy" zostanie na dłużej niż sądzisz, 7. Pisz biblioteki, nie frameworki, 8. Nie zamykaj się na nowe technologie, ale równocześnie ograniczaj ich ilość,
  39. 39. 1. Klient zawsze oczekuje jakości, 2. Jakość nie jest wartością 0:1, 3. Podejmuj decyzje najpóźniej jak to możliwe, 4. Kod źródłowy testów nie jest mniej ważny od kodu produkcyjnego! 5. Nigdy nie zapominaj o refaktoryzacji, 6. "Scrappy" zostanie na dłużej niż sądzisz, 7. Pisz biblioteki, nie frameworki, 8. Nie zamykaj się na nowe technologie, ale równocześnie ograniczaj ich ilość, 9. Staraj się równoważyć ilość testów pod względem ich kosztów utrzymania,
  40. 40. 1. Klient zawsze oczekuje jakości, 2. Jakość nie jest wartością 0:1, 3. Podejmuj decyzje najpóźniej jak to możliwe, 4. Kod źródłowy testów nie jest mniej ważny od kodu produkcyjnego! 5. Nigdy nie zapominaj o refaktoryzacji, 6. "Scrappy" zostanie na dłużej niż sądzisz, 7. Pisz biblioteki, nie frameworki, 8. Nie zamykaj się na nowe technologie, ale równocześnie ograniczaj ich ilość, 9. Staraj się równoważyć ilość testów pod względem ich kosztów utrzymania, 10. Korzystaj z testów automatycznych zgodnie z ich przeznaczeniem,
  41. 41. 1. Klient zawsze oczekuje jakości, 2. Jakość nie jest wartością 0:1, 3. Podejmuj decyzje najpóźniej jak to możliwe, 4. Kod źródłowy testów nie jest mniej ważny od kodu produkcyjnego! 5. Nigdy nie zapominaj o refaktoryzacji, 6. "Scrappy" zostanie na dłużej niż sądzisz, 7. Pisz biblioteki, nie frameworki, 8. Nie zamykaj się na nowe technologie, ale równocześnie ograniczaj ich ilość, 9. Staraj się równoważyć ilość testów pod względem ich kosztów utrzymania, 10. Korzystaj z testów automatycznych zgodnie z ich przeznaczeniem, 11. Nie traktuj testów jako odrębnego bytu.
  42. 42. ABOUT software-empathy.pl @dpokusa
  43. 43. @dpokusa ABOUT SPREADIT.PL 18 LISTOPADA 2017
  44. 44. Q&A

×