Dawid W.

Dawid W. IT
manager/programmer

Temat: podpisanie umowy ze zleceniodawcą

Witam,
Temat może mało techniczny, ale jednak występuje w życiu niektórych z nas.
Udało mi się uzyskać zlecenie, na ciekawy projekt. Zleceniodawca przystał na moje warunki, będziemy podpisywać umowę niebawem. No właśnie... ja nie podpisywałem jeszcze nigdy takiej umowy i mam pytanie do bardziej doświadczonych... co w takiej umowie powinno się znaleźć, a czego się wystrzegać. Chodzi mi tu o jakieś kwestie odpowiedzialności, utrzymania, przedłużających się testów, warunków wypłaty wynagrodzenia etc
Z góry dzięki za pomoc
Rafał Krzaczyński

Rafał Krzaczyński Firmes, właściciel

Temat: podpisanie umowy ze zleceniodawcą

Dla Ciebie na pewno będą ważne wszelkie wyłączenia odpowiedzialności, zwłaszcza za utracone korzyści itp w przypadku nieprawidłowego działania aplikacji/systemu lub utraty danych.
Zabezpiecz się też na błędy wynikłe ze zmiany infrastruktury w trakcie użytkowania aplikacji oraz na wpływ zewnętrznych czynników (inne aplikacje itp).
Uważaj na kwestie gwarancji, bo można się wpuścić w maliny. Najlepiej zrobić protokół odbioru i jasno określić zasady modyfikacji / poprawy błędów.

Dobrym wzorem mogą być warunki licencji niektórych programów. Można podejrzeć zwłaszcza kwestie odpowiedzialności licencjodawcy.

Żeby się zabezpieczyć przed przedłużającymi testami ze strony klienta, warto wypłatę wynagrodzenia podzielić na części i ustalić etapy realizacji po których następuje wypłata. Np. 30% zaliczki, 40% po oddaniu aplikacji do testów, 30% po zakończeniu. Często bowiem klienci lubią zwlekać z zapłatą robiąc sobie z tego niejako "zabezpieczenie" na wypadek znalezienia błędu lub problemów. Wiadomo, póki nie zapłacili, liczą że się im to usunie w ramach realizacji (bo zależy żeby dostać wynagrodzenie). Jak zapłacą to jest większe ryzyko, że będą musieli osobno płacić.
Dawid W.

Dawid W. IT
manager/programmer

Temat: podpisanie umowy ze zleceniodawcą

Dzięki bardzo Rafał za odpowiedź - bardzo pomocna.
Mam jeszcze inne pytania poboczne - pracuję na etacie w firmie, chcąc teraz zrobić dla kogoś projekt komercyjny, rozumiem, że muszę zainwestować w VS, MSSQL? Jakieś inne czynniki muszę jeszcze rozpatrzyć?

Temat: podpisanie umowy ze zleceniodawcą

Jeśli to nie jest duży (subiektywnie) projekt, to nie musisz. Wersje Express Visual C#/VB.NET i SQL Server Express są bezpłatne do zastosowań komercyjnych. Na początek może Ci to wystarczyć do produkcji, a SQL Srv Ex. do prototypowania. Jak się okaże, że wszystko jest OK, to wtedy klient może zainwestować w pełną wersję SQLa. A Ty, jak zarobisz coś na tym, to możesz sobie potem pozwolić na pełną wersję VS i dodatki, jak np. ReShaper czy inne kombajny.

Najlepiej tak przemyśl projekt, abyś miał ciągłą weryfikację przez klienta tego, co robisz. W tym celu możesz wykorzystać koncepcję prototypowania, tj. zaczynasz od prostego prototypu, który implementuje określone w harmonogramie funkcjonalności tak, że klient od razu może sobie po tym poklikać, potestować. To nie musi być przecież od razu cała aplikacja. Zrobisz kilka formatek, np. logowanie i główny ekran, albo jedno dużą - od razu dajesz do poklikania i omawiasz na spotkaniu uwagi. Oczywiście na początku 90% funkcjonalności nie będzie, albo będą to zaślepki. Korzyść masz z tego taką, że obniżysz ryzyko, że się namęczysz, naprogramujesz, naanalizujesz, a klient i tak potem powie, że to nie o to chodziło. Im częstszy kontakt z klientem, im więcej potu na ćwiczeniach, tym potem mniej krwi w boju.

Zrób sobie WBSa (work breakdown structure). Rozbij produkt na najdrobniejsze (od ogółu do szczegółu) rzeczy do wykonania. Nie tylko programistyczne, ale analityczne (jakie analizy fn. trzeba wykonać), projektowanie GUI, a także co trzeba kupić (może trzeba kupić jakieś komercyjne komponenty, które zaoszczędzą dużo czasu), co trzeba zainstalować, jak to wdrażać, a nawet o czym trzeba poczytać i douczyć się (kilka typowych przykładów "rzeczy do nauczenia" - konfiguracja i praca z ORMem, jeśli używasz, np. LINQ, NHbernate, obsługa różnych protokołów, np. HL7, WPF, uwierzytelnianie certyfikatem, podpis elektroniczny, webserwis, praca rozproszona, wielodostęp). Dzięki WBSowi ogarniesz całość projektu i będziesz mógł na tej podstawie szacować harmonogram (bo masz wprost listę "bloczków" TODO) i wycenę. Po kilku formatkach i całych bloczkach zaczniesz coraz precyzyjniej szacować MD (mandaysy, osobodni), a na tej podstawie - wycenić pracę.

Z WBSa i rozmów z klientem wyniknie także lista etapów produkcji, w których efekcie powstaną konkretne elementy aplikacji do testowania i omawiania. Czyli np. na początek (strzelam) - logowanie, dodanie nowego zlecenia i przegląd zleceń w najprostszej postaci. Ale już wyszukiwarkę, z filtrami i innymi bajerami - na kolejne etapy. Dzięki temu, mogąc już dodawać coś do baz i przeglądać jej zawartość, masz co pokazać klientowi, a on zobaczy, że aplikacja "już żyje". Kolejne "ficzery" pozostaw sobie na kolejne etapy/iteracja zwał jak zwał.

Do harmonogramowania możesz wykorzystać darmowe narzędzia, np. OpenProj (fajny wykres Gantta)
http://sourceforge.net/projects/openproj/screenshots/2...

Aha, taka jedna uwaga w przypadku "wyłączenia odpowiedzialności". "Oczywistą oczywistością" jest fakt, że należy się zabezpieczyć solidnie przed problemami, ale należy też pamiętać, że klient czasem zwraca uwagę na fakt, że wytwórca "praktycznie za nic nie odpowiada". I to może poważnie zniechęcić - nikt nie chce ryzykować, że w razie problemów z aplikacją zostanie na lodzie, np. że utraci dane, albo wkradną się do nich błędy (to czasem gorsze od utraty danych, bo w przypadku aplikacji medycznej czy księgowej można trafić pod sąd).

Są aplikacje, że zapisy "use at your own risk" i "provided as is" nie wzbudzają gęsiej skórki, bo nie od nich nie zależy "być albo nie być" nas i/lub naszej firmy. Ale są i takie, że taki zapis natychmiast wyłącza kandydaturę takiej aplikacji.

Można jednak podejść do tego konstruktywnie - oferując płatny serwis jako usługę. W wieku przypadkach klient woli dopłacić, ale mieć gwarancję (i niestety - z tej gwarancji musisz się wywiązać, np. z "gwarantowanego czasu reakcji na zgłoszenie" albo "gwarantowanego maksymalnego czasu przestoju" itp), że w razie czego ktoś mu pomoże.

Czasem z umów serwisowych żyje się lepiej i dłużej, niż z samej sprzedaży softu.Adrian Olszewski edytował(a) ten post dnia 15.12.11 o godzinie 12:00
Dawid W.

Dawid W. IT
manager/programmer

Temat: podpisanie umowy ze zleceniodawcą

Dzięki Adrian za odpowiedź, tak skojarzyłem jak napisałeś, że faktycznie wersję Express VS i MSSQL mogę użyć.
Rafał Krzaczyński

Rafał Krzaczyński Firmes, właściciel

Temat: podpisanie umowy ze zleceniodawcą

Re: Adrian:

Oczywiście umowa nie może być skonstruowana na zasadzie: "płać kasę a ja za nic nie odpowiadam". Dużo tu zależy, jak zaznaczyłeś, od specyfiki projektu, ale warto pomyśleć o zabezpieczeniu własnego interesu. Zwłaszcza mam na myśli odpowiedzialność za utracone korzyści lub awarie / utratę danych wynikłych z działań / zaniechań klienta.

Dawid:

Nie wiemy, czy to projekt za 5, 50 czy 500 tysięcy, a wtedy charakter i podejście klienta jest różne.
Jeśli to poważny zleceniodawca, to świadczenie gwarancji w ramach umowy serwisowej będzie dla niego jak najbardziej zrozumiałe. A jeśli to ktoś, kto myśli, że za 2-3 tysiące "kupi" sobie programistę do końca życia produktu, to lepiej omijać.

Prototypowanie to bardzo dobra rzecz. Zwłaszcza jak projekt wchodzi z "nieznane" obszary. Bo wtedy często sam klient do końca nie jest w stanie dokładnie określić czego potrzebuje i jak będzie z tym pracował. Czasami dopiero widząc, jak coś działa możemy zweryfikować założenia.

W umowie warto dokładnie określić specyfikację projektu, funkcje, elementy, sposób działania i użyte technologie. Zabezpieczy Cię to przed nieustannym dodawaniem nowych rzeczy w ramach realizacji i starej ceny.
W kwestiach niemożliwych do określenia przed realizacją warto ustalić pewne zasady podejmowania decyzji. Np. tak jak to często jest w przypadku projektów graficznych - klient dostaje dwa / trzy projekty, propozycje z których musi wybrać jedną, na którą są nanoszone jego poprawki. A jak mu się żadna nie podoba, to za kolejne propozycje płaci.
Dawid W.

Dawid W. IT
manager/programmer

Temat: podpisanie umowy ze zleceniodawcą

Rafał Krzaczyński:

To projekt z pogranicza tych kwot;)
Jak procentowo w stosunku do kosztów realizacji projektu, przedstawia się umowa serwisowa? Rozumiem, że ciężko określić i pewnie najłatwiej spróbować oszacować/przyjąć liczbę godzin w miesiącu jaką uważam że poświęcę?
Dawid W.

Dawid W. IT
manager/programmer

Temat: podpisanie umowy ze zleceniodawcą

Panowie,
Wiem, że to już temat prawa bardziej aniżeli IT, ale może pomożecie. Otrzymałem od zleceniodawcy wstępną umowę, pomoglibyście z jej analizą?
Oto treść:

§ 1.
Zamawiający powierza wykonanie, a Wykonawca zobowiązuje się wykonać dzieło polegające na: ............................................................................................................................................................................................................................................................
§ 2.
1. Dla wykonania dzieła Zamawiający zobowiązuje się wydać Wykonawcy w terminie do dnia ............................................ następujące materiały i narzędzia:
a) .................................................................................................
b) .................................................................................................
§ 3.
Termin rozpoczęcia dzieła strony ustaliły na dzień ..................................., a zakończenie i wydanie Zamawiającemu na dzień ....................................................
§ 4.
Odbiór nastąpi w siedzibie Wykonawcy na podstawie protokółu przekazania sporządzonego w obecności przedstawicieli Zamawiającego i Wykonawcy.
§ 5.
Wykonawca ma prawo powierzyć wykonanie dzieła innej osobie, jednakże jest on odpowiedzialny wobec Zamawiającego za jej działania, jak za własne.
§ 6.
1. Wykonawcy przysługuje wynagrodzenie za wykonanie dzieła w wysokości ............................ zł (słownie .................................................................................................. złotych).
§ 7.
1. W razie niewykonania dzieła Zamawiającemu przysługuje kara umowna w wysokości .......................................... % wartości nie wykonanego dzieła.
2. Zamawiający może dochodzić na zasadach ogólnych odszkodowania przewyższającego karę umowną.
§ 8.
1. W przypadku wystąpienia w dziele wad, Zamawiający prześle wykonawcy protokół reklamacyjny, a Wykonawca zobowiązany jest odpowiedzieć w ciągu, .............. dni.
2. Brak odpowiedzi w wyznaczonym terminie uważa się za uznanie tej reklamacji, z obowiązkiem załatwienia jej zgodnie z żądaniem Zamawiającego.
§ 9.
Zmiany umowy wymagają formy pisemnej pod rygorem nieważności.
§ 10.
W sprawach nie uregulowanych niniejszą umową mają zastosowanie przepisy kodeksu cywilnego.
§ 11.
Spory mogące wyniknąć na tle stosowania niniejszej umowy strony poddają pod rozstrzygnięcie sądu właściwego dla siedziby w Warszawie

--------------------------------------
Co mi się rzuciło w oczy, to może trochę niejasna kwestia tego, co ma zawierać rozwiązanie IT, lepiej pewnie spisać wszystko dokładnie i dodać jako załącznik do umowy.
Druga kwestia tyczy się paragrafu 7 - w razie niewykonania dzieła... Nie należałoby tutaj napisać co znaczy niewykonanie dzieła?
Trzecia kwestia: "w przypadku wystąpienia w dziele wad...", ten zapis też wydaje mi się mało szczegółowy, nie sądzicie?

Jakieś jeszcze uwagi?
Dawid W.

Dawid W. IT
manager/programmer

Temat: podpisanie umowy ze zleceniodawcą

Adrian Olszewski:
(...)
Są aplikacje, że zapisy "use at your own risk" i "provided as is" nie wzbudzają gęsiej skórki, bo nie od nich nie zależy "być albo nie być" nas i/lub naszej firmy. Ale są i takie, że taki zapis natychmiast wyłącza kandydaturę takiej aplikacji.

Można jednak podejść do tego konstruktywnie - oferując płatny serwis jako usługę. W wieku przypadkach klient woli dopłacić, ale mieć gwarancję (i niestety - z tej gwarancji musisz się wywiązać, np. z "gwarantowanego czasu reakcji na zgłoszenie" albo "gwarantowanego maksymalnego czasu przestoju" itp), że w razie czego ktoś mu pomoże.

Czasem z umów serwisowych żyje się lepiej i dłużej, niż z samej sprzedaży softu.


Adrian czy masz może jakiś przykład takiej umowy serwisowej? Nie za bardzo wiem jak się zabrać do tego "tematu". Mam już umowę wykonania serwisu internetowego, nie wiem tylko jak zawrzeć w tym szeroko pojęty serwis. Tzn. co obejmuje, czym się różni od gwarancji?
Wojciech Gomoła

Wojciech Gomoła Now is my Time

Temat: podpisanie umowy ze zleceniodawcą

Zerknij na strone Macka Aniserowicza on nie dawno publikowal zbior porad co powinno sie znalezc w umowie bezpiecznej dla programist - freelancera.



Wyślij zaproszenie do