Kto będzie czytał dokumentację? Do czego będzie używana dokumentacja? To są najważniejsze pytania, na które należy odpowiedzieć. Na przykład dokumentacja dla programistów konserwacji skupiałaby się bardziej na strukturze, podczas gdy dokumentacja dla programistów integrujących się z produktem koncentrowałaby się bardziej na usługach internetowych i strukturze bazy danych.
Zasadniczo rób tyle dokumentacji, ile jest wymagane i nie więcej. Wiele organizacji wymaga dokumentacji, ponieważ ktoś nalegał, że jest to najlepsza praktyka, ale dokumentacja ostatecznie gromadzi kurz.
Zakładając, że ludzie faktycznie skorzystają z dokumentacji, nie próbuj przechwytywać kodu i bazy danych na najmniejszy poziom. Programiści sprawdzą kod pod kątem drobiazgów. Zamiast tego skup się na szczegółach, które nie są widoczne w kodzie , na przykład:
- Te przypadki użycia produkt spełnia. Może to być trudne, biorąc pod uwagę wiek produktu, ale uchwycenie tego, co produkt ma zrobić, daje czytelnikom i testerom nietechniczny kontekst. Kim są konkurenci na rynku (jeśli istnieją)? Czy coś jest wyłączone z zakresu produktu?
- Wszelkie wyraźne wymagania niefunkcjonalne . Na przykład, czy produkt został napisany do obsługi określonego wolumenu? Ile lat mogą mieć dane? Gdzie jest używane buforowanie? W jaki sposób użytkownicy są uwierzytelniani? Jak działa kontrola dostępu?
- Schemat kontekst pokazuje interakcję z innymi systemami, takimi jak bazy danych, źródła uwierzytelniania kopii zapasowej, monitorowania i tak dalej.
- (Jeśli są znane) Ryzyko i sposób ich ograniczenia wraz z rejestrem decyzji . Z perspektywy czasu jest to prawdopodobnie trudne, ale często decyzje krytyczne wpływają na projekt. Uchwyć wszystko, co znasz.
- Typowe wzorce projektowe lub wytyczne projektowe . Na przykład, czy istnieje standardowy sposób dostępu do bazy danych? Czy istnieje standard kodowania lub nazewnictwa?
- Krytyczne ścieżki kodu , zwykle przy użyciu schematów blokowych lub aktywności UML lub diagramów sekwencji. W projekcie może nie być żadnych, ale są to zwykle artykuly użytkowników biznesowych.
Nawet jeśli wszystkie te informacje nie są dostępne, zacznij już teraz . Programiści, którzy przyjdą po tobie, podziękują ci.
Dobre zautomatyzowane testy jednostkowe lub przypadki testowe mogą być również użyteczną dokumentacją, choć trudną do uzyskania dla osób mniej technicznych.
Brzmi również tak, jakbyś musiał dokonać zmiany kulturowej, aby uwzględnić dokumentację . Zacznij od małego, ale najlepiej, aby projekt nie był „gotowy”, dopóki nie będzie miał co najmniej minimalnego poziomu dokumentacji. Jest to prawdopodobnie najtrudniejszy krok, ponieważ powyższe to rzeczy, które możesz kontrolować. Jest to coś, w co inni muszą kupić. Jednak może być również najbardziej satysfakcjonujący, szczególnie jeśli następny projekt, który wykonujesz, zawiera dobrą dokumentację.