Marny los Twittera. Pogrąży go dług techniczny
W informatyce istnieje pojęcie długu technicznego. Oznacza on różnicę między tym, co trzeba było zrobić, a tym, co do tej pory zrobiono w celu utrzymania systemu w pełnej sprawności i wzorowym stanie kodu źródłowego. Przykładem mogłaby być zmiana biblioteki realizującej jakieś obliczenia na inną, w celu polepszenia wydajności kluczowego elementu systemu. Żeby pozostałe elementy nadal współdziałały z nim płynnie, powinno się je analogicznie zmodyfikować, czyli w nich także zastosować nową bibliotekę. Przebudowa kodu trwa i kosztuje, więc czasami zapada decyzja, żeby zamiast docelowych zmian wykonać tylko szybkie prowizoryczne „przejściówki” na połączeniach. Te nie wykonane od razu dogłębne modyfikacje to właśnie dług techniczny, którego obsługa kosztuje – tak samo, jak odsetki od długu bankowego. Bo teraz w systemie są stosowane dwie biblioteki realizujące to samo zadanie i programiści muszą umieć obsługiwać obie, każdą poprawkę bezpieczeństwa trzeba przygotować w dwóch wersjach, każdy nowy element systemu musi być dopasowany do dwóch różnych mechanizmów działania współpracujących z nim komponentów. Niezależnie od tego, w końcu trzeba będzie spłacić także kapitał długu i dokonać głębokich modyfikacji, odsuniętych tylko w czasie.
Także nienapisana od razu dokumentacja techniczna jest długiem. Oczywiście jej ograniczenie przyspiesza oddanie gotowego systemu. Kosztem obsługi jest to, że teraz każda zmiana kodu jest dużo bardziej pracochłonna, bo ciągle trzeba od nowa rozgryzać szczegóły tego, jak nasz własny program działa. To odsetki. W dodatku, o ile tworzenie dokumentacji w miarę pisania kodu i niezwłocznie potem jest łatwe, bo wszyscy pamiętają jak on działa, o tyle uzupełnienie jej wraz z upływem czasu staje się coraz większym wyzwaniem. Spłata kapitału też będzie więc kosztowniejsza, bo działa tu mechanizm podobny do kapitalizacji odsetek. A jeśli ci, którzy wiedzą, w międzyczasie odejdą z pracy, to sytuacja staje się naprawdę zła...
Ciężar i koszty powstałego długu technicznego, mogą równoważyć korzyści po stronie biznesowej, co powoduje decyzję o jego zaciągnięciu. Jest to normalne zjawisko – tak jak korzystanie z kredytów w banku. O ile jednak bank pochyla się nad biznesplanem i może odrzucić najbardziej nieprzemyślane plany kredytobiorcy, o tyle zaciąganie długu technicznego jest wewnętrzną decyzją firmy i po drodze jest mniej bezpieczników.
Fachowcy oceniają, że po zwolnieniach wśród personelu inżynieryjnego Twittera jego dług techniczny szybko i nieuchronnie narasta. Z czasem stanie się to widoczne także dla użytkowników, gdy będą się zdarzać awarie, różne funkcjonalności będą działać gorzej albo w ograniczonym zakresie. To będzie efekt tego, że narosły dług spowolni reakcje pozostałej załogi na zmieniające się warunki zewnętrzne do tego stopnia, że nie da się dłużej utrzymywać wszystkich funkcjonalności w stuprocentowej sprawności.
To mówi doświadczenie inżynierii oprogramowania.
A wtedy reszta użytkowników zacznie się ewakuować z Twittera, bo coraz mniej się będzie nadawał do użytku.