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.

[QE 2017] Daniel Pokusa - Architektura, która ewoluuje

98 views

Published on

Jak uniknąć „overdesignu”, równocześnie nie zamykając się na potencjalny rozwój? Na jakim etapie podejmować kluczowe decyzje oraz kiedy opłaca się świadomie zaciągać dług technologiczny? Wykład Daniela skierowany do wszystkich tych, którym zależy, aby ich aplikacje były utrzymane w dobrym stanie (uwzględniając często spore ciśnienie biznesowe). Prawdziwa historia o pomyłkach, porażkach, ale i decyzjach, które okazały się zbawienne dla projektu.

Published in: Software
  • Be the first to comment

  • Be the first to like this

[QE 2017] Daniel Pokusa - Architektura, która ewoluuje

  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

×