To, czego nie widać

Empiryzm zakłada, że źródłem poznania są doświadczenie. Doświadczenie są lepsze od idei, bo opiera się na sprawdzalnej, materialnej rzeczywistości.

To właśnie empiryzm leży u podstaw metodyk zwinnych, ze swoim słynnym „inspect and adapt”.

Empiryzm poznawczy trafia jednak na powien problem. Wprawdzie teoretycznie wszystko, co materialne można poznać empirycznie, ale nie do wszystkiego mamy (i chcemy mieć) praktyczny dostęp – to jednak nie powstrzymuje nas przed wydawaniem opinii.

Patrzenie tylko na powierzchnię wystarcza, aby mieć swój osąd. Ale pod spodem jest to, czego nie widać – węwnetrzna złożoność, która umyka.

Na własnej skórze się o tym przekonałem pracując nad PizzaPortal, gdy po roku pracy w zespole kilkanastu osób w trzech krajach zostałem skrytykowany za brak funkcji, która przecież jest łatwa we wdrożeniu. Ten sam mechanizm widziałem dzisiaj jak wypuściliśmy stronę zamow.itaxi.pl, gdzie dostaliśmy sugestię dodania kilku linijek kodu, aby strona lepiej wyglądała na komputerze.

Z perspektywy krytykującego to oczywista sprawa i szybka poprawka. Dla nas w sumie też, ale poza samym kodem musimy brać pod uwagę także:

  • zaplanowaną listę funkcji do wdrożenia,
  • ustalone priorytety biznesowe,
  • konkretną grupę docelową w głowie,
  • dług technologiczny, którym trzeba zarządzać,
  • uzgodniony proces testowania i akceptacji kodu,
  • dostępność zespołu programistycznego,
  • konieczność skupienia na tym, co jest dla nas najważniejsze,

… oraz kilka innych czynników, z których żaden nie jest widoczny na powierzchni (i nie powinien być).

1a66d8e4-fc83-40dc-9bbc-c19d0ed93197-501-000001b4dc0b29f5_tmp
xkcd tłumaczy to najlepiej

Często łapię się na tym, że krytykuję bezsensowne rozwiązania w różnych usługach. Zawsze z zewnątrz wydają się idiotyczne, ale gdy przepuszczam je przez filtr własnych doświadczeń to odechciewa mi się obgadywać je publicznie. Bo wiem, że efekt końcowy to wypadkowa decyzji i priorytetów, które są dla mnie niewidoczne.

Podobnie się czuję, gdy planuję nową super funkcję i ta wydaje się bardzo prosta do czasu konsultacji z zespołem, który odkrywa przede mną wewnętrzną złożoność problemów jakie nas czekają przy implementacji.

Rzeczy wydają się proste, gdy nie patrzy się na nie wystarczająco głęboko.