Programiści są „podłączeni” do rozwiązywania problemów.
Dobrzy programiści będą próbowali rozwiązać „właściwe” problemy.
Dostarczenie tego, o co ktoś prosi, jest [często] złym problemem do rozwiązania.
W czasach, gdy automatyzacja MS Office była w modzie, pojawiał się szereg pytań, zwykle w ciągu kilku tygodni, z pytaniem, jak zrobić „to” w jednym produkcie Office, a następnie „tamto” w innym produkcie , a następnie coś jeszcze w innym. Każde z nich jest szybko rozwiązywane, ale „problem” - jeszcze nie w pełni określony - nie został rozwiązany. Wracają po kolejne „ogniwo” w swoim łańcuchu.
Jeśli ich zatrzymasz i zapytasz: „Dlaczego?” następnie muszą cofnąć się i wyjaśnić szerzej, co chcą osiągnąć, a nie tylko opisać problem bezpośrednio przed nimi. (BTW, programiści cierpią z tego powodu tak samo jak (jeśli nie bardziej niż ktokolwiek inny), na których fora takie jak te noszą testament).
Łańcuch użytkownika „Pobieranie danych z dużej bazy danych do programu Access, a następnie do programu Excel, aby je trochę wymasować, a następnie w programie Word, aby mogli scalać wyniki pocztą e-mail i wysyłać je co tydzień do ludzi”, jest szybko zastępowany przez zadanie wsadowe, które wykonuje to wszystko , z wynikami umieszczonymi w skrzynkach odbiorczych ludzi w poniedziałek rano, bez ręcznego zaangażowania użytkownika w ogóle.
Użytkownicy lubią to.
Musimy wiedzieć, gdzie chcesz się dostać, zanim zaoferujemy ci najlepszy sposób na dotarcie.
Alternatywnie (parafrazując Monty Python): „Czy chcesz 5-minutowej odpowiedzi czy pełnych pół godziny”?
Nie ma sensu, aby Programista grzechotał wszystkie najdrobniejsze szczegóły danej funkcji, gdy chcesz tylko wiedzieć, czy da sobie radę, jeśli podasz jej liczbę z trzema trzema miejscami po przecinku.
Znajomość swojej perspektywy często może radykalnie zmienić kształt otrzymanej odpowiedzi.
How do I walk on water?
Why?
I want to cross the river
Build a boat.