Warto pisać specyfikację
Dzisiaj krótkie przemyślenia nt. pisania specyfikacji dla własnych projektów.
O ile w przypadku dużych projektów w pracy pisanie dokumentacji i specyfikacji powinno być czymś oczywistym bez czego ciężko zacząć projekt, a potem nim zarządzać o tyle przy naszych małych domowych projektach jakoś nie zawsze pamiętamy lub mamy ochotę pisać jakiekolwiek dokumenty. A to spory błąd. Ponieważ właśnie wziąłem się za stworzenie pewnego niewielkiego projektu po godzinach zaraz postaram się przedstawić dwie zalety pisania specyfikacji w domowych warunkach. Jednak zanim to zrobię wyjaśnię tylko, że w tym momencie pod słowem specyfikacja nie mam na myśli dużych ustandaryzowanych dokumentów podzielonych na rozdziały, ze spisem treści, historią zmian itd. chociaż oczywiście takie coś byłoby ideałem. Mam w tym momencie na myśli luźny dokument opisujący czego oczekujemy od naszego projektu, jak wyobrażamy sobie działanie głównych elementów itp. wszystko naszymi słowami.
Zalety takiego podejścia tj. rozpoczęcia pracy od spisania co i jak ma działać właśnie zaczynam doceniać. Wstyd się przyznawać, ale obecny projekt będzie pierwszym domowym projektem, do którego faktycznie spisałem większość wymagań i opisałem czego od niego oczekuję.
No więc co takiego daje mam stworzenie takiego dokumentu?
Przede wszystkim pozwala szybko znaleźć i wyeliminować błędy logiczne, niejasności, sprzeczne założenia i inne tego typu rzeczy, które w trakcie wymyślania wydawały się ok, a kiedy zaczęło się każdy z nich dokładnie analizować i opisywać, a następnie szukać punktów wspólnych i przejść z innymi elementami to okazuje się, że nie mają sensu. Przykładowo mamy pomysł na kilka funkcjonalności, które po głębszej analizie okazują się robić prawie to samo tylko na inny sposób, albo dodanie jednej spowoduje, że druga będzie zbędna, nieatrakcyjna, nieprzydatna i w konsekwencji mało użytkowników będzie z niej korzystać, a więc czas poświęcony na jej dodanie będzie właściwie czasem straconym.
Druga zaleta to dużo łatwiejsze określenie wielkości projektu. Widząc ile elementów jest do zrobienia możemy mniej więcej określić czy zadanie jakie przed sobą stawiamy nie jest za duże, a w razie konieczności mamy możliwość decydowania, które fragmenty powinny być robione w pierwszej kolejności. Z tym łączy się również dużo łatwiejsze zarządzanie czasem. Dla każdej funkcjonalności możemy w przybliżeniu określić ile czasu zajmie nam jej wykonanie, a jeśli okaże się za duża możemy ją podzielić na mniejsze fragmenty opierając się o opis tego co chcemy żeby robiła. Mając rozpisane zadania łatwiej jest nam śledzić postęp prac, a samo wykreślanie kolejnych pozycji jako ukończonych motywuje do dalszej pracy.
I to tyle jeśli chodzi o moje krótkie przemyślenia nt. pisania nawet najprostszej specyfikacji dla domowego projektu. Mam nadzieję, że dla większości z was spisywanie wymagań i wynikające z tego zalety są czymś oczywistym i stosujecie to w większości przypadków :)
Dziękuję za ten post, ta, w następnym `projekcie` będę starał się o napisanie małej specyfikacji. Życzę miłego kodowania, Sebastian.