W umowie określ stawkę za godzinę i śledź swój czas. Podając klientowi cenę, należy podać, że jest to wartość szacunkowa, a rzeczywisty wynik może być mniejszy lub większy.
Informuj klienta na bieżąco o postępach, a kiedy nieuchronnie przedstawi sugestie, możesz po prostu powiedzieć mu, ile czasu zajmie ci to (jeśli zmiana jest niezgodna z oryginalnymi specyfikacjami), a on może zdecydować, czy zmiana jest warta pieniędzy. Dlatego zostaną dodane tylko ważne dla niego zmiany.
Osobiście obejmowałbym akceptowalne i nieakceptowalne (płatne wsparcie vs. bezpłatne wsparcie) błędy w umowie, dzięki czemu masz przynajmniej coś na piśmie od samego początku. Bez wątpienia będzie się zastanawiał, dlaczego powinieneś potrzebować tej klauzuli, więc bądź z góry i wyjaśnij, że jeśli pojawi się nowa aktualizacja systemu operacyjnego, która coś psuje, to nie jest darmowe wsparcie. Błędy w twoim kodzie zgodnie z oryginalną specyfikacją na określonych platformach zostałyby jednak uwzględnione.
Powinienem jednak wspomnieć, że wykonywałem jedynie prace związane z informatyką, a nie programowanie. Może to odstraszyć klientów, ale tylko upewnij się, że twoja praca się sprzedaje, będzie bardziej profesjonalna, towarzyska i pomocna niż reszta, a także przedstawi powody, dla których masz ściślejszą umowę.
Poza tym klient, który nie zaakceptuje tej klauzuli, jest najprawdopodobniej złym klientem.