Temat: Jak sobie radzicie z puchnięciem projektu
Jak zwykle odpowiedź staje się łatwa, gdy do równania z zakresem doda się czas i pieniądze. Do tego kluczowe jest również, by klient jak najszybciej zaczął produkcyjnie wykorzystywać wytwarzany system (bo dopiero wtedy zaczyna w 100% rozumieć co i na kiedy jest dla niego ważne).
Zalecałbym podejście takie, w którym:
1) początkowo określamy minimalny zakres funkcjonalny niezbędny do wdrożenia
2) przed osiągnięciem zakresu z p. 1 grzecznie rejestrujemy nowe / zmienione wymagania, ale realizujemy je tylko wtedy, gdy:
- ich brak w początkowym zestawie był błędem i uniemożliwi wdrożenie
- mają niedodatni koszt (czyli są do zrobienia praktycznie za darmo, albo wręcz obniżają koszty / skracają czas)
3) od momentu wdrożenia klient wskazuje kolejność wdrażania wszelkich pozostałych i nowych wymagań, zaś wykonawca mówi na kiedy i za ile je dostarczy.
P. 3 jest iteracyjny i jest pierwszą skuteczną pętlą sprzężenia zwrotnego (uczenia), w której klient ujawnia swoje rzeczywiste i stopniowo coraz lepiej przemyślane priorytety, zaś wykonawca ujawnia koszt & czas wykonania jednostki funkcjonalności.
O ile klient ponosi jakieś koszty funkcjonowania projektu (choćby koszt zaangażowania własnego personelu) i współdecyduje o czasie, w którym będą mu dostarczone poszczególne funkcjonalności, to nie ma zagrożenia, że projekt nigdy nie skończy.