Zdarza się, że ktoś nagle opuszcza firmę. Teraz jego praca musi zostać ukończona, a ty jesteś jej przydzielony. Nie mając pojęcia, o co mu chodzi (czy było to zrobione w 90%, czy w 9%), jak sobie radzisz z resztkami?
- Czy mam zacząć od zera? Co jeśli zrobiono to w 90%?
- Czy mam spróbować zrozumieć, co on zrobił? Co jeśli to tylko nonsens?
project-management
efficiency
Shirish11
źródło
źródło
Odpowiedzi:
Aby dowiedzieć się, co robić, musisz wiedzieć, co masz i jak jest w dobrym stanie.
Zacznij więc od szybkiego przejrzenia wszystkich źródeł i zobacz, co masz. Jeśli jest to wyraźnie jasne, najłatwiej jest po prostu dokończyć to, czego brakuje. Wykonaj testy jednostkowe, aby dowiedzieć się, co działa, a co nie.
Jeśli nie jest to wyraźnie jasne, zacznij zastanawiać się, co działa z nowymi testami jednostkowymi. Jeśli jest to niemożliwe, poinformuj swojego lidera zespołu, że masz problem i że możesz nie być w stanie go rozwiązać. Następnie może zdecydować, czy pozostawione dzieło i tak powinno zostać uratowane, czy też jest po prostu źle i trzeba je ponownie wykonać.
źródło
Oprócz tego, co napisali inni, proponuję porozmawiać z każdym, kto miał bezpośredni kontakt z facetem. Rozumiem z twojego opisu, że pracował sam, czy nadal musiał komuś raportować? I może być personel QA, który przetestował to, co wyprodukował ... Osoby te powinny (normalnie) mieć przynajmniej ogólne pojęcie o tym, jak daleko facet posunął się ze swoim projektem przed wyjazdem. Chyba że dostarczone przez niego informacje / produkty okazały się całkowicie niewiarygodne, przyczyniając się do jego zwolnienia.
Przedyskutuj to ze swoim menedżerem i przydziel przedział czasowy dla początkowej eksploracji / testowania resztek kodu oraz zrozumienia specyfikacji i wymagań. Może to być z grubsza dzień dla projektu w skali kilku osobo-miesięcznych miesięcy, a najwyżej tydzień dla projektu obejmującego pracę przez jeden lub więcej osób rocznie itp.
Po tej wstępnej eksploracji powinieneś z grubsza oszacować
Następnie możesz ponownie usiąść ze swoim przełożonym, aby podjąć decyzję.
źródło
Z mojego doświadczenia wynika, że nie jest to rzadka sytuacja. Niestety, naprawdę masz tutaj dwa problemy :
1) Resztki tego projektu 2) Powody, dla których wpadłeś w ten bałagan w pierwszej kolejności
W przypadku (1) należy wziąć pod uwagę rozmiar / złożoność projektu. Jeśli jest to tydzień pracy, prawdopodobnie musisz zacząć wszystko od nowa. Jeśli jest to praca warta roku, być może będziesz musiał zobaczyć, co możesz uratować z istniejącego kodu.
Tak czy inaczej, musisz natychmiast podjąć następujące kroki:
a) Poinformuj swoich menedżerów, że masz duży problem
b) Uzyskaj specyfikację projektu i dokładnie zrozum, co musisz osiągnąć - lub porozmawiaj ze sponsorami projektu, jeśli nie ma specyfikacji.
c) Porozmawiaj z menedżerów / klientów itd i dowiedzieć się, czy ktoś ma / mają myśli dowolny pojęcia, co stan realizacji projektu.
Gdy to zrobisz, będziesz w stanie rozpocząć badanie kodu / wypracowanie strategii.
(Nie sądzę, aby testy jednostkowe bardzo ci pomogły - mogą ci powiedzieć, czy napisane funkcje rzeczywiście działają, ale nie mówią ci, jakie funkcje powinny tam być.)
To, czego nie chciałbym dalej, to przegląd architektury istniejącego kodu i tego, jak to odwzorowuje na problem zdefiniowany w specyfikacji. Następnie sprawdź, jakie są podskładniki każdego z tych głównych komponentów i zobacz, jak pasują do dużego obrazu. Dzięki temu dowiesz się (z grubsza), jakich elementów brakuje.
Kiedy już wiesz, co istnieje, musisz zacząć sprawdzać istniejący kod, aby zobaczyć, czy robi to, co powinien.
Po wykonaniu tego wszystkiego będziesz w stanie oszacować, ile pracy pozostało do zrobienia.
Jeśli chodzi o część (2), Twoja firma może potrzebować przyjrzeć się polityce zatrudnienia / polityce zatrzymania pracowników, znaleźć sposoby na rozliczenie programistów z odpowiedzialności za postęp.
Wreszcie, należy również rozważyć, jak można temu zapobiec do firmy powinien pan zostawić w pośpiechu.
źródło
Zdecydowanie musisz spróbować uruchomić oprogramowanie, aby zobaczyć, co działa, a co nie.
Następnie musisz rozważyć, jaka dokumentacja pozostała. Czy są jakieś pisemne wymagania? Czy istnieją konkretne zadania - czy zadania są w jakiś sposób śledzone? Czy ktoś to testował - jeśli tak, będzie wiedział, co zostało zrobione, a co nie.
Myślę, że plan działania byłby następujący:
Zaznacz, które wymagania zostały spełnione (przez szybki przegląd systemu, tak jak zrobiłby to tester)
Spójrz na kod - czy potrafisz go zrozumieć? Czy to dobrze napisane?
Oczywiście, jeśli zrobiono to w 90%, a kod jest dobrze napisany, po prostu go ukończyłeś.
źródło
Nie wspomniano jeszcze.
Spróbuj skontaktować się z facetem, który odszedł. To nie jest możliwe w każdym przypadku. Ale jeśli jest zdrowy i przynajmniej trochę polubił swoją pracę, pomoże i da ci uczciwą odpowiedź na temat postępów i brakujących części. I mógłby ci wyjaśnić duży obraz.
źródło
Gratulacje, to Twoja szansa, aby zabłysnąć i wywrzeć naprawdę pozytywne wrażenie na swoich szefach. To, co tu masz, to bezcenna okazja. Więc co musisz zrobić i jak?
Najpierw zdobądź kod. Być może nie sprawdził wszystkiego (facet, który nam to zrobił, nie zrobił), więc ktoś z prawami administratora ściągnie go ze swojego komputera i sprawdzi.
Następna triage problemu. Weź pod uwagę wymagania i zanotuj, które części mają napisany kod, a które nie. To jest przybliżona lista tego, co nie zostało ukończone. Będzie rosnąć, gdy będziesz robić następny krok. Następnie przejrzyj kod i oceń go, uruchom i zobacz, co aktualnie działa, a co wydaje się nie działać, mimo że kod jest napisany. Dodaj niedziałające części do listy. Poszukaj testów jednostkowych (zdziwiłbym się, gdybyś je znalazł, ludzie, którzy ratują się przed terminem, ponieważ wiedzą, że nie zdają egzaminu). Teraz przynajmniej dobrze wiesz, jak źle jest. Przejrzyj również wymagania i zobacz, na jakie pytania potrzebujesz odpowiedzi. Często zdarza się, że niepowodzenia projektu są wynikiem złych wymagań i programisty, który nie chce (z wielu powodów) zadawać dalszych pytań.
Teraz tworzysz swój plan projektu. Zacznij od listy pytań, które masz na podstawie wymagań (napisz je formalnie w dokumencie), a następnie wypisz listę rzeczy, które musisz zrobić, aby ukończyć pracę. Oszacuj, ile czasu to zajmie. Ustal, czy to, co obecnie istnieje, jest możliwe do odzyskania (a jeśli nie, przygotuj się, aby uzasadnić, dlaczego nie).
Teraz spotkaj się z kierownikiem projektu (i szefem, jeśli są to dwie różne osoby) i przekaż mu złe wieści. (Prawie zawsze są to złe wieści, gdy ktoś nagle odchodzi, a ty musisz odebrać od miejsca, w którym zostało przerwane, dobrzy programiści nie pozostawiają ludzi na lodzie - przynajmniej wychodzą z listą tego, co zrobili i co pozostało do zrobienia Wyjątkiem może być sytuacja, gdy ktoś opuścił Cię z powodu problemów zdrowotnych.) W dyskusji możesz uzyskać odpowiedzi, których potrzebujesz, a ty i szef rządu możecie nieco przerobić plan projektu.
Kontynuuj spotkanie, wysyłając do premiera i innych kluczowych interesariuszy (premier określi, kto), kopię twoich pytań, na które należy odpowiedzieć, oraz opracowany plan projektu.
Teraz masz wszystko, czego potrzebujesz, aby rozpocząć właściwe kodowanie, więc zabierz się do pracy.
W międzyczasie prawdopodobnie zostałeś wyciągnięty z czegoś innego, aby uratować ten projekt. Upewnij się, że twoja praca jest w formie, aby ktoś inny mógł ją odebrać lub odebrać po zakończeniu projektu. Oznacza to te same typy rzeczy, dokument, w którym mówisz, co jest zrobione, a nie jest, i rejestrację całego kodu źródłowego (niekoniecznie do pnia, jeśli nie jest zrobione, ale gdzieś, gdzie ktoś inny może uzyskać do niego dostęp .
Jeśli nie zostałeś odciągnięty z dotychczasowej pracy, musisz ustalić z szefem, ile czasu w dniu roboczym poświęcisz na każdą z nich. To jeden z tych momentów, w których nadgodziny mogą być potrzebne i zostaną docenione. Im bardziej zbliża się do faktycznego terminu, tym bardziej desperackie zarządzanie może być w stanie wypracować wynagrodzenie za nadgodziny lub dużą premię, jeśli termin jest bliski. Jeśli ta praca znacznie opóźni drugą pracę, musisz upewnić się, że interesariusze tego projektu są tego świadomi.
Gdy uda Ci się uratować projekt, pochwal się tym podczas następnej oceny wydajności.
źródło