Jak dobry jest wystarczająco dobry? (Zarządzaj napięciem i wyślij je)
Wczoraj jadłem lunch z przyjaciółmi i innymi właścicielami firm i programistami, a jednym z tematów, które pojawiły się podczas naszej dyskusji, był pomysł, jak dobre jest wystarczająco dobre?
W szczególności, gdy pracujesz nad projektem oprogramowania, kiedy jest to dobre ™, aby wysłać go do klienta?
Jak dobry jest wystarczająco dobry ze standardami kodowania?
Konsekwencją jest oczywiście to, że jeśli jest wystarczająco dobry, to spełnia wymagania, ale prawdopodobnie istnieje pewne ukryte napięcie, że mając więcej czasu, pieniędzy lub innych zasobów, cofnęlibyśmy się i ulepszyli pewne aspekty projektu.
Jeśli jesteś programistą lub projektantem, być może poczułeś to napięcie. Mam. Co jest warte, czuję to niemal w każdym projekcie, nad którym pracuję.
I oczywiście, przez cały dzień możemy debatować, co to znaczy być wystarczająco dobrym. Ale myślę, że definicja zmienia się im dalej wkraczamy w branżę.
Jak dobry jest wystarczająco dobry?
Chodzi mi o to, że wystarczająco dobry jest ruchomy cel często podyktowany poziomem twojego doświadczenia (w porównaniu z innymi kwalifikatorami, takimi jak, powiedzmy, twój wiek).
Zakładam, że w tym poście jesteś w branży wystarczająco długo i pracujesz z podobnym zestawem narzędzi i języków, aby w pełni zrozumieć specyfikę każdego z języków i narzędzi, których używasz. Nie wstydzę się zagłębiać raczej w głąb niż szeroko, jeśli chodzi o tworzenie oprogramowania.
Zmienia się w czasie
Jednocześnie poziom doświadczenia, który uważamy za „wystarczająco dobry" to ruchy. Kiedy zaczynasz, wystarczająco dobre jest prawdopodobnie po prostu uzyskanie czegoś, co działa. Jeśli jesteś w zespole – zwłaszcza doświadczonych programistów – prawdopodobnie otrzymasz wiele informacji zwrotnych na temat tego, jak coś ulepszyć.
I na początku może to być trudne. Może to nawet trochę przygnębiające. To znaczy, jesteś dumny z tego, co zrobiłeś, ale masz garstkę ludzi, którzy mówią ci, jak coś zmienić. Nawiasem mówiąc, to samo dzieje się w open source (bez względu na to, co jest warte).
Nie powlekać cukrem ani niczego zmieniać, bo masz rację: to może stać się przygnębiające. To znaczy, spędziłeś, kto wie, ile godzin nad czymś pracuje, sprawiasz, że to działa, a potem każesz swoim rówieśnikom poprawić wiele pracy, którą wykonałeś.
Razem możemy poprawić sytuację.
Pamiętaj jednak, że motywacja tej krytyki nie ma nic wspólnego z tobą jako osobą. I nie ma to nic wspólnego ze stwierdzeniem, że nie jesteś wystarczająco dobry. Mówi, że to działa, co jest świetne, teraz zróbmy to jeszcze lepiej.
Gdy dowiadujesz się więcej, nagle zmienia się pomiar tego, co kiedyś było wystarczająco dobre.
Kiedy to, co kiedyś było dobre, nie jest już prawdą
I tu pojawia się napięcie: to, co kiedyś było wystarczająco dobre, teraz już nie wystarcza. To jest kiepskie, prawda? Zatem nowe wystarczająco dobre jest czymś lepiej zorganizowanym, lepiej zaprojektowanym i lepiej zorganizowanym.
Następnie pojawia się nowe napięcie: dotrzymujesz terminu lub kończą ci się pieniądze i nadszedł czas, aby wysłać produkt. Wiesz, że praca, którą wykonałeś, jest dobra, wykonalna i wystarczająco dobrze udokumentowana, aby kontynuować projekt.
Jak dobry jest wystarczająco dobry? Czy posiada dokumentację?
Ale to nie wystarczy, ponieważ zdajesz sobie sprawę z tego, co mógłbyś zoptymalizować, gdybyś miał trochę więcej czasu. Ty jednak nie – musisz wysłać go w obecnym stanie.
Tajemnice handlowe
Oto brudny mały sekret w branży, do którego z jakiegoś powodu ludzie nie chcą się przyznać: W porządku jest wysyłanie go w takim stanie.
Wysyłka towaru w podanym stanie jest w porządku.
Po pierwsze, stan, w którym się znajduje, jest nie tylko lepszy niż nic; to coś, co jest lepsze niż to, co kiedyś potrafiłeś. Ci z nas, którym zależy na tym rzemiośle, czują to prawie ze wszystkim, co
Po drugie, oprogramowanie jest plastyczne. Może i będzie się zmieniać z biegiem czasu. Dlatego mamy wersje naszej pracy. Ci z nas, którym zależy na tym rzemiośle, odczuwają to napięcie prawie we wszystkim, co robimy.
Wreszcie, idea tego, co uważa się za „Dobre Wystarczające”™, nie znika. Po prostu się porusza. Im więcej dowiesz się o tworzeniu dobrego oprogramowania, różnica w definicji tego, co jest wystarczająco dobre, zmienia się.
Napięcie nie ustępuje
Więc przyzwyczaj się do napięcia. Obejmij to nawet. Jeśli tego nie czujesz, to twierdzę, że nie zależy ci na wytwarzaniu produktu wysokiej jakości. I wiem, że to odważne stwierdzenie, ale nie spotkałem się jeszcze z deweloperem, który by się z tym nie zmagał.
To część pracy. Weź to za to, czym jest. Jeśli to czujesz, to dobry znak, że jesteś na dobrej drodze.

