Dokumentacje

Czym jest dokumentacja?
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.
Koszty
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.