SlideShare a Scribd company logo
Dług techniczny

czyli skryty oprawca organizacji (nie tylko technologicznych)
Mateusz Gajewski • @wendigo • JDD Kraków 2017
1
Kim jestem
• Ostatnie 8 lat spędziłem w Allegro,
• W karierze przyjmowałem różne role: programisty, architekta, lidera i mentora,
• Aktualnie pomagam organizacjom na różnym etapie rozwoju (w tym startupom)
w pozbywaniu się długu technicznego i skalowaniu ich biznesu,
• @wendigo na Twitterze, GitHubie, Keybase i Speakerdeck
2
3
Metafora długu technicznego
Ward Cunningham, 1992
4
Dług techniczny
1. suma pieniędzy, którą ktoś pożyczył i musi zwrócić,
2. obowiązek dłużnika do spełnienia określonego świadczenia,
3. zobowiązanie moralne wobec kogoś
źródło: https://sjp.pwn.pl/slowniki/dług.html
5
Dług techniczny
Technika to usystematyzowane wykorzystywanie reguł naukowych i wiedzy praktycznej do
wytwarzania określonego produktu (wyrobu). Składa się z:
1. Zespołu reguł i praw naukowych,
2. Określonej grupy zastosowań,
3. Określonego zestawu produktów wytwarzanych przy użyciu określonych urządzeń,
4. Specjalistycznej wiedzy, wyrażonej zbiorem technologii (metod) wykorzystywanych w
pracach badawczych, pomiarach i praktycznych zastosowaniach techniki,
5. Doświadczenia praktycznego,
6. Organizacji, wyrażonej strukturą i systemami.
źródło: „The Management of Technology, Perception and Opportunities”, Paul Lowe, 1995
6
Jako IT dostarczamy „biznesowi”
oprogramowanie, aplikacje, architekturę, procesy,
technologie, urządzenia, kompetencje, organizację pracy
które pozwalają nam świadczyć usługi mające określoną
funkcjonalność
(fit for purpose)
użyteczność
(fit for use)
7
Systemy muszą mieć odpowiednie -ości
Wymagania pozafunkcjonalne normy ISO 9216
niezawodność wydajność dokładność integralność
łatwość odporność rzetelność dostępność
czytelność pojemność skalowalność dojrzałość
jakość stosowalność zgodność odtwarzalność
odzyskiwalność analizowalność operowalność utrzymywalność
zmienialność testowalność zamienialność rozwijalność
efektywność interoperacyjność bezpieczność niezawodność
przenośność plastyczność adaptowalność instalowalność
bezawaryjność konfigurowalność zastępowalność powtarzalność
8
Dług techniczny przejawia się
brakiem wymaganej użyteczności
9
Przejawem długu technicznego
nie jest brak funkcjonalności
10
Jak i dlaczego powstaje
dług techniczny?
11
Kompromis: „A” lub „B”
12
„Designing a perfect solution is a
destructive endeavor and is elusive to
even the most capable software
craftsman.”
Chris Sterling - Principal Product Manager Spring Cloud
13
Wpływ środowiska
Ograniczone zasoby:
1. presja czasu,
2. brak odpowiednich danych,
3. finansowania,
4. brak odpowiednich ludzi,
5. brak kompetencji i doświadczenia,
6. brak dostępu do narzędzi, technologii i wiedzy.

14
Klasyfikacja źródeł długu technicznego
Żródło: M. Fowler - Technical Debt Quadrant
15
Dług techniczny wynika z

każdej świadomie lub nieświadomie
podjętej decyzji, której rosnący w czasie
koszt zostanie nieuchronnie poniesiony w
przyszłości
16
Zaciąganie długu technicznego pozwala
nam szybciej dostarczać, zbierać
informacje zwrotne, uczyć się i
dochodzić do poprawnych rozwiązań
17
Ewolucja systemów 

wg Lehmana
18
Ewolucja systemów klasy „E”
1. Ciągła zmienność (continuing change),
2. Wzrastająca złożoność (increasing complexity),
3. Samoregulacja (self regulation),
4. Organizacyjna stabilność (conservation of organisational stability),
5. Zachowanie znajomości (conservation of familiarity),
6. Ciągły wzrost (continuing growth),
7. Degradacja jakości (declining quality),
8. Sprzężenie zwrotne (feedback system).
Żródło: Prawa Lehmana ewolucji oprogramowania
19
Prawo I: „Ciągła zmienność”
„continuing change”
20
Prawo II: „Wzrastająca złożoność”
„increasing complexity”
21
Prawo VI: „Ciągły wzrost”
„continuing growth”
22
Prawo VII: „Degradacja jakości”
„declining quality”
23
„If you are not improving, entropy guarantees
that you are actually getting worse.”
Gene Kim - The Phoenix Project
24
Ryzyka związane z długiem
technicznym
25
26
27
http://blog.hasmanythrough.com/2009/9/3/circle-of-death
28
Niespłacanie długu technicznego
1. Nie dostarczanie na czas nowych funkcjonalności,
2. Wzrost ryzyka biznesowego,
3. Zatrzymanie rozwoju firmy,
4. Odpowiedzialność karna,
5. Problem z otrzymaniem kolejnej rundy finansowania (due diligence),
6. Niezadowolenie i odpływ klientów (zła funkcjonalność, niska używalność),
7. Utrata kapitału firmy,
8. Upadek :(
29
Spektakularne przypadki
1. 2009: Nasza Klasa - Pan Gąbka i ciągłe awarie systemu,
2. 2012: Knight Capital Group - strata 440 mln $ w 40 minut,
3. 2013: Toyota - błąd w kodzie ECM powoduje śmierć kierowcy,
4. 2017: GitLab - usunięcie danych i problem z ich przywróceniem,
5. 2017: AWS - 11h niedostępność regionu S3.
30
Indykatory długu
technicznego
31
32
Wewnętrzna jakość
1. Czy stosowane są wzorce clean code?
2. Czy kod jest testowany? W jaki sposób?
3. W jaki sposób mierzona jest jakość kodu?
4. Jak często kod jest refaktoryzowany?
5. Jak duża jest duplikacja kodu?
33
Struktura komponentów
1. W jaki sposób aplikacja podzielona jest na komponenty? Ile można ich wydzielić?
2. Jak komponenty integrują się ze sobą?
3. Jak silnie powiązane są ze sobą komponenty?
4. Jak łatwo zidentyfikować można komponenty w których należy dokonać zmianę
biznesową?
5. Jak łatwo wymienialne są poszczególne komponenty?
34
Architektura
1. Czy architektura posiada strukturę i jest spójna?
2. Czy architektura odpowiednio wspiera cele biznesowe?
3. Czy architektura wprowadza porządek, integralność i bezpieczeństwo do systemu?
4. W jaki sposób architektura jest udokumentowana i czy jest jednakowo rozumiana?
5. W jaki sposób komponenty integrują się ze sobą na poziomie architektury?
35
Procesy
1. Jaki jest lead time (LT) wprowadzania nowych zmian?
2. Jakie zespoły są zaangażowane w proces dostarczania wartości?
3. Jak długo trwa integracja zmian przed wdrożeniem?
4. W jaki sposób testowane są zmiany przed wdrożeniem?
5. Jakie są artefakty procesu wytwarzania oprogramowania?
36
Organizacja
1. W jaki sposób nabywana i wprowadzana jest nowa wiedza w organizacji?
2. Jak dobrze pracownicy rozumieją i wspierają cele organizacji?
3. Czy istnieją role lub kompetencje które trudno jest zastąpić (silosy)?
4. Jak łatwe/trudne jest pozyskanie nowych pracowników z odpowiednimi kompetencjami?
5. Ile trwa wdrożenie nowego pracownika w jego obowiązki?
37
Produkt
1. Proporcjonalnie ile czasu poświęcane jest na rozwój nowych funkcjonalności?
2. Czy istnieje dedykowany zespół utrzymaniowy?
3. Kto podejmuje decyzje o wdrożeniu produktu?
4. Jak często wdrażane są nowe funkcjonalności?
5. Jak wiele jest defektów i awarii po wdrożeniu?
38
Jak postępować z długiem
technicznym?
39
Nie ukrywajmy długu technicznego
przed biznesem
40
Obsługa długu
1. Dług powinien być zarządzany tak samo jak zarządzamy produktem, który rozwijamy,
2. Dług powinien być priorytetyzowany ze względu na:
1. Koszt (ile będzie kosztować jego spłacenie),
2. Łatwość (jak trudne technicznie jest pozbycie się go),
3. Wpływ (jak możemy ucierpieć żyjąc z nim),
4. Prawdopodobieństwo (jak bardzo prawdopodobny jest negatywny wpływ długu),
3. Powinniśmy szukać globalnych rozwiązań lokalnych problemów.
41
Taksonomie długu technicznego
1. Niezamierzony (niska jakość) - wymaga stałych przeglądów i refaktoryzacji,
2. Zamierzony (reaktywny, taktyczny):
1. Skoncentrowany krótkoterminowy - zadania trafiają do backlogu do wykonania po releasie,
2. Nieskoncentrowany krótkoterminowy - spłacany w trakcie bieżącej pracy (refaktoryzacja),
3. Długoterminowy (proaktywny, strategiczny) - zarządzany jak projekt, z odpowiednim
budżetowaniem
Steve McConnell, “Technical Debt”
42
Podsumowując…
43
Dług techniczny jest w każdej organizacji. 

Nie jest on tylko i wyłącznie problemem IT.
44
Dług techniczny może być strategiczną
decyzją podjęta w celu zebrania
odpowiedniego doświadczenia
45
Dług techniczny może być także
wynikiem niekompetencji, głupoty i
niekontrolowanego działania entropii
46
Nie bój się zaciągać długu technicznego. 

Rób to świadomie. Spłacaj go konsekwentnie.
47
„Ciągłe skupienie na technicznej doskonałości i dobrym
projektowaniu zwiększa zwinność.”
Agile Manifesto
48
Thanks!


contact@serafin.tech
Q&A?
49

More Related Content

Similar to JDD 2017: Dług techniczny - skryty oprawca organizacji nie tylko technologicznych (Mateusz Gajewski)

Technology Acceleration Canvas by InnoCo
Technology Acceleration Canvas by InnoCoTechnology Acceleration Canvas by InnoCo
Technology Acceleration Canvas by InnoCo
Marcin Baron
 
Mity, które blokują Twoją karierę
Mity, które blokują Twoją karieręMity, które blokują Twoją karierę
Mity, które blokują Twoją karierę
Piotr Horzycki
 
REVE UP
REVE UPREVE UP
Zarządzanie wiedzą w organizacji - Tomek Karwatka
Zarządzanie wiedzą w organizacji - Tomek KarwatkaZarządzanie wiedzą w organizacji - Tomek Karwatka
Zarządzanie wiedzą w organizacji - Tomek Karwatkaecommerce poland expo
 
Zarządzanie wiedzą w organizacji
Zarządzanie wiedzą w organizacjiZarządzanie wiedzą w organizacji
Zarządzanie wiedzą w organizacji
Tomasz Karwatka
 
J2EE. Podstawy programowania aplikacji korporacyjnych
J2EE. Podstawy programowania aplikacji korporacyjnychJ2EE. Podstawy programowania aplikacji korporacyjnych
J2EE. Podstawy programowania aplikacji korporacyjnych
Wydawnictwo Helion
 
PLNOG 21: Tomasz Wodziński - A może tak zbudujemy sobie SOC’a ?
PLNOG 21: Tomasz Wodziński -  A może tak zbudujemy sobie SOC’a ?PLNOG 21: Tomasz Wodziński -  A może tak zbudujemy sobie SOC’a ?
PLNOG 21: Tomasz Wodziński - A może tak zbudujemy sobie SOC’a ?
PROIDEA
 
Scrum Studio - Lukasz Filut@Scrum Experience Day 2020
Scrum Studio - Lukasz Filut@Scrum Experience Day 2020Scrum Studio - Lukasz Filut@Scrum Experience Day 2020
Scrum Studio - Lukasz Filut@Scrum Experience Day 2020
Łukasz Filut
 
Landingi - 11 lat.pdf
Landingi - 11 lat.pdfLandingi - 11 lat.pdf
Landingi - 11 lat.pdf
Tomaszlzok1
 
AI w marketingu i biznesie - Anna Ledwoń-Blacha I More Bananas
AI w marketingu  i biznesie - Anna Ledwoń-Blacha I More BananasAI w marketingu  i biznesie - Anna Ledwoń-Blacha I More Bananas
AI w marketingu i biznesie - Anna Ledwoń-Blacha I More Bananas
More Bananas
 
Modele wdrażania i zarządzania projektami erp
Modele wdrażania i zarządzania projektami erpModele wdrażania i zarządzania projektami erp
Modele wdrażania i zarządzania projektami erp
Jaroslaw Zelinski
 
Zarządzania wiedzą
Zarządzania wiedząZarządzania wiedzą
Zarządzania wiedzą
DP4G
 
ERP jako system systemów
ERP jako system systemówERP jako system systemów
ERP jako system systemów
Jaroslaw Zelinski
 
Czy technologia w projektach internetowych jest ubogim krewnym kreacji
Czy technologia w projektach internetowych jest ubogim krewnym kreacjiCzy technologia w projektach internetowych jest ubogim krewnym kreacji
Czy technologia w projektach internetowych jest ubogim krewnym kreacji
InternetBeta
 
Zasady technicznej organizacji projektów programistycznych
Zasady technicznej organizacji projektów programistycznychZasady technicznej organizacji projektów programistycznych
Zasady technicznej organizacji projektów programistycznych
sztywny
 
Time to market
Time to marketTime to market
Time to market
Jaroslaw Zelinski
 
Jak wdrożyć wiki w firmie?
Jak wdrożyć wiki w firmie?Jak wdrożyć wiki w firmie?
Jak wdrożyć wiki w firmie?
Divante
 
Jak wdrożyć wiki w firmie - Tomasz Karwatka, Divante
Jak wdrożyć wiki w firmie - Tomasz Karwatka, DivanteJak wdrożyć wiki w firmie - Tomasz Karwatka, Divante
Jak wdrożyć wiki w firmie - Tomasz Karwatka, DivanteBiznes 2.0
 

Similar to JDD 2017: Dług techniczny - skryty oprawca organizacji nie tylko technologicznych (Mateusz Gajewski) (20)

Technology Acceleration Canvas by InnoCo
Technology Acceleration Canvas by InnoCoTechnology Acceleration Canvas by InnoCo
Technology Acceleration Canvas by InnoCo
 
Mity, które blokują Twoją karierę
Mity, które blokują Twoją karieręMity, które blokują Twoją karierę
Mity, które blokują Twoją karierę
 
REVE UP
REVE UPREVE UP
REVE UP
 
Wiki w firmie
Wiki w firmieWiki w firmie
Wiki w firmie
 
Zarządzanie wiedzą w organizacji - Tomek Karwatka
Zarządzanie wiedzą w organizacji - Tomek KarwatkaZarządzanie wiedzą w organizacji - Tomek Karwatka
Zarządzanie wiedzą w organizacji - Tomek Karwatka
 
Zarządzanie wiedzą w organizacji
Zarządzanie wiedzą w organizacjiZarządzanie wiedzą w organizacji
Zarządzanie wiedzą w organizacji
 
J2EE. Podstawy programowania aplikacji korporacyjnych
J2EE. Podstawy programowania aplikacji korporacyjnychJ2EE. Podstawy programowania aplikacji korporacyjnych
J2EE. Podstawy programowania aplikacji korporacyjnych
 
PLNOG 21: Tomasz Wodziński - A może tak zbudujemy sobie SOC’a ?
PLNOG 21: Tomasz Wodziński -  A może tak zbudujemy sobie SOC’a ?PLNOG 21: Tomasz Wodziński -  A może tak zbudujemy sobie SOC’a ?
PLNOG 21: Tomasz Wodziński - A może tak zbudujemy sobie SOC’a ?
 
Scrum Studio - Lukasz Filut@Scrum Experience Day 2020
Scrum Studio - Lukasz Filut@Scrum Experience Day 2020Scrum Studio - Lukasz Filut@Scrum Experience Day 2020
Scrum Studio - Lukasz Filut@Scrum Experience Day 2020
 
8 jaromir dzialo
8 jaromir dzialo8 jaromir dzialo
8 jaromir dzialo
 
Landingi - 11 lat.pdf
Landingi - 11 lat.pdfLandingi - 11 lat.pdf
Landingi - 11 lat.pdf
 
AI w marketingu i biznesie - Anna Ledwoń-Blacha I More Bananas
AI w marketingu  i biznesie - Anna Ledwoń-Blacha I More BananasAI w marketingu  i biznesie - Anna Ledwoń-Blacha I More Bananas
AI w marketingu i biznesie - Anna Ledwoń-Blacha I More Bananas
 
Modele wdrażania i zarządzania projektami erp
Modele wdrażania i zarządzania projektami erpModele wdrażania i zarządzania projektami erp
Modele wdrażania i zarządzania projektami erp
 
Zarządzania wiedzą
Zarządzania wiedząZarządzania wiedzą
Zarządzania wiedzą
 
ERP jako system systemów
ERP jako system systemówERP jako system systemów
ERP jako system systemów
 
Czy technologia w projektach internetowych jest ubogim krewnym kreacji
Czy technologia w projektach internetowych jest ubogim krewnym kreacjiCzy technologia w projektach internetowych jest ubogim krewnym kreacji
Czy technologia w projektach internetowych jest ubogim krewnym kreacji
 
Zasady technicznej organizacji projektów programistycznych
Zasady technicznej organizacji projektów programistycznychZasady technicznej organizacji projektów programistycznych
Zasady technicznej organizacji projektów programistycznych
 
Time to market
Time to marketTime to market
Time to market
 
Jak wdrożyć wiki w firmie?
Jak wdrożyć wiki w firmie?Jak wdrożyć wiki w firmie?
Jak wdrożyć wiki w firmie?
 
Jak wdrożyć wiki w firmie - Tomasz Karwatka, Divante
Jak wdrożyć wiki w firmie - Tomasz Karwatka, DivanteJak wdrożyć wiki w firmie - Tomasz Karwatka, Divante
Jak wdrożyć wiki w firmie - Tomasz Karwatka, Divante
 

JDD 2017: Dług techniczny - skryty oprawca organizacji nie tylko technologicznych (Mateusz Gajewski)

  • 1. Dług techniczny
 czyli skryty oprawca organizacji (nie tylko technologicznych) Mateusz Gajewski • @wendigo • JDD Kraków 2017 1
  • 2. Kim jestem • Ostatnie 8 lat spędziłem w Allegro, • W karierze przyjmowałem różne role: programisty, architekta, lidera i mentora, • Aktualnie pomagam organizacjom na różnym etapie rozwoju (w tym startupom) w pozbywaniu się długu technicznego i skalowaniu ich biznesu, • @wendigo na Twitterze, GitHubie, Keybase i Speakerdeck 2
  • 3. 3
  • 5. Dług techniczny 1. suma pieniędzy, którą ktoś pożyczył i musi zwrócić, 2. obowiązek dłużnika do spełnienia określonego świadczenia, 3. zobowiązanie moralne wobec kogoś źródło: https://sjp.pwn.pl/slowniki/dług.html 5
  • 6. Dług techniczny Technika to usystematyzowane wykorzystywanie reguł naukowych i wiedzy praktycznej do wytwarzania określonego produktu (wyrobu). Składa się z: 1. Zespołu reguł i praw naukowych, 2. Określonej grupy zastosowań, 3. Określonego zestawu produktów wytwarzanych przy użyciu określonych urządzeń, 4. Specjalistycznej wiedzy, wyrażonej zbiorem technologii (metod) wykorzystywanych w pracach badawczych, pomiarach i praktycznych zastosowaniach techniki, 5. Doświadczenia praktycznego, 6. Organizacji, wyrażonej strukturą i systemami. źródło: „The Management of Technology, Perception and Opportunities”, Paul Lowe, 1995 6
  • 7. Jako IT dostarczamy „biznesowi” oprogramowanie, aplikacje, architekturę, procesy, technologie, urządzenia, kompetencje, organizację pracy które pozwalają nam świadczyć usługi mające określoną funkcjonalność (fit for purpose) użyteczność (fit for use) 7
  • 8. Systemy muszą mieć odpowiednie -ości Wymagania pozafunkcjonalne normy ISO 9216 niezawodność wydajność dokładność integralność łatwość odporność rzetelność dostępność czytelność pojemność skalowalność dojrzałość jakość stosowalność zgodność odtwarzalność odzyskiwalność analizowalność operowalność utrzymywalność zmienialność testowalność zamienialność rozwijalność efektywność interoperacyjność bezpieczność niezawodność przenośność plastyczność adaptowalność instalowalność bezawaryjność konfigurowalność zastępowalność powtarzalność 8
  • 9. Dług techniczny przejawia się brakiem wymaganej użyteczności 9
  • 10. Przejawem długu technicznego nie jest brak funkcjonalności 10
  • 11. Jak i dlaczego powstaje dług techniczny? 11
  • 13. „Designing a perfect solution is a destructive endeavor and is elusive to even the most capable software craftsman.” Chris Sterling - Principal Product Manager Spring Cloud 13
  • 14. Wpływ środowiska Ograniczone zasoby: 1. presja czasu, 2. brak odpowiednich danych, 3. finansowania, 4. brak odpowiednich ludzi, 5. brak kompetencji i doświadczenia, 6. brak dostępu do narzędzi, technologii i wiedzy.
 14
  • 15. Klasyfikacja źródeł długu technicznego Żródło: M. Fowler - Technical Debt Quadrant 15
  • 16. Dług techniczny wynika z
 każdej świadomie lub nieświadomie podjętej decyzji, której rosnący w czasie koszt zostanie nieuchronnie poniesiony w przyszłości 16
  • 17. Zaciąganie długu technicznego pozwala nam szybciej dostarczać, zbierać informacje zwrotne, uczyć się i dochodzić do poprawnych rozwiązań 17
  • 19. Ewolucja systemów klasy „E” 1. Ciągła zmienność (continuing change), 2. Wzrastająca złożoność (increasing complexity), 3. Samoregulacja (self regulation), 4. Organizacyjna stabilność (conservation of organisational stability), 5. Zachowanie znajomości (conservation of familiarity), 6. Ciągły wzrost (continuing growth), 7. Degradacja jakości (declining quality), 8. Sprzężenie zwrotne (feedback system). Żródło: Prawa Lehmana ewolucji oprogramowania 19
  • 20. Prawo I: „Ciągła zmienność” „continuing change” 20
  • 21. Prawo II: „Wzrastająca złożoność” „increasing complexity” 21
  • 22. Prawo VI: „Ciągły wzrost” „continuing growth” 22
  • 23. Prawo VII: „Degradacja jakości” „declining quality” 23
  • 24. „If you are not improving, entropy guarantees that you are actually getting worse.” Gene Kim - The Phoenix Project 24
  • 25. Ryzyka związane z długiem technicznym 25
  • 26. 26
  • 27. 27
  • 29. Niespłacanie długu technicznego 1. Nie dostarczanie na czas nowych funkcjonalności, 2. Wzrost ryzyka biznesowego, 3. Zatrzymanie rozwoju firmy, 4. Odpowiedzialność karna, 5. Problem z otrzymaniem kolejnej rundy finansowania (due diligence), 6. Niezadowolenie i odpływ klientów (zła funkcjonalność, niska używalność), 7. Utrata kapitału firmy, 8. Upadek :( 29
  • 30. Spektakularne przypadki 1. 2009: Nasza Klasa - Pan Gąbka i ciągłe awarie systemu, 2. 2012: Knight Capital Group - strata 440 mln $ w 40 minut, 3. 2013: Toyota - błąd w kodzie ECM powoduje śmierć kierowcy, 4. 2017: GitLab - usunięcie danych i problem z ich przywróceniem, 5. 2017: AWS - 11h niedostępność regionu S3. 30
  • 32. 32
  • 33. Wewnętrzna jakość 1. Czy stosowane są wzorce clean code? 2. Czy kod jest testowany? W jaki sposób? 3. W jaki sposób mierzona jest jakość kodu? 4. Jak często kod jest refaktoryzowany? 5. Jak duża jest duplikacja kodu? 33
  • 34. Struktura komponentów 1. W jaki sposób aplikacja podzielona jest na komponenty? Ile można ich wydzielić? 2. Jak komponenty integrują się ze sobą? 3. Jak silnie powiązane są ze sobą komponenty? 4. Jak łatwo zidentyfikować można komponenty w których należy dokonać zmianę biznesową? 5. Jak łatwo wymienialne są poszczególne komponenty? 34
  • 35. Architektura 1. Czy architektura posiada strukturę i jest spójna? 2. Czy architektura odpowiednio wspiera cele biznesowe? 3. Czy architektura wprowadza porządek, integralność i bezpieczeństwo do systemu? 4. W jaki sposób architektura jest udokumentowana i czy jest jednakowo rozumiana? 5. W jaki sposób komponenty integrują się ze sobą na poziomie architektury? 35
  • 36. Procesy 1. Jaki jest lead time (LT) wprowadzania nowych zmian? 2. Jakie zespoły są zaangażowane w proces dostarczania wartości? 3. Jak długo trwa integracja zmian przed wdrożeniem? 4. W jaki sposób testowane są zmiany przed wdrożeniem? 5. Jakie są artefakty procesu wytwarzania oprogramowania? 36
  • 37. Organizacja 1. W jaki sposób nabywana i wprowadzana jest nowa wiedza w organizacji? 2. Jak dobrze pracownicy rozumieją i wspierają cele organizacji? 3. Czy istnieją role lub kompetencje które trudno jest zastąpić (silosy)? 4. Jak łatwe/trudne jest pozyskanie nowych pracowników z odpowiednimi kompetencjami? 5. Ile trwa wdrożenie nowego pracownika w jego obowiązki? 37
  • 38. Produkt 1. Proporcjonalnie ile czasu poświęcane jest na rozwój nowych funkcjonalności? 2. Czy istnieje dedykowany zespół utrzymaniowy? 3. Kto podejmuje decyzje o wdrożeniu produktu? 4. Jak często wdrażane są nowe funkcjonalności? 5. Jak wiele jest defektów i awarii po wdrożeniu? 38
  • 39. Jak postępować z długiem technicznym? 39
  • 40. Nie ukrywajmy długu technicznego przed biznesem 40
  • 41. Obsługa długu 1. Dług powinien być zarządzany tak samo jak zarządzamy produktem, który rozwijamy, 2. Dług powinien być priorytetyzowany ze względu na: 1. Koszt (ile będzie kosztować jego spłacenie), 2. Łatwość (jak trudne technicznie jest pozbycie się go), 3. Wpływ (jak możemy ucierpieć żyjąc z nim), 4. Prawdopodobieństwo (jak bardzo prawdopodobny jest negatywny wpływ długu), 3. Powinniśmy szukać globalnych rozwiązań lokalnych problemów. 41
  • 42. Taksonomie długu technicznego 1. Niezamierzony (niska jakość) - wymaga stałych przeglądów i refaktoryzacji, 2. Zamierzony (reaktywny, taktyczny): 1. Skoncentrowany krótkoterminowy - zadania trafiają do backlogu do wykonania po releasie, 2. Nieskoncentrowany krótkoterminowy - spłacany w trakcie bieżącej pracy (refaktoryzacja), 3. Długoterminowy (proaktywny, strategiczny) - zarządzany jak projekt, z odpowiednim budżetowaniem Steve McConnell, “Technical Debt” 42
  • 44. Dług techniczny jest w każdej organizacji. 
 Nie jest on tylko i wyłącznie problemem IT. 44
  • 45. Dług techniczny może być strategiczną decyzją podjęta w celu zebrania odpowiedniego doświadczenia 45
  • 46. Dług techniczny może być także wynikiem niekompetencji, głupoty i niekontrolowanego działania entropii 46
  • 47. Nie bój się zaciągać długu technicznego. 
 Rób to świadomie. Spłacaj go konsekwentnie. 47
  • 48. „Ciągłe skupienie na technicznej doskonałości i dobrym projektowaniu zwiększa zwinność.” Agile Manifesto 48