Software Crafstman - czysty kod i... obserwowalność

Jestem jednym z tych programistów, którzy chcą ze swojej pracy czerpać dumę i wstawać od komputera z poczuciem dobrze wykonanej roboty. W związku z tym zawsze blisko mi było do Software Craftsmanship, a co za tym idzie praktyk takich jak czysty kod i TDD. W rzemieślniczej metaforze pracy programisty jest jednak coś niepokojącego - wydaje się, że jako programiści rzemieślnicy skupiamy się przede wszystkim na utrzymaniu porządku w warsztacie i tym samym na ułatwianiu pracy sobie i swoim kolegom. W efekcie, w niektórych przypadkach, rzeczywiście zajmujemy się sztuką dla sztuki bez realnego przełożenia na efekt końcowy widziany przez użytkownika - dopasowanie do jego oczekiwań i możliwości realizacji jego celów. Czy w rozmowie o wytwarzaniu oprogramowania jako o rzemiośle czegoś przypadkiem nie brakuje? Z perspektywy programisty zaciekawionego rozbieżnościami między deklaracjami dobrych praktyk a ich faktycznym stosowaniem, chciałabym opowiedzieć o obserwowalności (“observability”). Powiem, dlaczego uważam, że obserwowalność to cecha i praktyka, o której powinniśmy w środowisku Software Craftsmen dyskutować przynajmniej tak samo często jak o TDD czy Clean Code. Co więcej, oprócz dyskutowania, powinniśmy ją nawet implementować.