Frage:
Der Kunde möchte kein Projekt bezahlen, da ich einen Codegenerator verwendet habe
porkaloca
2020-08-15 22:44:02 UTC
view on stackexchange narkive permalink

Die ganze Situation scheint mir Bullshit zu sein, aber ich möchte eine zweite Meinung, weil sie zu weit geht.

Ein bisschen Kontext ... Ich bin Freiberufler, ich schreibe in VBA oder c #. 75% der Projekte sind Mikroprojekte in Excel.

In den Jahren habe ich meine eigene Bibliothek und einen Codegenerator erstellt. Der Codegenerator schreibt einige Semi-Standard-Klassen und -Methoden. Dinge, die eine Struktur haben, aber für die endgültige Version häufig manuell angepasst werden müssen. Um einen modularen Code zu erhalten, in dem ich einige Teile manuell ändern und andere Teile trotzdem neu generieren kann, ohne die Änderungen zu verlieren, verwendet der Generator Tags, um jedes "Teil" und wann zu verpacken Ich liefere die Arbeit, die ich nicht lösche.

Der Kunde war wirklich glücklich , nachdem ich das Projekt geliefert habe (alle festgelegten Sätze: "Jetzt machen wir das andere." .." etc.). Einige Tage später erhalte ich eine E-Mail, in der er fragt, wie diese <Sometag> -Linien lauten. Ich antwortete mit der Wahrheit. Tags, die von einem Codegenerator verwendet werden, um bestimmte Teile des Codes zu finden. Er interessierte sich für VBA, daher dachte ich, dass eine aufschlussreiche Erklärung geschätzt wurde.

Eine Woche später schickte ich ihm die Rechnung und am nächsten Tag antwortete er, dass da ich das Werk nicht wirklich geschrieben habe Der vereinbarte Preis war nicht mehr gültig . Jetzt will er weniger als die Hälfte des vereinbarten Preises bezahlen. (???)

Aber das Arbeitsblatt macht immer noch das, was es tun soll. Der Codegenerator gehört mir. Ich habe jede Zeile geschrieben und es gibt Hunderte von Stunden Arbeit darin.

Was soll ich tun? Ist es unfair, ein solches Tool zu verwenden? Hat der Kunde einen Punkt? In diesem Projekt gibt es ca. 9,5.000 Codezeilen. 3k von meiner Bibliothek, ca. 4k vom Generator und die restlichen handgeschrieben. Ich bin damit einverstanden, dass dies kein sehr beschreibender Code ist, aber es ist auch kein so schlechter Code IMO. Im Vertrag (aber auch per E-Mail und Sprachanruf) haben wir uns nie auf etwas über die Form des Codes geeinigt oder darüber gesprochen. Er erzählte mir, dass er und seine Mitarbeiter versucht haben, so etwas zu tun, und das Ergebnis nicht funktioniert hat.

Meine größte Sorge beim Zurückschieben ist, dass er eine negative Bewertung auf Google MyBusiness schreiben könnte. Ich war noch nie in einer solchen Situation und möchte nicht, dass mein Ruf für ein relativ kleines Projekt beeinträchtigt wird. Die Entschädigung ist auch nicht hoch genug, um rechtliche Schritte zu rechtfertigen.

Kommentare sind nicht für eine ausführliche Diskussion gedacht.Diese Konversation wurde [in den Chat verschoben] (https://chat.stackexchange.com/rooms/111854/discussion-on-question-by-davide-tonin-client-doesnt-want-to-pay-a-project-beca).
Verspätetes Willkommen auf der Seite Davide.Ich habe Ihre Frage in der Länge geändert und den Code entfernt.Dies ist [arbeitsplatz.se] nicht [softwareengineering.se].:) Können Sie klarstellen, was Sie unter "er und seine Mitarbeiter haben versucht, so etwas zu tun" verstehen?Haben sie Probleme, das von Ihnen gelieferte Produkt zu ändern / wiederzuverwenden, wenn sie dies möglicherweise erwarten?Oder untergräbt Ihr Kunde aktiv seinen Standpunkt, dass Sie "weniger echte Anstrengungen unternehmen"?Würden Sie auf eine negative Bewertung zurückgreifen können, wenn er eine veröffentlicht hätte?(Antworten, Entfernen der Bewertung, Gegenbewertung)
Was war Ihr Vertrag / Ihre Vereinbarung?Hat der Kunde Sie für Ihre Zeit oder für ein Produkt bezahlt?Anders ausgedrückt, waren Sie in einer Vereinbarung, in der Sie 100% bezahlt worden wären, selbst wenn Sie nicht pünktlich fertig wären, solange Ihr Hintern X Stunden auf einem Stuhl saß?
@Lilienthal Das Codebeispiel war nützlich, um zu beurteilen, ob der Code lesbar war (es war).Andernfalls müssen die Leser das Wort des OP dafür nehmen.
@CaptainEmacs Das müssen Sie aber immer.Per Definition bekommen wir hier nur eine Seite der Geschichte.:) Es sind einfach keine relevanten Informationen, wenn es darum geht, die Frage zu beantworten, die bereits lang genug ist.
@Lilienthal Deshalb war der Code nützlich.Selbst als Nicht-Domain-Experte und Außenseiter sah es so aus, als könnte ich es nach ein wenig Selbstbeobachtung bearbeiten.
Zwölf antworten:
#1
+139
TomTom
2020-08-15 22:50:42 UTC
view on stackexchange narkive permalink

Inkassobüro. Er ist kein Kunde, sondern ein Problem, und diese "Kunden" sind Ihre Mühe im Grunde nicht wert. Rechnung, gehen Sie so schnell wie möglich zu einem Inkassobüro, um es mental loszuwerden. Er hat keinen Sinn. Wie Sie etwas tun, ist IHRE Entscheidung, nicht seine.

Tatsächlich.Die Verwendung eines Codegenerators zum Schreiben von Code entspricht dem Schreiben von Code, anstatt die Berechnungen auf einem Taschenrechner durchzuführen.oder mit einem Taschenrechner anstelle eines Abakus.Es ist nur eine effizientere Möglichkeit, die Arbeit zu erledigen.Die Arbeit wurde erledigt und der Kunde muss vollständig bezahlen.
Ich verwende einen Editor mit Code-Vervollständigungsfunktion.Ich mag lange, beschreibende Bezeichner für die Wartung, verwende aber beim Codieren oft einen kurzen Spitznamen und ersetze ihn dann.Ich schreibe Skripte für jede Wiederholung, die ich nicht wegarbeiten kann.Ich sehe keinen Unterschied zwischen diesen Strategien und Ihrem Generator.Sie alle machen das Codieren effizienter, indem nicht jedes Zeichen eingegeben wird.
Er sucht nach einem Grund, nicht zu zahlen.Ich hatte in der Vergangenheit solche Kunden.Es gibt verschiedene Möglichkeiten, mit ihnen umzugehen.Sie alle erfordern viel Mühe und Energie.
Deshalb sage ich Inkassobüro.Schreiben Sie es ab und vergessen Sie es einfach nicht.Besonders bei Miniprojekten macht es keinen Sinn, Zeit damit zu verschwenden.Verdiene lieber mehr Geld.Kleiner Hinweis: Machen Sie GROSSE Projekte.Meine gehen zwischen 9 und 36 Monaten.
Dies sollte als "Auslösen eines Clients" bezeichnet werden.
Inkassobüros machen einen großen Einschnitt, mehr als die Hälfte, denke ich.
@MichaelMcFarlane, Die Gebühr, die eine Agentur erhebt, ist sehr unterschiedlich.Meine einzige Erfahrung mit einem war 35%.50% von etwas zu bekommen ist besser als 100% von nichts.
Sie haben nicht angegeben, wie viel Sie schulden, aber ein Anwalt, der ein Anforderungsschreiben schreibt, ist möglicherweise effektiver, schneller und lukrativer als ein Inkassobüro.Vor allem, wenn Sie einen E-Mail-Trail haben.
Abhängig von der Gerichtsbarkeit gehen die Gebühren des Inkassobüros auf TOP - d. H. Die fehlerhafte Partei zahlt.
@BittermanAndy In der Tat.Ein wesentlicher Teil des Schreibens von C besteht darin, Anweisungen für den Präprozessor zu schreiben, der ein Codegenerator in dem Sinne ist, dass ein Teil des Erstellungsprozesses darin besteht, den Präprozessor auszuführen, um den tatsächlichen Code zu erzeugen, den der Compiler liest.Niemand hat etwas dagegen.Die Tags des OP in VB-Kommentaren sind nicht schlechter.
Dies kann nicht genug bewertet werden.Solche "Kunden" werden Sie brechen.Ich hatte eine Pause mich.Ich habe fast ein Jahrzehnt gebraucht, um mich finanziell zu erholen.Sie verdienen kein Mitleid, Nachlassen oder Mitgefühl.Holen Sie sich Ihr Geld und raus!
Absolut.Ich sehe es als einen der Hauptvorteile, nicht angestellt zu sein, dass ich jedem "Kunden" sagen kann, er solle gehen und sich selbst ficken, während er auf dem Weg nach draußen gegen die Tür klopft.Natürlich erfordert AUCH zumindest ein guter finanzieller Puffer - oder genug Geld, damit Sie hauptsächlich zum Spaß arbeiten.Wenn Sie von einer begrenzten Anzahl von Kunden abhängig sind, besitzen diese wieder Ihre Seele.
#2
+57
Joe Strazzere
2020-08-15 23:14:33 UTC
view on stackexchange narkive permalink

Was soll ich tun? Halten Sie es für unfair, ein solches Tool zu verwenden?

Wenn ich Sie wäre, würde ich dem Kunden erklären, wie Sie mit dem von Ihnen erstellten Codegenerator großartige, aber kostengünstige Ergebnisse erzielen können. Lösungen, die die Bedürfnisse der Kunden erfüllen. Und ich möchte darauf hinweisen, dass die bereitgestellte Lösung die Anforderungen dieses Kunden eindeutig erfüllt, wenn man bedenkt, wie zufrieden sie anfangs waren.

Ich könnte anbieten, die Rechnung zu zerreißen, wenn der Kunde die Lösung derzeit nicht möchte Preis und verspricht schriftlich, es zu verwerfen und ihre Lizenz zur Nutzung zu verlieren. Dies ist ein besonders wirksames Mittel, wenn Sie erwarten, dass der Kunde irgendwann von Ihnen gewartet werden muss. Sie möchten einen unglücklichen Client nicht weiter warten.

Hat der Client einen Sinn?

Nein, der Client hat keinen gültigen Punkt. Da der Kunde das bekommen hat, wofür er einen Vertrag abgeschlossen hat, sollte er den vereinbarten Preis zahlen. Es sollte keine Rolle spielen, wie der Code erstellt wurde.

Sie können jedoch zukünftige Probleme vermeiden, wenn Sie Ihren Prozess mit zukünftigen Kunden besprechen, bevor Sie den Vertrag unterzeichnen.

Der Generator verwendet Tags, um jedes "Teil" zu verpacken. Wenn ich die Arbeit liefere, lösche ich sie nicht.

Möglicherweise möchten Sie den Teil "Nicht löschen" überdenken.

Meine größte Sorge für eine "harte" Lösung ist, dass er eine negative Bewertung schreibt. Ich war noch nie in einer solchen Situation und möchte nicht, dass meine Reputation für ein relativ kleines Projekt beeinträchtigt wird.

Sie können entscheiden, wie viel eine potenzielle negative Bewertung für Sie wert ist .

In Zukunft werde ich genauer sein, auch wenn ich nicht wirklich denke, dass meine Tools offengelegt werden müssen. Aber wenn es in solchen Situationen helfen kann ... Ich kann sie jedoch nicht löschen.Die Wartung wird viel schwieriger sein ..
@DavideTonin Sie können Ihre Tags verschlüsseln [und sie als "für interne / Debugging-Zwecke" deklarieren].Es ist auch nicht Sache des Kunden, zu wissen, wie man seine Arbeit macht.
Ein Hinweis, den ich hinzufügen sollte, weil ich daraus keine legitime Antwort machen kann - denken Sie wie ein großes Unternehmen mit einer Kundendienstabteilung.Würden sie Google so behandeln? "Ich habe gehört, dass Sie neue Tools hinzugefügt haben, die das Schalten von Anzeigen vereinfachen. Deshalb möchte ich jetzt weniger bezahlen als früher." - Zeit für das Alte. "Wir bemühen uns, neue Wege zu finden, um Ihnen den größtmöglichen Nutzen zu bieten! Kluger Service mit einem Lächeln, das ist unser Motto hier bei ToninCorp !! "
Gute Antwort.Ich würde mich auf die Aspekte "schnell" und "Qualität" konzentrieren, wenn ich über die Gründe für die Verwendung des Codegenerators spreche, da der Kunde zu glauben scheint, dass er weniger bezahlen kann, da es so einfach ist, Code zu generieren.
@DavideTonin Behalten Sie eine interne Version des Client-Codes * mit * den Tags bei.Ziehen Sie sie jedoch vor der Lieferung an den Kunden aus.Wenn Sie zukünftige Änderungen benötigen, nehmen Sie diese an der internen Version vor, die noch die Tags enthält, und versenden die Änderungsversion dann erneut mit entfernten Tags.
@Polygnome Ja, das war die ursprüngliche Idee, als ich anfing, und das sollte ich tun.Aber im Laufe der Zeit habe ich diese Angewohnheit verloren, weil viele Kunden nach dem Abschluss mit Anydesk o TeamViewer im Handumdrehen nach sehr kleinen Änderungen fragen und dadurch viele Versionen erstellen.Mein Fehler
Die Tags machen den Code auch ohne das OP-Tool besser und wartbarer.Sie sollten [email protected] sagt nur, dass dies Kommentare sind, um das Lesen zu erleichtern, und lässt die Tatsache aus, dass Sie über maschinelles Lesen sprechen.
Gute Antwort, aber anstatt um Verwerfen zu bitten, könnte es sich lohnen, sie auch darauf hinzuweisen - wie in der Antwort / im Kommentar von PeteCon angegeben -, dass Sie die Rechnung stornieren, da sie im Nachhinein mit den Kosten der Lösung unzufrieden sindwiederum verlieren die Lizenz zur Verwendung des Codes.
Die Verwendung eines Codegenerators unterscheidet sich nicht von der Verwendung einer anderen Sprache mit einer besseren Standardbibliothek oder einer externen Bibliothek.Es ist nur ein Werkzeug und perfekt für die Erstellung von Software geeignet. Der Kunde möchte nur eine Entschuldigung, um nicht zu zahlen, er kümmert sich nicht wirklich um den Code.
#3
+32
PeteCon
2020-08-16 03:27:44 UTC
view on stackexchange narkive permalink

Sagen Sie dem Kunden, dass das Projekt, wenn es von Grund auf neu geschrieben worden wäre, viel länger gedauert hätte, mehr Fehler gehabt hätte und niemals pünktlich geliefert worden wäre. Wie möchte er nun bezahlen? Kreditkarte oder Scheck?

Und das ist Ihre letzte Kommunikation mit ihm. Der Vertrag bestand darin, eine Lösung für ein Problem zu finden, das er hatte, innerhalb eines Budgets und eines Zeitrahmens. Sie haben das getan - Ihr Fehler war höflich genug, um Ihren Prozess zu erklären.

Sie brauchen solche Kunden nicht. Wenn Sie einen Vertrag haben, wenden Sie sich an ein Gericht für geringfügige Forderungen und werden bezahlt. Wenn Sie dies nicht tun, müssen Sie dies möglicherweise abschreiben - wenn Sie das nächste Mal einen Vertrag abschließen (Hinweis: Wenn Sie ihn abschreiben, stellen Sie sicher, dass Ihr Anwalt dem Kunden mitteilt, dass er keine Lizenz zur Nutzung der von Ihnen geschriebenen Software besitzt für sie)

#4
+24
Matthew Gaiser
2020-08-15 23:18:42 UTC
view on stackexchange narkive permalink

Aus irgendeinem Grund haben die Leute die Vorstellung, dass nur Grenzkosten real sind, keine Kapitalkosten. Sie sehen diese Einstellung überall, von Pharmazeutika bis hin zu Kundenbindung und Rekrutierung. Es ist eine seltsame, aber weit verbreitete Einstellung.

Und es ist durchweg falsch.

Haben Sie einen Anwaltfreund? Rechtliche Schritte könnten einfach ein Aufforderungsschreiben sein.

Wahrscheinlich werde ich versuchen, meinen Anwalt zu fragen, in der Hoffnung, dass es eine billige und schnelle Lösung gibt
Das Hauptproblem ist nicht, was die Kosten zählen, aber diese Kosten zählen an erster Stelle.Wenn ich Ihnen sage, dass ich 100 US-Dollar in Rechnung stelle und Sie 100 US-Dollar zustimmen, schulden Sie mir 100 US-Dollar.Wie viel es mich gekostet hat, ist völlig irrelevant.Die Tatsache, dass Sie bereit sind, 100 US-Dollar zu zahlen, zeigt, dass ich mindestens 100 US-Dollar für Sie produziere.Der Wert für Sie abzüglich meiner Kosten ist das, was Ökonomen als "Konsumentenrente" bezeichnen.Der Kunde hat nicht mehr Anspruch auf den Konsumentenüberschuss als der Arbeitnehmer.
@Acccumulation Was Sie sagen, gilt für einen Festpreisvertrag (wie es sich anhört), aber dies gilt nicht allgemein.Es gibt einige Arten von Verträgen (z. B. Zeit und Materialien), bei denen die Kosten eine Rolle spielen.Der Konsumentenüberschuss ist auch die Differenz zwischen dem Wert für den Konsumenten und dem Verkaufspreis.Die Differenz zwischen dem Verkaufspreis und den Herstellerkosten ist der Erzeugerüberschuss.Zusammen ergeben sie den gesamten wirtschaftlichen Überschuss, der der von Ihnen beschriebenen Menge entspricht.
#5
+22
Kilisi
2020-08-16 04:40:23 UTC
view on stackexchange narkive permalink

Als Freiberufler geben Sie solchen Dingen keinen Spielraum. Halten Sie es kurz und professionell und fordern Sie die Zahlung. Lassen Sie sich nicht darauf ein. Senden Sie die Rechnung einfach erneut mit einem kurzen Hinweis, dass sie bereits ausgehandelt wurde. Sie haben Ihre Seite erfüllt und erwarten eine Zahlung. Wenn sie sich nur pauschal weigern, Sie für die geleistete Arbeit zu bezahlen, lassen Sie es Sie bitte wissen.

Wenn Sie innerhalb eines angemessenen Zeitraums keine Zahlung erhalten, können Sie sich überlegen, welche Schritte zu unternehmen sind.

Seien Sie nicht frustriert und springen Sie nicht mit lodernden Waffen. Tun Sie dies zuerst noch etwas. Viele Leute versuchen, dem Bezahlen auszuweichen, man gewöhnt sich als Freiberufler daran.

+1, weil nicht diskutiert wurde, warum der Codegenerator eine gute Idee und eine legitime Programmiertechnik ist.Alles, was zählt, ist, dass das OP das geliefert hat, was der Vertrag verlangt, und die Zahlung erhalten sollte, die der Vertrag dafür vorschreibt.
#6
+17
Steve
2020-08-16 00:42:07 UTC
view on stackexchange narkive permalink

Wenn er glaubt, Sie hätten "betrogen", vielleicht eher als ein "Codegenerator", wäre eine bessere Beschreibung, dass Sie "aus einer benutzerdefinierten Beschreibungssprache kompiliert" oder "aus einem grafischen Werkzeug kompiliert" haben. Wenn Sie ein elektrisches Flugzeug oder eine CNC-Maschine verwenden, nennen Sie es kaum einen "Holzwerkgenerator".

Ist seine wirkliche Beschwerde vielleicht, dass Sie den echten Quellcode em nicht umgedreht haben > für zukünftige Wartungsarbeiten? Es ist möglich, dass der Kunde nur unvernünftig ist, aber ein viel glaubwürdigeres (und vernünftigeres) kommerzielles Problem könnte sein, dass Sie die Arbeit an Ihr proprietäres Tool gebunden haben, ohne dass der Kunde das Tool für die Wartung zur Verfügung hat.

Eine gute Analogie wäre, wenn der Kunde Sie bitten würde, einen Verbrennungsmotor zu konstruieren, aber anstatt metrische Standardschrauben und -gewinde zu verwenden, würden Sie ein obskures System verwenden, das vollständig von Ihnen selbst entwickelt wurde, was es unerschwinglich teuer macht, den Motor in Zukunft ohne den Kunden zu warten Zurückverweisen auf Sie.

Möglicherweise hatten Sie nicht die Absicht, Ihr benutzerdefiniertes Tool zu verwenden, und es war lediglich ein Gerät zur Verbesserung Ihrer Produktivität. Es ist jedoch nicht ungewöhnlich, dass vom Tool generierter Code komplexer oder weniger komplex ist idiomatisch als handgefertigter Code.

Der Kunde ist möglicherweise der Ansicht, dass ihn die Zeit, die Sie beim Erstellen des Codes mit diesem Tool gespart haben, kosten wird, wenn Sie ihm das Generierungswerkzeug nicht zur Verfügung stellen Zukunft in Lock-In-Kosten für ma Wartung oder die Kosten für das Umschreiben der Anwendung von Grund auf neu, wenn er möchte, dass jemand anderes sie ändert. Ist es möglich, dass dies die wahre Natur der Beschwerde ist?

"Er antwortete, da ich das Werk nicht geschrieben habe, sei der vereinbarte Preis nicht mehr gültig."[Zitat von OP] Die Aussage enthält nichts über Werkzeuge oder mangelnde Wartbarkeit.Wenn sie Wartbarkeit wollten, hätte das im Vertrag stehen sollen, wenn sie Werkzeuge wollten, müssten sie für eine Lizenz bezahlen, um das Werkzeug zu verwenden (da ich bezweifle, dass das OP es verkaufen möchte).Sehr unwahrscheinlich angesichts der Erscheinungen.
@CaptainEmacs, Wenn Sie die Haltung einnehmen würden, die Sie haben, würde ich mich einfach weigern, zu zahlen und Sie mit negativem Feedback zu schlagen, wenn der Kunde des OP droht, weil ich keine Auftragnehmer hätte, die mit mir streiten und sagen: "Sie hätten die Wartbarkeit spezifizieren sollen" (als ob jemand, der für die Produktion von Code bezahlt, Spaghetti oder etwas erwartet, das in Lucite fixiert ist) oder "Ich berechne extra für die Werkzeuge, die ich verwendet habe".Wenn Sie wollten, dass der Code nicht mehr gewartet werden kann oder um mich später zusätzlich zu belasten, * sollten * Sie mich vorher darauf aufmerksam gemacht oder ihn einfach von Hand in VBA geschrieben haben, wie Sie dafür bezahlt wurden.
@Steve Wir wissen nicht, ob der Code nicht wartbar ist.Und sicherlich kann es eine Frage der Kooperativität und der Suche nach einer gemeinsamen Lösung des Problems geben.Wenn ich die Frage jedoch genau lese, erstellt OP Mikrolösungen - diese werden von mir als Lösungen für jemanden interpretiert, der nicht weiß, wie man codiert, oder der sie selbst entwickeln könnte. Es handelt sich nicht um eine wichtige Systementwicklung, bei der Wartbarkeit impliziert ist.Wenn das Know-how / die Erfahrung von OP einen selbst erstellten Codegenerator umfasst, warum sollten sie ihn dann für die geringen Kosten eines Code-Snippets ausgeben?Fortsetzung.
@Steve Außerdem habe ich Code über Codegeneratoren erstellt, der mit ein wenig Aufwand gewartet werden konnte.Es gibt keine Aussage darüber, ob dies der Fall ist oder nicht (was übrigens in meinem Kommentar heißt).Sie springen also zu Schlussfolgerungen.Ich habe lediglich festgestellt, dass es keine besonderen Anforderungen an die Wartbarkeit gibt.Das heißt nicht, dass dies nicht der Fall ist.OP gibt an, dass die Entwicklung ihres Tools Jahre gedauert hat.Glauben Sie wirklich, dass der Kunde bereit gewesen wäre, die tatsächlichen Kosten / Lizenzen eines solchen Tools anstelle eines Mikroprojekts zu bezahlen?Alle Anzeichen sind, dass sie nur versuchen, nicht mehr zu bezahlen.
@Steve Abschließender Kommentar: Ich habe gerade das Codebeispiel von OP oben bemerkt und es sieht ziemlich lesbar aus.Hätte der Client die Tags nicht gesehen, hätte er möglicherweise nicht einmal bemerkt, dass ein Codegenerator beteiligt war.Was meinen Punkt im letzten Kommentar unterstützt.
@CaptainEmacs, Mir ist klar, dass wir die genaue Logik, der der Client folgt, nicht * kennen *.Der Zweck meiner Antwort war es, die * Möglichkeit * eines berechtigten Anliegens vorzuschlagen - das selbst vom OP möglicherweise übersehen wurde.Mir ist klar, dass es nicht nur so einfach ist wie das OP, das dem Kunden das Tool gibt - sondern es ist * nach eigener Wahl *, ein solches Tool zu verwenden, das er selbst in diese Bindung gesteckt hat.Und es ist nicht so, ob der Kunde selbst warten kann - es ist, ob er in Zukunft * jemand anderen * einstellen möchte, um zu warten.Ich stimme auch zu, dass mit dem Code-Snippet überhaupt nichts falsch ist.(1/2)
Es liegt an der OP, das Gespräch mit dem Kunden zu führen, wenn er kann, und zu versuchen, herauszufinden, wie eine Lösung aussieht, aber es ist klar, dass die Verwendung dieses Tools das Problem darstellt, sodass es möglicherweise die Aufgabe der OP ist, nach der Suche zu fragenFragen.Wenn das Anliegen des Kunden lediglich das Gefühl ist, dass er im Verhältnis zur tatsächlich geleisteten Arbeit überfordert ist und das OP nicht bereit ist, den vereinbarten Preis auf rechtlichem Wege durchzusetzen, muss er möglicherweise begründen, warum seine Preise angemessen sind und dass er Werkzeuge verwendet, um diese zu erhaltenÜbliche Muster, die schnell und genau skaliert werden, sind eine normale Geschäftspraxis.(2/2)
#7
+11
DaveG
2020-08-16 01:03:02 UTC
view on stackexchange narkive permalink

Nein, der Kunde hat keinen Punkt und nein, Sie haben nichts falsch gemacht. Sie haben das vom Kunden angeforderte Produkt zu dem Preis geliefert, den der Kunde für angemessen hielt. Wie Sie das Produkt erstellt haben, ist völlig irrelevant.

Was Sie tun können, um den Kunden zu glätten, ist zu erklären, dass alle Software mit Tools entwickelt wird ... Compiler, Bibliotheken, Code Generatoren usw. Alle Tools, um das Erstellen von Software effizienter zu gestalten, genau wie ein Schreiner, der den Umbau von Häusern durchführt, über Tools verfügt, die seine Arbeit effizienter machen. Die Tatsache, dass Sie Werkzeuge verwenden, wurde bereits in dem Preis berücksichtigt, den Sie dem Kunden angegeben haben. Wenn Sie keinen Codegenerator verwendet hätten, müssten Sie mehr verlangen, um die erhöhten Kosten zu decken.

#8
+8
if NewQuestion voteCLOSE
2020-08-16 11:41:30 UTC
view on stackexchange narkive permalink

Halten Sie es kurz und ehrlich ...

Der von mir angegebene Preis beinhaltet die Verwendung des Codegenerators. Hätte ich den Codegenerator nicht verwendet, hätte ich mehr für das Projekt verlangen müssen. Wenn das Ergebnis nicht zufriedenstellend ist, lassen Sie es mich wissen und wir können eine Lösung besprechen.

Berücksichtigen Sie auch die Möglichkeit, dass er ein legitimes Rindfleisch mit generiertem Code hat. Zum Beispiel ist der Code möglicherweise nicht einfach zu ändern.

Ich würde eine starke Verwendung des Ausdrucks "Codegenerator" vermeiden und Wörter wie "meine Werkzeuge" und "meine Ausrüstung" verwenden, die die wahre Zentralität des Künstlers und seine Fähigkeit, solche Dinge herzustellen oder zu verwenden, betonen.Ein Bauingenieur sprach weder von seinem Bagger als "Lochgenerator", noch von einem Drucker von seiner Presse als "Textgenerator", oder von einem Schmutzrede von seinem Anvil oder seinem Jig als "Ironwork-Generator".Um von einem "Codegenerator" zu sprechen: Wenn Sie gutes Geld für das Codieren erhalten, wird der Computer und die Werkzeuge unangemessen als aktive Agenten verwendet.
#9
+5
gnasher729
2020-08-16 04:09:00 UTC
view on stackexchange narkive permalink

Als Kunde (und mit dem Wissen, wie Softwareentwicklung funktioniert) möchte ich Ihre Lieferung nächstes Jahr an ein anderes Unternehmen übergeben und dieses Unternehmen Änderungen oder Ergänzungen zu einem normalen Preis vornehmen lassen.

Wenn das, was Sie liefern, dies ungewöhnlich schwierig macht, hat der Kunde einen Punkt. Wenn es aufgrund Ihrer Werkzeuge nicht viel schwieriger ist, dann nein. Und dass Sie Tools verwendet haben, um effizienter zu entwickeln, ist kein Grund, nicht zu zahlen.

Aber was wirklich zählt, ist, was der Vertrag sagt. Wenn Sie geliefert haben, was der Vertrag sagt, muss der Kunde bezahlen.

Er sprach überhaupt nicht über Wartbarkeit oder Werkzeugunterstützung.Für letztere haben sie möglicherweise das Tool und den Support lizenziert.Wahrscheinlich zu teuer für diesen billigen Skate eines Kunden.Höchstwahrscheinlich dachten sie nur, dass sie davonkommen würden, wenn sie nur die Grenzkosten bezahlen würden.
Das klingt nach etwas, das man besprechen muss, bevor man jemandem den Auftrag gibt.
#10
+5
aliential
2020-08-16 09:46:19 UTC
view on stackexchange narkive permalink

Am Anfang scheint es an Kommunikation zu mangeln. Wenn der Kunde einen leicht bearbeitbaren Basiscode haben wollte, um seine Wahl zu ändern und ein bisschen VB für sich selbst zu lernen, dann waren er und Sie beide in Unkenntnis der Absichten des anderen.

Einige Codegeneratoren geben sehr Ausführlicher und unleserlicher Code, daher weiß ich nicht, warum Leute Kommentare abgeben, ohne den Code oder die Arbeitsanforderung zu sehen ... wenn er zum Beispiel sagte "weil ich meinen eigenen Code / mein eigenes Projekt entwerfe, das in Ihre Arbeit integriert ist" ... Wir kennen die vereinbarte Summe und das Arbeitsvolumen nicht. Möglicherweise hat er die Vereinbarung und den Preis auf der Grundlage der manuellen Codierung seiner eigenen Arbeit unterzeichnet, d. H. Er erwartete mehr geleistete Arbeit und ein manuelles Ergebnis. Persönlich würde ich einen Kunden vor den Details eines Codegenerators warnen, wenn er ein Junior-Programmierer ohne viel Geld ist, der bearbeitbaren Code benötigt.

Diese Frage enthält zu viele Variablen und Unbekannte, um den Client als zu schreiben gesichtslose schelmische Entität, wir haben nicht einmal eine Abschrift des Beschwerdegrundes oder der Code-Anfrage. Wie war die Anzahl der Zeilen und der Preis? 100 oder 10000? Ich war überrascht, dass niemand darüber nachdenkt, ob der Klient eine menschliche Seite zu erzählen hat oder ob er Emotionen hat oder ein Junior-Individuum oder eine Gruppe ist, sonst ist dies ein einseitiges Urteil.

Der Kunde hat sich geweigert, den vollen Rechnungsbetrag zu bezahlen.Das sagt Ihnen alles, was Sie wissen müssen.Sie haben keine Einwände gegen das, was geliefert wurde, weil es "leicht zu bearbeiten" ist oder irgendetwas anderes, was Sie hier erraten.Sie wollen einfach nicht bezahlen.Passiert die ganze Zeit, weil es viele schlechte Kunden gibt.https://www.youtube.com/watch?v=oEa6PdOG2ts
Diese Antwort wirft wichtige Fragen auf - ein * privater * Codegenerator ist in Ordnung, wenn dies im Voraus vereinbart wurde, kann der Code nicht gewartet werden.Das OP hier scheint möglicherweise nicht wartbaren Code geliefert zu haben, und das ist etwas zu beachten.Ohne den tatsächlichen Vertrag zu sehen, ist es jedoch unmöglich zu sagen, und diese Antwort weist richtig darauf hin.Ich bin damit einverstanden, dass dies wie ein Kunde klingt, der es anprobiert - aber hier gibt es berechtigte Bedenken.Die Standardannahme professioneller Entwickler sollte sein, dass der gelieferte Code, der * beibehalten werden soll *, von angemessener Qualität ist.
@StackerLee Es gab ein Codebeispiel von OP, das von den Moderatoren entfernt worden war.Es war perfekt lesbar.
Ja, um klar zu sein, ich habe nicht die Absicht, die allgemeine Codequalität (außerhalb des Generators) oder die Professionalität des OP in Frage zu stellen.
#11
  0
O.F.
2020-08-18 12:10:58 UTC
view on stackexchange narkive permalink

Ich werde keine direkte Antwort auf die Frage versuchen, da Sie hier bereits viele gute Ratschläge haben (ich persönlich sehe einen Kunden, der aus irgendeinem Grund greift, den er sich vorstellen kann, nicht zu zahlen. Wäre es nicht der Codegenerator gewesen, er ' d finden Sie eine andere Entschuldigung ).

Mein Rat für die Zukunft ist jedoch, eine "kostenlose Testversion für 30 Tage" zu verwenden, dann müssen Sie einen Lizenzschlüssel für eingeben Verwenden Sie weiterhin "Schema" in Ihren Code-Produkten.
Mit 30 Tagen meine ich natürlich "Die Zeit, die benötigt wird, um bezahlt zu werden", nicht genau 30 Tage.

Nun, wenn der Kunde beschwert sich ... sie haben keinen Sinn!
Sie erhalten eine voll funktionsfähige Testversion, um Benutzerakzeptanztests durchzuführen und die Dienstfähigkeit zu überprüfen.
Wann, wenn , zahlen Sie Nach oben verpflichtet mich der Vertrag, Ihnen einen Lizenzschlüssel zu geben ... was ich natürlich auch tun werde.
Sie zahlen nicht und versuchen, mich zu shillen?! Ich hoffe, es hat Ihnen Spaß gemacht zu sehen, wie nützlich meine Bewerbung für Sie ist, wie viel Sie davon profitieren könnten ... wenn Sie nur bezahlt hätten.

Wenn Sie technisch können, würde ich sagen, gehen Sie noch einen Schritt weiter und wann Die Testversion ist beendet und es wurde keine Lizenz bereitgestellt. Warten Sie beispielsweise 3 Tage und lösen Sie dann eine vollständige Deinstallation / Löschung des Produktcodes vom Zielcomputer aus.
Sie möchten nicht, dass der Client den Weg zurückentwickelt eine gültige Lizenz und , die Ihnen nicht das zahlt, was Sie schulden.

Stellen Sie einfach sicher, dass Ihr Anwalt all dies im Vertrag legalisiert.
Sie wissen, "legalisieren" zu "Das codierte Produkt ist das alleinige Eigentum von ToninCorp bis zu dem Zeitpunkt, an dem der Kunde eine vereinbarte Entschädigung an ToninCorp geliefert hat. Zu diesem Zeitpunkt geht das Eigentum an dem Produkt automatisch auf den Kunden über.
Dies berechtigt nicht." der Kunde zu Wartungsdiensten von ToninCorp ohne weitere Entschädigung ".

Es tut mir leid, dass Sie betrogen wurden. Es ist Scheiße und es passiert jedem von uns, auch den am besten geschützten.
Holen Sie sich um jeden Preis, was Sie schulden.
Eine schlechte Bewertung ist schlecht, stimmt. Einen Namen als Push-Over zu bekommen, ist ein Karriere-Ender!
Es gibt einen Grund, warum der Mob niemanden vom Haken lässt, selbst wenn er einen Kaugummi gestohlen hat! Wenn Sie den Namen einer Person erhalten, die gemobbt und ausgenutzt werden kann, sind dies die einzigen Kunden, die Ihnen in den Weg kommen.
Es ist eine Spirale des Karriereuntergangs.
Tun Sie es einfach nicht!

#12
-1
chasly - reinstate Monica
2020-08-16 14:41:44 UTC
view on stackexchange narkive permalink

Diese Frage ist nicht zu beantworten.

Warum? Weil wir den Vertrag nicht gesehen haben. Wenn wir nicht wissen, was der Vertrag war (Namen natürlich redigiert), können wir unmöglich wissen, ob Sie seine Anforderungen erfüllt haben.

Zum Beispiel:

  1. Was war der Wartungsvertrag?

  2. Welcher Zugriff auf den Code wurde vereinbart?

  3. Welcher kostenlose Support in welchem ​​Zeitraum von Zeit, die Sie angeboten haben?

  4. ol>

    Wenn Sie den Vertrag mit dem Brief erfüllt haben, sind sie zur Zahlung verpflichtet. Wenn Sie dies nicht getan haben, müssen Sie diesen zusätzlichen Service bereitstellen oder erwarten, dass sie weniger bezahlen.



    Er sagte mir, dass er und seine Mitarbeiter versucht haben, so etwas zu tun Dies und das Ergebnis funktionierten nicht.

    Sie sagen nicht, ob dieses funktionieren soll oder ob Sie versucht haben, sie dabei zu unterstützen, dass es funktioniert. Wenn der vom Kunden geschriebene neue Code gemäß den Vertragsbedingungen funktionieren soll und dies nicht auf einen Fehler in Ihrem Code oder auf fehlende Dokumentation zurückzuführen ist, müssen Sie ihn beheben. Wenn Sie den Code lediglich als Paket angegeben haben, das nur unverändert verwendet werden soll, haben sie kein Recht, sich darüber zu beschweren, dass sie ihn nicht ändern können. Sie können sich jedoch beschweren, wenn sie den angegebenen Job nicht ausführen.

Auch wenn - ein großes Wenn - das, was geliefert wurde, nicht das war, was vereinbart wurde, ist der Kunde immer noch im Unrecht.Sie können ihren eigenen Preis nach der Lieferung nicht selbst bestimmen.Sie weisen entweder darauf hin, was nicht zu spezifizieren war, und versuchen, es zu reparieren, oder sie lehnen es vollständig ab und verlieren das Recht, von der Arbeit zu profitieren.Sie können nicht behalten, was getan wurde, sondern sich dafür entscheiden, nicht (vollständig) dafür zu bezahlen.Das ist niemals akzeptabel.
@BittermanAndy - 100% zugestimmt.Es ist jedoch sehr schwierig, etwas wiederherzustellen, das kein festes Objekt ist.Können Sie nachweisen, dass sie alle Spuren der Software von ihrem Server gelöscht haben und sie nicht verwenden?Ich sage mit Sicherheit nicht, dass das OP nicht um Geld klagen sollte.Für Software benötigt der Vertrag besondere Klauseln.Andernfalls wäre Microsoft tausendmal bankrott gegangen, weil es nicht geliefert hat.In seiner Situation ist der schriftliche Vertrag und alle schriftlich vereinbarten Änderungen alles.Es kommt darauf an, was auf uns zukommt.


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 4.0-Lizenz, unter der er vertrieben wird.
Loading...