Widziałem ostatnio fajny film, bazujący na rzeczywistych wydarzeniach, pod tytułem Deepwater Horizon. Oprócz bycia dobrze zrobionym i rozrywkowym, film miał dla mnie dodatkową wartość. Była to historia o tym, co dzieje się z projektem posiadającym niewystarczające testy i krótkowzroczny management wywierający nacisk na wypuszczenie niedokończonego produktu z monstrualnym długiem technicznym.

Otóż projekt eksploduje w wielkiej kuli ognia.

dwhepksocial

Dług techniczny

Ward Cunningham ukuł pojęcie długu technicznego pracując nad systemem finansowym. Ideą jest spostrzeżenie, że gdy tworzymy oprogramowanie możemy często pójść w dwóch kierunkach. Możemy spędzić więcej czasu i zaimplementować nową funkcjonalność czysto, solidnie i biorąc pod uwagę istniejącą architekturę. Jeśli funkcjonalność nie pasuje dobrze do istniejącej architektury czy designu, aplikujemy stosowny wysiłek aby go zmienić. Drugi kierunek to skupienie się na dostarczeniu działającego kodu szybciej, lecz bez należytej troski o system jako całość i jego przyszłość. Całościowy stan kodu ulega pogorszeniu i powinien zostać naprawiony aby możliwe było utrzymanie prędkości zespołu na aktualnym poziomie. Czas, albo pieniądze, który oszczędzamy teraz są długiem, który musi zostać spłacony później. Im później to nastąpi, tym większe odsetki musimy zapłacić oprócz kwoty, którą oryginalnie pożyczyliśmy.

Continue reading

Rzemieślnik Javy z zacięciem grafomańskim. Zawodowo od 2009 psuje oprogramowanie. Był już w fińskim telecomie, niemieckiej logistyce, szwajcarskim banku, szwedzkiej fabryce aut i finalnie wylądował w polskim software housie. Jest miłośnikiem pięknego kodu, ewangelistą Scruma i molem książkowym. Interesuje się psychologią, fantastyką wszelakiego rodzaju, grami planszowymi, komputerowymi i fabularnymi, japońskimi sztukami walki: Aikido i Iaido oraz duńskimi klockami Lego. Od dwóch lat prowadzi bloga o tresowaniu Javy ze smokiem w tle, dostępnego pod adresem: www.HowToTrainYourJava.com