Projekt zamrożony - co mam zostawić ludziom po mnie?

14

Tak więc projekt, nad którym pracowałem, zostanie teraz zamrożony na czas nieokreślony. Możliwe, że jeśli i kiedy projekt ponownie się zawiesi, nie zostanie on przypisany do mnie ani nikogo z obecnego zespołu. Właściwie odziedziczyliśmy projekt po jego wcześniejszym zamrożeniu, ale poprzedni zespół nie pozostawił nic, co pomogłoby nam zrozumieć nawet podstawowe potrzeby projektu, więc zmarnowaliśmy dużo czasu na jego dobre poznanie. Moje pytanie brzmi: co Twoim zdaniem powinniśmy zrobić, aby pomóc ludziom po nas jak najlepiej zrozumieć potrzeby projektu, co zrobiliśmy, dlaczego to zrobiliśmy itp. Jestem otwarty na inne pomysły, dlaczego warto odejść niektóre utwory do innych, które również będą działać w tym projekcie.

Niektóre kroki, które już podjęliśmy:

  • dokumentacja techniczna (niepełna, ale przynajmniej taka jest);
  • historia systemu kontroli źródła;
  • szacunki dotyczące tego, które części projektu wymagają ulepszenia i dlaczego tak uważamy;
  • kilka testów jednostkowych.
  • narzędzie do śledzenia problemów ze wszystkimi biletami, które zrobiliśmy ( EDYCJA )

Co sądzisz o tym, co już przygotowaliśmy i co jeszcze możemy zrobić?

nyxz
źródło
2
rozważ łatwą do pobrania listę zgłoszeń w narzędziu do śledzenia problemów związanych z projektem
gnat
1
Jak najwięcej odpowiedzi „Dlaczego?” W README.TXT ze źródłami projektu, jak to możliwe.
@gnat dzięki za pomysł. Przypomniało mi to, że zapomniałem o tym wspomnieć. Używamy trackera problemów ze wszystkimi biletami. Dodam to do listy.
nyxz
1
Przelewam jedną łzę solidarności za opuszczoną bazę kodów. zdnet.com/blog/projectfailures/…
Ben DeMott

Odpowiedzi:

9

Kilka innych rzeczy do rozważenia

  • Czy struktura katalogu projektu jest zdrowa? Czy zmodyfikowałeś komentarze do kodu? Czy dziennik zatwierdzania jest w jakiś sposób prezentowalny?
  • Omówienie celów programu Gerneral (w przeciwieństwie do technicznego, który rozpocząłeś), Zalecana lektura projektu, historia projektu (jego cykl rozwoju, poprzedni kierownicy projektu, lista pracowników, wymagania / specyfikacja funkcji)
  • Diagramy UML, diagramy klas, diagramy przepływu pracy!
  • Powody, dla których projekt został zamrożony, są zawsze miłe.
  • Środowisko programistyczne, używane IDE, narzędzia do budowania - są one omówione w dokumentach technicznych, prawda?

Właśnie pomyślałem o niektórych rzeczach, które chciałbym zobaczyć w projekcie, który niedawno odziedziczyłem. To, co już dostarczyłeś, to o wiele więcej niż to, co dostałem. Otrzymasz główne punkty karmy za pomoc następnej drużynie :)

lwm
źródło
8

Rzeczy, które chciałbym mieć przy podejmowaniu projektu, który ktoś inny odłożył, to:

Instrukcje budowania, w tym ostatnie znane działające wersje wszystkich narzędzi w łańcuchu narzędzi. Kompilatory, IDE itp. Zmieniają się z czasem i jest o wiele łatwiej pracować, jeśli poprzedni deweloperzy zostawili mi instrukcje, jak się uruchomić.

Uruchom instrukcje środowiska - co musi być na miejscu, aby uruchomić tę rzecz? Wspomnienie o tym, które wersje są ponownie pomocne. Niedawno wybrałem coś, co wymagało umieszczenia określonego zestawu plików w określonym miejscu i musiałem wypytywać innych deweloperów, aby to rozgryźć. Nie była to wielka sprawa, ponieważ drugi deweloper był dostępny, ale gdyby nie był, byłoby to problematyczne.

Pewna pewność, że kod przypisany do repozytorium faktycznie pobiera i buduje. Kiedyś podjąłem projekt, w którym poprzedni deweloperzy (na szczęście wciąż w pobliżu) zrobili z Makefiles pewne naprawdę dziwne rzeczy, tak że nie można było zbudować projektu z czystej kasy. Nie trzeba dodawać, że najpierw musiałem TO skorygować, zanim faktycznie mogłem wykonać jakąkolwiek pracę. Gdyby poprzedni deweloperzy nie byli dostępni, pokonanie tej przeszkody zajęłoby znacznie więcej czasu.

Ogólne określenie intencji projektu. Do czego służy to oprogramowanie? Tak krótki, jak rozsądny, ale jakiś przegląd może być naprawdę pomocny.

Michael Kohne
źródło
+1 za kompletny zestaw narzędzi. Cała dokumentacja na świecie nie pomoże, jeśli nie możesz zbudować i przetestować oprogramowania. Jeśli to możliwe, lubię dołączać obrazy instalacyjne dla wszystkich narzędzi (choć w dzisiejszych czasach prawdopodobnie wybrałbym jakiś obraz maszyny wirtualnej). Nic gorszego niż znalezienie procesu kompilacji zależy od wtyczki innej firmy od firmy, która już nie istnieje!
TMN
@TMN - i dlatego staram się unikać takich rzeczy jak komercyjne wtyczki IDE i tak dalej. Nie ufam, że będę w stanie odtworzyć moje środowisko później. I pracując nad oprogramowaniem ponad 20 lat, NIGDY nie zakładam, że coś kiedykolwiek zniknie.
Michael Kohne,
4

ScreenCast

Kiedy porzuciłem swoją ostatnią pracę, faktycznie zrobiłem niezaedytowane screencasty, które z tego, co słyszałem, były bardzo pomocne we wprowadzaniu nowych ludzi. Zabrałem swój zespół do pokoju, ustawiłem mikrofon pojemnościowy i wyjaśniłem im wszystko, co wiedziałem o projekcie podczas nagrywania dźwięku i ekranu. Następnie pozwalam im zadawać pytania na ten temat. Byliśmy w stanie uzyskać znacznie więcej informacji, niż mogliśmy, gdybym usiadł i starał się pisać tak szybko, jak to możliwe przez cały dzień.

Ryan Hayes
źródło
+1 To jest takie proste, ale ma tak wiele sensu.
lwm
2

Jeśli masz uprawnienia do tych informacji, dodaj Wymagania biznesowe.

  1. Czego chciał klient?
  2. W jaki sposób zmiany to ułatwiły?
  3. Jakie były lub są niektóre wyzwania związane z zaspokajaniem potrzeb klientów?
  4. Jakie potrzeby nie zostały spełnione i dlaczego?
Menefee
źródło
1

Obraz maszyny wirtualnej (tj. Vm-ware) autonomicznego systemu deweloperskiego może być bardzo cenny.

W zeszłym roku zostałem poproszony o naprawienie kodu VB3. Trudno było stworzyć działający system z vb3, Windows95 i wieloma zainstalowanymi kontrolerami ole. Po tygodniu zrezygnowałem :-(

[Aktualizacja] Czy ktoś eksperymentował z konwersją starych obrazów maszyn wirtualnych, aby można je było odtwarzać w nowszym odtwarzaczu maszyn wirtualnych?

Musisz także wziąć pod uwagę, że uruchomienie starego obrazu na nowoczesnym sprzęcie / systemie gościa może już nie być możliwe.

k3b
źródło
Rozważ otwarcie nowego pytania o aktualizację maszyn wirtualnych.
@ Thorbjørn Ravn Andersen. Masz rację. Przeformułowałem ostatnią część mojej odpowiedzi.
k3b