Witam, przedstawię w czym rzecz :)
Robimy z kumplami już około 2 miesiące pewien projekt dla klienta (powiedzmy bardziej rozwinięty sklep, choć raczej nie zaliczylbym tego do sklepów). Wiem ,że dość późno ,ale chcielibyśmy w końcu podpisać umowę o dzieło. Klient wydaje się spoko , poważny i uczciwy. Problem w tym ,że współpraca z nimi ogranicza się do spotkań co kilka tygodni , pokazaniu co zrobiliśmy i wysluchania co jest źle i co powinno być. Nie ma żadnej specyfikacji i wszystko wymyslamy sami ,żeby mniej więcej zgadzało się z wizją klienta. Klient jest zbyt zabiegany ,by nam dokładnie pisać co jak ma wyglądać i działać.
Jeden z kumpli wyjeżdża w niedziele na wakacje, więc chcielibyśmy w sobotę podpisać umowę o dzieło. Niestety specyfikacji od klienta na 90% nie dostaniemy ,więc ustaliliśmy ,że sami napiszemy jakąś w miarę prostą i zadeklarujemy się, że to zrobimy, napiszemy umowę i damy klientowi do podpisania. Nasuwa się pytanie czy to rozwiązanie jest dobre, możemy wymusić stworzenie specyfikacji na klienci ,ale wtedy umowę możemy podpisać za jakies nawet 2 tygodnie ,a i tak juz dlugo zwlekamy. Nikt z nas wcześniej nie podpisywał umowy o dzieło, trochę już programujemy, ale jeśli chodzi o większe (samodzielne) projekty, to raczej jestesmy amatorami .
Najczestszym chyba problemem przy podpisywaniu umowy o dzieło (oprocz ustalenia kwoty) jest ustalenie dokladnego terminu oddania projektu. Mamy z tym spory problem ponieważ ,zrobilismy już trochę ,ale z powodu braku dokladnej specyfikacji nie wiemy tak naprawdę na jakim jesteśmy etapie i kiedy skończymy projekt. Druga sprawa ,że jest to dość oryginalny (co nie znaczy ze trafny :) ) pomysł i raczej nie ma podobnych aplikacji w internecie, wiec bez sensu byłoby szukać/pytać ile zrobienie tego może zająć.
O co chciałbym spytać ,to co wlasciwie w umowie o dzieło oznacza "skończony projekt". Czy jest to projekt ,który spełnia większość/wszystkie punkty w specyfikacji i który można poddać np. kilkutygodniowym testom/poprawkom ? Czy może jest to produkt ,który ma działać w 100% i jeśli klient natrafi na błędy, to uzna ,że projekt jest nieskończony i może nam zacząc naliczać karę. Pewnie odpowiedź brzmi "Zależy od umowy" ,ale jak jednoczesnie zapewić klientowi ,że do danego dnia będzie stworzony działający projekt i jednoczesnie nie wpakować się w sytuacje ,że klient będzie nas męczył tygodniami po deadlinie, a my będziemy musieli wszystko poprawiać za darmo ,albo nawet płacić jeszczę kare.
Czy dobrym pomysłem jest napisanie tak jakby dwóch umów, pierwszej na stworzenie projektu w wersji beta, która będzie spełniała wymagania ,ale jeszcze będzie potrzebowała zmian i poprawek, które już zostaną wykonane (niekoniecznie przez nas) po podpisaniu drugiej umowy ('do testów'). Czy klienci zgadzają się na takie rozwiązania czy raczej prawie zawsze chcą mieć gotowy , działający poprawnie produkt do danego dnia.
Na pewno wielu z was było w sytuacji ,kiedy nie mieliście pojęcia ile wam zajmie zrobienie projektu i późniejsze jego dopracowanie i chcieliście napisać bezpieczną dla was umowę ,ale jednoczesnie taką na którą klient się zgodzi. Byłbym wdzięczny za chociaż kilka rad o doświadczonych programistów :)
Klient jest raczej wyrozumiały i pewnie nie obarczyłby nas wielkimi karami, ale pewnie chciałby jednak mieć zagwarantowane zrobienie projektu gotowego do wypuszczenia na rynek ,niż projektu zrobionego w 90% .
Mam nadzieję ,że nie namąciłem za bardzo i większość zrozumie na czym polega nasz problem :)