Odkąd aktualizacji, ludzie ciągle dzwoni i mówi „Odkąd aktualizacji X, Y i Z są powolne, zły i upaść”
To działo się zawsze od zarania aktualizacji.
Czego ludzie się spodziewać? Gamma pochodzi po beta, gamma i testowanie zawsze okazuje naszych użytkowników w niesamowitej kadłuby ...
Być może nigdy nie słyszałeś tego od klienta, może jesteś w college'u lub FLOSS Dev którzy mogą rozprzestrzeniać winę wokół więcej niż 5 lub 6 facetów, może przetestować urządzenie kod, być może nie jesteś w tej ciekawej sytuacji gdzie klienci faktycznie zadzwonić zainteresowanie dokładną godzinę będziesz uwalniający dzisiejszy patch (chciałbym to zrobić Microsoft) czy może jesteś przykro son-of-a-suchar jak ja, którzy po prostu wysyłają nowy zaktualizuj i wróciłem do domu. Obawiam się, że wrócę jutro do pracy.
W każdym razie będziesz mądrzejszy ode mnie. W jaki sposób krytyka pola w ramce „Musisz być zły programista bo robisz swoje oprogramowanie gorszy”?
źródło
Odpowiedzi:
Jeśli zdarzy się to przy każdym wdrożeniu, proces programowania może mieć poważną wadę. Podejrzewam kilka rzeczy, które są przyczyną problemów.
źródło
Ale taka krytyka jest w większości uzasadniona. Nowe wydanie nie powinno być gorsze niż poprzednie, ale jak wiemy, w rzeczywistości często tak jest i to nasza wina, ponieważ to zrobiliśmy.
Popełnianie błędów jest ludzkie i nie czyni nikogo „złym programistą”, więc nie bierz krytyki osobiście (nigdy nie wziąłbym poważnej krytyki ze strony osoby niebędącej kolegą). Tylko podziękować klientom za zgłoszenie problemu i rozwiązać go tak szybko, jak to tylko możliwe. To twoja praca jako dobrego programisty.
źródło
Cóż, w pracy nie kontaktujemy się bezpośrednio z klientami, więc muszę odpowiedzieć na to pytanie z osobistej pracy projektowej. Piszę silnik gry, że ludzie mogą używać do tworzenia własnych gier. Jest jeszcze w pre-alpha, ale mam kilka zainteresowanych użytkowników, a czasami otrzymuję błędy.
Kiedy uzyskać raport jak to od użytkownika, staram się korzystać z osobistego kontaktu. Nie chciałem wprowadzać błędów i chcę, żeby mieli dobre doświadczenia z moim silnikiem, więc muszę im w to uwierzyć. Najpierw zdobądź uchwyt IM, abyśmy mogli porozmawiać. Poproszę użytkownika o ich projektu i postarać się o kopię. To znacznie ułatwia reprodukcję. Zapytaj ich, co robili, kiedy doszło do usterki. Tymczasem mam silnik otwarty w debuggerze i zajmuję się tym problemem podczas rozmowy.
Jeśli jest to wyjątek, to zwykle dość prosta. Powtórz problem, a debugger go złapie i zabierze Cię prosto do miejsca błędu z pełnym śledzeniem stosu, i jest oczywiste, co się dzieje. Jeśli jest to niska wydajność lub niewłaściwe zachowanie, może to potrwać trochę dłużej. Ale w większości przypadków może mam dylemat gotowy w ciągu pierwszych 20 minut, topy. Zamykam go i wysyłam do nich w celu przetestowania. „OK, myślę, że mam go. Sprawdź, czy w Twoim końca to działa?”
Odpowiedź jest niemal uniwersalną mieszanką zdumienia i wdzięczności, ponieważ większość programistów (czytaj: firmy produkujące oprogramowanie) po prostu nie naprawia błędów i nie wydaje tak szybko. A potem, jeśli to faktycznie stała, ja okazało potencjalne krytyk pod wentylatorem. To naprawdę dobra technika; Chciałbym tylko, żeby więcej programistów to przyjęło.
źródło
Ja osobiście podjąć ten problem pozytywnie. Cały czas wchodzę w interakcje z wieloma klientami i nadal koduję.
Kiedy pobierają nowe wydanie i mówią mi coś takiego, zawsze mówię coś takiego:
W rzeczywistości, klient jest twoim prawdziwym szefem. Jeśli doświadczenie z was jest złe, to jest złe dla Ciebie.
Nawet jeśli nie ma racji, ty jako członek firmy, powinieneś skorzystać z okazji, aby:
źródło
Szczegóły, szczegóły, szczegóły. Pytam, co robią i kiedy, być konkretne. To może być coś lub po prostu wideo Justin Beaber właśnie opublikowane na youtube. Pliki dziennika są Twoim przyjacielem w obu przypadkach.
Proszę także o terminach, kiedy zauważył. Czasami, zwłaszcza w sklepach korporacyjnych, użytkownicy nie wiedzą, kiedy pojawi się wydanie, po prostu wiedzą, że ukończenie czegoś zajmuje dużo czasu i właśnie na to narzekają.
Cień pracy. Nie mogę tego wystarczająco podkreślić. Jeśli masz szczęście mieć użytkowników w pobliżu, po prostu obserwuj ich pracę od czasu. Często stwierdzam, że ignorują rażące problemy i nigdy ich nie zgłaszają. Często narzekają tylko wtedy, gdy wiedzą, że coś jest nowego lub początkowo zauważają problem.
źródło
Krok 1 polega na tym, że musisz wywodzić się z myślenia, że to (aktualizacja psuje inne rzeczy) nie jest normalne. Twoja aktualizacja nie powinna przerywać ani spowalniać innych części aplikacji. To nie jest w porządku, nie należy się tego spodziewać i to nie wina użytkownika, kiedy narzeka. Powinieneś robić tyle testów, ile możesz, aby temu zapobiec. Kiedy to się dzieje, masz problem, i to pilny.
Krok 2 polega na tym, że musisz wiedzieć, co zrobiłeś. System kontroli źródła może być w stanie pomóc, albo jakiś system śledzenia pracy, ale musi być w stanie powiedzieć minuty można dostać jeden z tych skarg „ok, dodałem kolumnę do tabeli, zmienił tę siatkę do obliczenia nowe podatki, dodano te dwa nowe raporty ... ”i tak dalej.
Krok 3 polega na tym, że musisz mieć doświadczenie w szybkim wyszukiwaniu problemów z awariami, więc wiesz, jakie rzeczy mogą je powodować, i od razu możesz rozwiązać problem. Ta rzecz została uruchomiona i musisz szybko znaleźć problem i usunąć łatkę. Zmiana raportu nie może spowolnić części aplikacji, która nie korzysta z raportu. Jesteś teraz w trybie awaryjnym i musisz dowiedzieć się, gdzie jest błąd i co z tym zrobić - nie psując przy tym innej części aplikacji.
Krok 4 dotyczy każdej z tych nieszczęść, powinieneś nauczyć się lekcji, którą przetestujesz następnym razem. Staniesz się „tym facetem”, który sprzeciwia się niektórym konstrukcjom, ponieważ „będzie to okropne, gdy będzie 10 000 rekordów”.
Nieco więcej na froncie „to jest normalne”. Biegnę (wśród wszystkich innych rzeczy, które robimy) zwinny projektu dla zewnętrznego klienta. Robiliśmy uwalnia około co 6 tygodni do dwóch lub trzech lat. I tak, wydanie jest zaplanowane na minutę. Właśnie zrobiliśmy wczoraj o 8 rano. I mniej więcej co czwarte lub piąte wydanie (innymi słowy raz lub dwa razy w roku) coś się psuje, a my skaczemy do akcji i robimy to tak szybko, jak to możliwe. Mimo że testujemy, testujemy i testujemy przed wydaniem. Potem mówimy im, co się stało. „W czerwcowym wdrożeniu pojawił się mały błąd, który pozwolił, aby to pole było puste, ale nigdy tego nie zauważyliśmy, ponieważ nie korzystaliśmy z tej wartości w tym czasie. Następnie w tym wdrożeniu, kiedy zaczęliśmy korzystać z pola, te, które były puste, spowodowały ten komunikat o błędzie, który widziałeś. naprawiliśmy błąd, aby nie mogły być puste, umieściły wartości w złych rekordach i potwierdziły, że już nie wysadza. Przepraszamy. „Lub” Ta nagła zmiana, o którą prosiłeś, zaledwie dwa dni przed wydaniem, miała konsekwencje, o których nie pomyśleliśmy i których nie testowaliśmy. Pamiętasz, dlaczego opieramy się zmianom awaryjnym? ”Może nie jestem złym programistą, który pogorszył sprawę wraz z aktualizacją, ale na pewno zrobiłem coś złego. I muszę to naprawić. Być może nie jestem złym programistą, który pogorszył sprawę dzięki aktualizacji, ale na pewno zrobiłem coś złego. I muszę to naprawić. Być może nie jestem złym programistą, który pogorszył sprawę dzięki aktualizacji, ale na pewno zrobiłem coś złego. I muszę to naprawić.
źródło
Wystarczy na pokrycie inny aspekt:
Prowadzimy listę klientów, którzy twierdzą, że tak się nie stało. Podczas gdy oprogramowanie jest wadliwe, często bardzo błędne, wielu naszych klientów twierdzi, że „zaczęło się od aktualizacji”, aby uzyskać szybką uwagę, nie zdając sobie sprawy, że kończy się to marnowaniem czasu, ponieważ będziemy omijać delty dla wskazanej funkcji w poszukiwaniu problemu. Jeśli klient mówi prawdę, zwykle szybko ją odnajduje. Jeśli klient jest na fałszywej liście zbyt wiele razy, nie zawracamy sobie głowy, ponieważ nie lubimy tracić czasu.
Nie mogę sobie wyobrazić, jaki sposób myślenia jest potrzebny, aby powiedzieć nam, że kłamstwo przyspieszy ten proces. Ci ludzie są lub współpracują z lekarzami i powinni dobrze wiedzieć, co się dzieje, gdy ludzie okłamują lekarzy. Obowiązuje ta sama zasada.
źródło