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ć.