Pięć problemów występujących w SDLC
May 5th, 2009- niewystarczająco zdefiniowane wymagania - jeśli wymagania są niejasne, niekompletne, zbyt ogólne lub nietestowalne, na pewno pojawią się problemy
- nierealistyczny time plan projektu - zbyt wiele pracy zaplanowanej w zbyt krótkich przedziałach czasu
- niewystarczająca ilość testów - nikt nie wie jakiej jakości jest system, dopóki klient nie zacznie zgłaszać problemów.
- zmiany po zatwierdzeniu specyfikacji - mała z punktu widzenia klienta zmiana, może oznaczać zmianę koncepcji działania całego systemu. To oznacza dodatkową pracę, koszty oraz konieczność przeplanowania zadań.
- brak komunikacji - jeśli programiści nie wiedzą czego oczekuje klient (np. z powodu braku wymagań), lub klient zmienia wymagania w trakcie trwania projektu, czas zaplanowany na kodowanie, testowanie jest przeznaczany na wyjaśnianie.
Rozwiązania:
- zdefiniowane wymagania - jasne, kompletne, szczegółowe, spójne logicznie oraz testowalne wymagania, które zostaly zaakceptowane przez wszystkie strony. W projektach prowadzonych wg metodyk lekkich, niezbędna jest ciągła koordynacja wymagań z udziałem klienta.
- realistyczne estymacje czasu - zapewnienie odpowiedniej ilości czasu na planowanie testów, tworzenie przypadków testowych, testowanie, poprawę i retesty błędów, zmiany (change requests), raporty i dokumentację -zarówno tworzenie jak i czytanie. Zespół powinien mieć szansę na ukończenie projektu bez efektu wypalenia się.
- testowanie w odpowiednim momencie - rozpoczęcie testów na wczesnym etapie SDLC, retesty po poprawie błędów, testy regresywne po zmianach w bieżącej wersji systemu.
- trzymanie się zdefiniowanych wymagań - kiedy ruszy kodowanie, pojawią się zmiany, które zazwyczaj oznaczają dodatkową pracę w ustalonym na początku zakresie godzin. Dobrą praktyką jest komunikowanie konsekwencji takich zmian i jeśli są one niezbędne -reestymacja czasu na testy.
- komunikacja - tam gdzie ma to sens, pomagają przeglądy i inspekcje. Narzędzia do pracy grupowej: email, repozytorium błędów i dokumentacji. Wersjonowanie. Aktualne wersje dokumentów projektowych. Oraz najważniejsze - bezpośredni kontakt członków zespołu.
Tags: klient, Komunikacja w zespole, Testowanie, wymagania

