Geben Sie in Ihrem Vertrag einen Stundensatz an und behalten Sie Ihre Zeit im Auge. Wenn Sie Ihrem Kunden den Preis mitteilen, geben Sie an, dass dies eine Schätzung ist und das tatsächliche Ergebnis möglicherweise geringer oder höher ist.
Halten Sie den Kunden über den Fortschritt auf dem Laufenden, und wenn er unweigerlich Vorschläge macht, können Sie ihm einfach die Zeit mitteilen, die Sie benötigen (wenn die Änderung außerhalb der ursprünglichen Spezifikationen liegt), und er kann entscheiden, ob die Änderung das Geld wert ist. Daher werden nur für ihn wichtige Änderungen hinzugefügt.
Ich persönlich würde akzeptable oder inakzeptable (bezahlter oder kostenloser Support) Fehler im Vertrag abdecken, und auf diese Weise haben Sie zumindest von Anfang an etwas Schriftliches. Er wird sich zweifellos fragen, warum Sie diese Klausel brauchen sollten. Seien Sie also offen und erklären Sie, dass wenn ein neues Betriebssystem-Update herauskommt, das etwas kaputt macht, dies keine kostenlose Unterstützung ist. Fehler in Ihrem Code, die der ursprünglichen Spezifikation auf den angegebenen Plattformen entsprechen, wären jedoch abgedeckt.
Ich sollte jedoch erwähnen, dass ich nur freiberufliche IT-Arbeit geleistet habe, anstatt zu programmieren. Dies könnte Kunden möglicherweise abschrecken, aber stellen Sie sicher, dass sich Ihre Arbeit von selbst verkauft, professioneller, kontaktfreudiger und hilfsbereiter als der Rest ist und geben Sie Ihre Gründe für einen strengeren Vertrag an.
Außerdem ist ein Kunde, der diese Klausel nicht akzeptiert, höchstwahrscheinlich ein schlechter Kunde.