Dokumentacja jest niczym innym jak instrukcją użytkowania systemu, czy też rozumienia jego kodu.
W praktyce programistycznej najczęśniej mamy na myśli dwa rodzaje dokumentacji. Pierwsza jest instrukcją
użytkowania usług sieciowych, powszechnie znanych pod nazwą API. W tym przypadku, dokumentacja jest integralną
częścią systemu, bez której programiści zajmujący się jego integracją nie będą....
Drugim rodzajem dokumentacji jest opis architektury systemu informatycznego. Jest to dokumentacja najbardziej
porządana przez programistów, którzy dołączyli do zespołu w trakcie prac nad projektem, lub którzy przejeli
projekt w całości. W większości jednak przypadków, z przyczyn budżetowych dokumentacja taka jest niedostępna.
Kiedy potrzebuję dokumentacji?
Odpowiedź zawiera się częściowo już powyżej. Jeśli udostępniamy API do naszego systemu, udostępniamy również
dokumentację. Sytuacja jednak nie jest już tak oczywista w przypadku gdy rozważamy dokumentowanie prac programistycznych
związanych z tworzeniem kodu aplikacji. Należy liczyć się z tym że utworzenie wartościowej dokumentacji
generuje odczuwalne koszty, z drugiej jednak strony jest swego rodzaju ubezpieczeniem kodu. Kiedy skorzystamy z
faktu posiadania udokumentowanego kodu? Zawsze w sytuacji gdy utrzymanie aplikacji przekazujemy do nowego zespołu. Dobrą praktyką, jakiej
mamy w zwyczaju przestrzegać w Larago, jest tworzenie prostych wewnętrznych dokumentacji na użytek naszych programistów. Ułatwia
to w znacznym stopniu między innymi rozbudowę systemu, gdy trzeba wrócić do niego po dłuższym czasie. Kiedy pełna dokumentacja
może się przydać klientowi? Na przyklad wtedy gdy jego biznes rozwinął się na tyle że postanowił założyć własny dział IT do
ubsługi systemu. W takiej sytuacji profesjonalna dokumentacja ułatwi nowym programistom wdrożenie się w system a także zmniejszy ryzyko
nieprawidłowego rozwijania kodu, wydłużając tym samym czas życia aplikacji. Zarówo jedno jak i drugie przekłada się na
oszczędności, które mogą przewyższyć początkowe koszty. Decyzję oddajemy w ręce klienta.
Te będą zależeć przede wszystkim od wielkości projektu. Z praktyki możemy powiedzieć że stanowią one 5 - 10% kosztów
budowy całego systemu.