1. Opis ogólny
2. Przyczyny długu
3. Konsekwencje długu
4. Zarządzanie długiem
Przyczyny: Co ? Kto ? Dlaczego ? Kiedy ? Jak ? Ile ?
Strategia postępowania
5. Dług we wdrożeniach programu Trawers
6. Tematy powiązane
1. Opis ogólny
Dług technologiczny (en: Technical debt, Design debt, de: Technische Schulden)
to jest metafora stosowana w informatyce, która wskazuje na konsekwencje
nieprawidłowego wdrożenia i używania systemu oprogramowania.
Jako dług określa się dodatkowe nakłady, które należy ponieść na oprogramowanie
nieprawidłowo wdrożone i używane w porównaniu do nakładów na prawidłowe
wdrożenie i używanie.
Dług technologiczny można porównać do długu pieniężnego, w tym sensie,
że niespłacenie długu (nienaprawienie błędnych rozwiązań) powoduje 'odsetki'
tj. rosnące koszty naprawienia w późniejszym czasie.
Określenie: dług technologiczny można używać także w odniesieniu do działalności
biznesowej przedsiębiorstw. Aby zilustrować sytuację, w której przedsiębiorstwo
będzie zmuszone w przyszłości ponieść większe nakłady wskutek nie rozwiązania
problemu który pojawił się wcześniej.
W miarę upływu czasu, rozwiązanie pierwotnego problemu staje się trudniejsze
i bardziej kosztowne.
Dług technologiczny, to także różnica pomiędzy obecnym stanem rozwoju danej technologii
a stanem tego czego używa dana organizacja.
Dług technologiczny powstaje z powodu zaniechań w nadążaniu za postępem technicznym.
Takim postępem jest także bieżące aktualizowanie używanego oprogramowania.
2. Przyczyny długu technologicznego
* Brak całościowej koncepcji, co powoduje ciągłe przerabianie rozwiązań
w miarę pojawiania się nowych wymagań. Postępuje się tak, aby zaoszczędzić czas,
ale w rezultacie wiele prac wykonuje się powtórnie.
* Naciski z zewnętrz na szybsze zakończenie prac. W efekcie nie wszystkie prace
zostają należycie wykonane.
* Nieświadomość stopnia złożoności systemu oprogramowania. Decyzje w jednym elemencie
podejmuje się bez uwzględnienia ich wpływu na pozostałe elementy składowe.
* Niewiedza o rozwiązaniach technicznych. Decyzje podejmują osoby niezaznajomione
ze specyfiką systemów oprogramowania.
* Integrowanie różnych systemów, bez wspólnych płaszczyzn wymiany danych.
* Niedostateczne testowanie. Testy pozwalają wychwycić problemy przed przekazaniem
do używania produkcyjnego.
* Brak dokumentacji. Nie ma dokumentacji rozwiązania lub nie jest aktualizowana.
* Brak wymiany informacji. Wiedza nie jest przekazywana wszystkim uczestniczącym
w procesie wdrażania, używania i rozwoju.
* Brak koordynacji zespołów. Gdy kilka zespołów pracuje nad powiązanymi projektami
i nie ma wymiany informacji o postępach prac i przyjętych rozwiązaniach.
* Niereagowanie na zauważone problemy. Pozostawienie bez naprawy zwiększa koszty
w późniejszym czasie.
* Niestosowanie standardow. W systemach oprogramowania jest coraz wiecej standardów.
EDI, APICS, XML, JPK, GTIN, GS1, itd.
Rozwiązania lokalne, niestandardowe, utrudniają wymianę danych z partnerami biznesowymi.
* Niewiedza. Osoby nie znają systemu, którego używają. Lub znają tylko powierzchownie.
Nie wykorzystują istotnych właściwości oprogramowania.
* Brak 'właściciela procesu'. Nie wyznaczono osób odpowiedzialnych za procesy i ich rezultaty.
* Zmiany w ostatniej chwili. Szybkie zmiany procedur, metod pracy, bez analizy konsekwencji.
* Nienadążanie za rozwojem i zmianami w rozwiązaniach użytkowanego systemu.
Brak lub opóźniona aktualizacja do najnowszych wydań.
3. Konsekwencje długu technologicznego
* Konieczność spłaty długu. Zwiększone koszty tworzenia rozwiązań prawidłowych.
* Opóźnione projekty na skutek trudności oceny złożoności wdrożenia.
* Trudności w ocenie kosztów naprawy.
Im więcej długu, tym dłuższy czas wprowadzania nowych rozwiązań a to powoduje
kolejne zwiększenie długu.
* Gdy dług jest znaczny, to czasami korzystniej jest zarzucić rozwijanie prowadzonego projektu
i rozpoczęcie nowego projektu od zera.
4. Zarządzanie długiem
Zarządzanie długiem, to:
1. Ustalenie przyczyn: Co ? Kto ? Dlaczego ? Kiedy ? Jak ? Ile ?
2. Ustalenie strategii postępowania
Przyczyny: Co ? Kto ? Dlaczego ? Kiedy ? Jak ? Ile ?
Firmy świadome konsekwencji powstania długu, okresowo szukają odpowiedzi na te pytania.
Nawet gdy jeszcze nie powstał dług, to warto zidentyfikować ryzyka jego wystąpienia.
Strategia postępowania
Możliwe strategie:
* Nie ma zarządzania długiem. Reagowanie tylko w przypadku kryzysu.
* Świadome podejmowanie ryzyka długu. Zgoda na koszty długu ze względu na inne korzyści.
* Dogłębna analiza ryzyka powstania długu. Natychmiastowa reakcja w chwili
powstania problemu w celu usunięcia przyczyny. Unikanie 'odsetek'.
* Długofalowe planowanie. Wystrzeganie się długu. Zarządzanie spłatami.
(strategia zalecana)
5. Dług technologiczny we wdrożeniach programu Trawers
Na podstawie ponad 30 lat wdrożeń programu Trawers w kilku tysiącach firmach
można wskazać następujące główne przyczyny długu:
* Nieprawidłowe wdrożenie programu. Np. nieuwzględnie celów biznesowych organizacji,
brak niezbędnych zmian organizacyjnych i zmian pozycji i zadań pracowników.
* Brak 'właścicieli procesów'. Nie wyznaczono osób odpowiedzialnych za procesy i ich rezultaty.
* Brak świadomości konsekwencji pracy z systemem zintegrowanym.
Użytkownicy wprowadzają i korygują dane nie uwzględniając tego,
że inni użytkownicy będą podejmowali decyzje na podstawie 'ich' danych.
To powoduje konieczność dodatkowych ustaleń, synchronizacji danych.
* Brak aktualizacji programu w miarę jak pojawiają się nowe wydania.
Wprowadzone zmiany i rozbudowy kumulują się.
Utrudniają dostosowanie się operatorów do nowego modelu pracy.
Powstają spiętrzone koszty związane z jednorazową aktualizacją po dłuższym
czasie bez aktualizacji. Są to koszty rozpoznania różnic, koszty przystosowania
procedur i dokumentów, koszty dodatkowych szkoleń, dodatkowych aktualizacji
danych i przystosowania programów współpracujących.
Dodatkowe koszty związane z angażowaniem autorów oprogramowania do dodatkowego
wyjaśniania wprowadzonych zmian i tłumaczenia zastosowń nowych rozwiązań w programie.
* Opasanie programu zewnętrznymi aplikacjami bez uwzględnienia, że program
się rozwija. To wstrzymuje aktualizację, czasami na wiele lat.
* Brak dokumentacji przyjętych rozwiązań wdrożeniowych. Jeżeli nawet powstała
dokumentacja bezpośrednio po zakończeniu wdrożenia, to później nie jest
uzupełniana i poprawiana.
Dotyczy to także dokumentu: Przyjęte zasady rachunkowości.
Przyjęte zasady rachunkowości
* Brak wymiany informacji między użytkownikami. Nie ma wewnętrznych szkoleń.
Wiedza i doświadczenie jednej osoby nie rozchodzi się po całej firmie.
* Niewiedza. Niedostateczna wiedza nt. funkcjonalności programu. Co skutkuje
błędnymi rozwiązaniami: stosowanie nieodpowiednich parametrów, funkcji, raportów.
Używanie funkcji programowych niezgodnie z ich przeznaczeniem i rolą.
* Brak Opiekuna programu Trawers, Administratora (en: Key User), osoby nadzorującej
całość spraw związanych z programem. Każdy użytkownik 'ciągnie' w swoją stronę.
W rezultacie, nie ma jednej, spójnej koncepcji użycia programu dla realizacji
celów biznesowych firmy.
Nie ma też jednej, wspólnej koncepcji jakiego rozwoju programu oczekiwać od producenta.
* Brak zarządzania długiem technologicznym.
Nie wyznacza się osoby odpowiedzialnej, która pilnuje aby nie powstał dług.
Nie ustala się strategii zarządzania długiem. Zwykle reaguje się dopiero w sytuacji kryzysu.
Nie ma świadomości długu. Powstanie długu zaskakuje decydentów.