Temat: Umowa z wykonawcą
Witam
Pytanie jest jak dokładne chcesz mieć oszacowanie i do czego ma ono służyć. Jeśli ma być "z grubsza" na potrzeby zgrubnego ustalenia wymaganego budżetu, to tak jak piszesz wystarczy określić co to znaczy "kluczowe elementy systemu" i z grubsza co jeszcze chciałby mieć klient. Jeśli oszacowanie ma być dokładne, to bez dokładnych wymagań się nie obędzie.
Zespół z doświadczeniem (popartym danymi ze swoich wcześniejszych projektów) w szacowaniu nie pomyli się za dużo - zarówno co do tego "na kiedy" jak i co do tego "za ile" (w końcu jedno jest funkcją drugiego). Choć oczywiście diabeł tkwi w szczegółach.
Szacowanie w zwinnych projektach różni się tym od zwykłego szacowania, że bazuje na danych statystycznych dotyczących wcześniejszych projektów i szacowaniu zbiorowym a nie wishful thinking jakiegoś eksperta. My np. trzymamy sobie oszacowania i statystyki z wykonanych prac, mamy więc do czego się odnieść przy szacowaniu. Dzięki temu mamy dość mały błąd.
Co do tego jak wygląda realizacja projektu, to zależy od tego czego wy (jako klient) oczekujecie. Jeśli krytyczne jest utrzymanie założonego budżetu co do złotówki, pewnie dostawca będzie mniej chętny do umożliwiania wam zmian. Można liczyć pewnie tylko na wymianę zadań podobnych rozmiarów (czyli każda zmiana zakresu będzie musiała być dokładnie oszacowana). Jeśli zakładacie jakiś budżet na zmiany, to pewnie będzie łatwiej z dodawaniem funkcjonalności.
Od tego czego wy oczekujecie i jak chcecie pracować, zależy rodzaj umowy. Jeśli chcecie fixed price i fixed time, to i zakres musi być fixed (przynajmniej co do ilości pracy). Jeśli natomiast bardziej wam zależy na dopasowaniu produktu idealnie do Waszych potrzeb, dużo lepsze są umowy bazujące na czasie albo ukończonych zadaniach (umowy per story point, itp).
Generalnie umowa to taka gra między dostawcą i odbiorcą. Jeśli nie mają do siebie zaufania, to pozostaje wam "wszystko fixed". Jeśli jest zaufanie, albo przynajmniej sposób weryfikacji i akceptacji pracy, to elastyczniejsze umowy są dużo lepsze. My np. mamy w tej chwili tak, że jeśli klient nie zaakceptuje wyniku/zakresu iteracji, a my nie będziemy się w stanie z tego wytłumaczyć, to po prostu nie dostajemy pieniędzy (na szczęście to tylko teoria, jeszcze się tak nie zdarzyło :)). Klient na bieżąco śledzi postępy i widzi ile pracy jest wykonane w każdej iteracji, może też więc nie tylko wpływać na to co i kiedy jest realizowane, ale może też kontrolować koszty. Taka umowa wymaga oczywiście ścisłej współpracy dostawcy z odbiorcą, ale tego przecież chcemy :)
Strasznie się rozpisałem. Jak byś miał jakieś wątpliwości - służę wiedzą, pomocą i... zespołem.