Amatorzy i juniorzy tak robią; a nie profesjonalni programiści. Pracujesz w firmie, która Cię wynajęła do wytwarzania dobrego oprogramowania, a nie powiększania długu technologicznego.
Nie, firma wynajęła go do wytwarzania oprogramowania spełniającego wymagania biznesowe. I on to realizuje. Ponadto sygnalizuje, że inaczej to powinno być zrobione, ale jeśli firma (manager) woli dług technologiczny to stawianie robienie z tego dramatu to jakaś paranoja. Tym bardziej, że to nie jest żadne klejenie na taśmę, bo produkt będzie działał zarówno zrobiony zgodnie z praktykami (podział domeny od DTO) jak i bez tego, a jedynie utrzymywalnosc rozwiązania spada.
Oczywiście że każdy manager i PO woli dług technologiczny; bo dla nich techniczny improvement to jest niepotrzebny koszt. Dla programistów to jest inwestycja (zrobimy refactor dzisiaj, zoszczędzimy sobie tygodni debugowania za rok), dla businnes guys to jest koszt. Żeby zaczęli postrzegać to jako inwestycję tak jak my, musieliby się stać kompetentni w programowanie, co raczej się nie stanie.
Takie rzeczy się dokumentuje w jakimś decision log, wpisuje się argumenty za i przeciw i podejmuje decyzje, ja miałbym sumienie czyste, najwyżej byłby to kolejny powód dla którego rozważałbym odejście do miejsc, gdzie jest czas pisać dobrze.
Sure, tylko z kim chcesz podjąć taką decyzję? Mam nadzieję że tylko z kompetentnymi ludźmi; czyli takimi którzy rozumieją powody i wagę takiej decyzji, a 99.9% PO się do tej kategorii nie wlicza; więc ich zdanie nie powinno być wzięte pod uwagę.
Niekompetentna osoba taka jak PO albo inny scrum master nie jest w stanie podjąć informowanej decyzji nt rozowju oprogramowania, co tu jest do rozumienia. Mogą oczywiście decydować które feature'y są ważniejsze do wdrożenia (typu czy ważniejsze jest dodanie uploadu zdjęc czy obserwowania postów, np.). Ale decyzja czy ważniejszy jest feature czy technological improvement to jest decyzja programistów, jak mogłoby być inaczej.
Przygotowałem wysokiej jakości tabelkę
| opinia programisów |
opinia PO |
co się powinno stać |
| we should fix |
we should fix |
we fix |
| we should fix |
we shouldn't fix |
we fix |
| we shouldn't fix |
we should fix |
we don't fix |
| we shouldn't fix |
we shouldn't fix |
we don't fix |