Dlaczego dokumentacja jest tak ważna?
Nie ulega wątpliwości, że aby wybudować dom potrzebujemy projektu architektonicznego. Na początku należy wszystko dokładnie zaprojektować i omówić, po czym rozpocząć budowę. Tak samo powinno wyglądać zarządzanie tworzeniem oprogramowania. Niestety dokładny projekt jest często pomijany, na korzyść szybkiego dostarczenia prototypu. Badania (Davis 1993, Lefingwell 1997) pokazują, że 40-60% nieporozumień podczas tworzenia oprogramowania powstaje na etapie zbierania wymagań od Klienta, a zostają wykryte dopiero podczas wdrożenia. W rezultacie stoworzone oprogramowanie jest rozbieżne z wcześniej przedstawionymi wymaganiami Klienta. Inne badania (McConnel 2003) pokazują zależność między momentem wykrycia nieporozumienia, a kosztem jego usunięcia:
| Moment wykrycia | |||||
|---|---|---|---|---|---|
| Moment popełnienia | Wymagania | Architektura | Implementacja | Testy | Wdrożenie |
| Wymagania | 1 | 3 | 5-10 | 10 | 10-100 |
| Architektura | - | 1 | 10 | 15 | 25-100 |
| Wdrożenie | - | - | 1 | 10 | 10-25 |
Jak widać, za wszelką cenę należy dążyć do usunięcia wszystkich nieporozumień na możliwie najwcześniejszym etapie. Odpowiedzialny Project Management może wpłynąć na opóźnienie tego procesu, co może w rezultacie podnieść koszt eliminowania błędów nawet 100-krotnie! Oczywiście, zawsze powoduje to także przekroczenie terminu wykonania.
