Pytanie:
Klient nie chce płacić za projekt, ponieważ użyłem generatora kodu
porkaloca
2020-08-15 22:44:02 UTC
view on stackexchange narkive permalink

Cała sytuacja wydaje mi się bzdurna, ale potrzebuję drugiej opinii, ponieważ idzie za daleko.

Trochę kontekstu ... Jestem wolnym strzelcem, piszę w języku VBA lub c #. 75% projektów to mikroprojekty w Excelu.

W latach zbudowałem własną bibliotekę i generator kodu. Generator kodu pisze pół-standardowe klasy i metody. Rzeczy, które mają strukturę, ale często wymagają ręcznego dostosowania do ostatecznej wersji. Aby mieć modułowy kod, w którym mogę ręcznie modyfikować niektóre części i nadal regenerować inne części bez utraty zmian, generator używa tagów do owijania każdej „części” i kiedy Dostarczam prace, nie usuwam ich.

Klient był naprawdę zadowolony po dostarczeniu projektu (wszystkie ustawione frazy, teraz zrobimy to drugie. .. ”itp.). Kilka dni później otrzymałem e-mail, w którym pyta, jakie były te wiersze <Sometag> . Odpowiedziałem prawdę. Tagi używane przez generator kodu do znajdowania określonych części kodu. Interesował się VBA, więc pomyślałem, że doceniono wnikliwe wyjaśnienie.

Tydzień później wysłałem mu fakturę, a następnego dnia odpowiedział, że ponieważ nie napisałem pracy uzgodniona cena straciła ważność . Teraz chce zapłacić mniej niż połowę ustalonej ceny. (???)

Ale arkusz roboczy nadal robi to, co powinien. Generator kodu jest mój. Napisałem każdą linię i są w niej setki godzin pracy.

Co mam zrobić? Czy używanie takiego narzędzia jest niesprawiedliwe? Czy klient ma rację? W tym projekcie jest ok. 9,5 tys. Wierszy kodu. 3k z mojej biblioteki, ok. 4k z generatora, a pozostałe odręcznie. Zgadzam się, że to nie jest bardzo opisowy kod, ale nie jest to ani taki zły kod IMO. W umowie (ale także przez e-mail i połączenie głosowe) nigdy nie ustalaliśmy, ani nawet nie rozmawialiśmy na temat formy kodu. Powiedział mi, że on i jego pracownicy próbowali zrobić coś takiego, ale rezultat nie działał.

Moim największym zmartwieniem przy zbyt mocnym odpychaniu jest to, że mógłby napisać negatywną recenzję w Google MyBusiness. Nigdy nie byłem w takiej sytuacji i nie chcę, aby moja reputacja została naruszona w przypadku stosunkowo małego projektu. Odszkodowanie nie jest wystarczająco wysokie, aby uzasadnić podjęcie działań prawnych.

Komentarze nie służą do rozszerzonej dyskusji;ta rozmowa została [przeniesiona do czatu] (https://chat.stackexchange.com/rooms/111854/discussion-on-question-by-davide-tonin-client-doesnt-want-to-pay-a-project-beca).
Spóźnione witamy na stronie Davide.Zmodyfikowałem twoje pytanie pod względem długości i usunąłem kod.To jest [miejsce pracy.se], a nie [softwareengineering.se].:) Czy możesz wyjaśnić, co masz na myśli, mówiąc „on i jego pracownicy próbowali zrobić coś takiego”?Czy mają problem ze zmodyfikowaniem / ponownym użyciem dostarczonego produktu, kiedy mogą się tego spodziewać?A może to twój klient aktywnie podważa swój punkt widzenia, że „wkładasz mniej prawdziwego wysiłku”?Czy miałbyś jakąkolwiek szansę na negatywną recenzję, gdyby ją opublikował?(odpowiadanie, usuwanie recenzji, recenzowanie go)
Jaka była twoja umowa / umowa?Czy klient zapłacił Ci za Twój czas, czy zapłacił za produkt?Innymi słowy, czy byłeś w układzie, w którym nawet gdybyś nie skończył na czas, o ile twój tyłek leżał na krześle przez X godzin, dostałbyś 100% zapłaty?
@Lilienthal Przykładowy kod był przydatny do oceny, czy kod był czytelny (był).W przeciwnym razie czytelnicy będą musieli uwierzyć na słowo OP.
@CaptainEmacs Zawsze jednak musisz.Z definicji mamy tu tylko jedną stronę tej historii.:) To po prostu nieistotne informacje, jeśli chodzi o odpowiedź na wystarczająco długie pytanie.
@Lilienthal Dlatego kod był przydatny.Nawet jako ekspert niezwiązany z domeną i outsider wyglądało na to, że po chwili introspekcji będę w stanie go edytować.
Dwanaście odpowiedzi:
#1
+139
TomTom
2020-08-15 22:50:42 UTC
view on stackexchange narkive permalink

Agencja windykacyjna. On nie jest klientem, ale problemem, a ci „klienci” w zasadzie nie są warci twojego wysiłku. Faktura, udaj się do agencji windykacyjnej jak najszybciej, aby pozbyć się jej psychicznie. Nie ma sensu. To, jak coś robisz, jest Twoją decyzją, a nie jego.

W rzeczy samej.Używanie generatora kodu do pisania kodu jest analogiczne do pisania kodu zamiast wykonywania obliczeń na kalkulatorze;lub używając kalkulatora zamiast liczydła.To po prostu skuteczniejszy sposób na wykonanie zadania.Praca została wykonana, a klient musi zapłacić w całości.
Używam edytora z możliwością uzupełniania kodu.Lubię długie, opisowe identyfikatory do konserwacji, ale często używam krótkiego pseudonimu podczas kodowania, a następnie go zastępuję.Piszę skrypty dla każdego powtórzenia, którego nie mogę zmienić.Nie widzę żadnej różnicy między tymi strategiami a twoim generatorem.Wszystkie sprawiają, że kodowanie jest bardziej wydajne, nie wpisując każdego znaku.
Szuka żadnego powodu, żeby nie płacić.W przeszłości miałem takich klientów.Istnieje wiele sposobów radzenia sobie z nimi.Wszystkie wymagają dużo wysiłku i energii.
Dlatego mówię o agencji windykacyjnej.Zapisz to i po prostu wyrzuć to z głowy.Zwłaszcza w przypadku mini projektów nie ma sensu tracić na to czasu.Raczej zarabiać więcej pieniędzy.Mała wskazówka: twórz DUŻE projekty.Mój trwa od 9 do 36 miesięcy.
Powinno to nazywać się „zwolnieniem klienta”.
Agencje windykacyjne mają ogromne cięcia, myślę, że ponad połowa.
@MichaelMcFarlane, opłata pobierana przez agencję jest bardzo zróżnicowana.Moje jedyne doświadczenie z jednym to 35%.Zdobycie 50% czegoś jest lepsze niż 100% niczego.
Nie określiłeś, ile jesteś winien, ale prawnik piszący list z żądaniem lub może być bardziej skuteczny, szybszy i bardziej lukratywny niż agencja windykacyjna.Zwłaszcza jeśli masz ślad e-mailowy.
W zależności od jurysdykcji opłaty pobierane przez agencję windykacyjną idą na górę - tzn. Płaci strona wadliwa.
@BittermanAndy Rzeczywiście.Istotną częścią pisania C jest napisanie dyrektyw dla preprocesora, który jest generatorem kodu w tym sensie, że częścią procesu budowania jest uruchomienie preprocesora w celu wygenerowania rzeczywistego kodu, który czyta kompilator.Nikt się temu nie sprzeciwia.Tagi OP w komentarzach VB nie są gorsze.
Nie można tego wystarczająco poprzeć.Tacy „klienci” cię zepsują.Miałem jednego złamania mnie.Prawie dziesięć lat zajęło mi powrót do zdrowia.Nie zasługują na litość, luz czy współczucie.Weź pieniądze i wynoś się!
Absolutnie.Uważam, że jedną z głównych korzyści wynikających z braku zatrudnienia jest to, że mogę powiedzieć każdemu „klientowi”, żeby poszedł i pieprzył się, waląc w drzwi.Oczywiście, że TAKŻE wymaga przynajmniej dobrego bufora finansowego - lub wystarczającej ilości pieniędzy, aby pracować głównie dla przyjemności.Jeśli jesteś zależny od ograniczonej liczby klientów, to oni znowu są właścicielami twojej duszy.
#2
+57
Joe Strazzere
2020-08-15 23:14:33 UTC
view on stackexchange narkive permalink

Co mam zrobić? Czy uważasz, że używanie takiego narzędzia jest niesprawiedliwe?

Na twoim miejscu wyjaśniłbym klientowi, w jaki sposób użycie stworzonego przez ciebie generatora kodu pozwala na dostarczanie świetnych, ale niedrogich, rozwiązania spełniające potrzeby klientów. Zwracam uwagę, że dostarczone rozwiązanie wyraźnie spełnia potrzeby tego klienta, biorąc pod uwagę jego początkową satysfakcję.

Mogę zaproponować podarcie faktury, jeśli klient nie chce rozwiązania na obecnym etapie cenę i obiecuje na piśmie, że go wyrzuci i utraci licencję na jego używanie. To szczególnie skuteczny środek zaradczy, jeśli spodziewasz się, że klient będzie wymagał od Ciebie konserwacji w pewnym momencie. Nie chcesz dalej obsługiwać niezadowolonego klienta.

Czy klient ma jakiś sens?

Nie, klient nie ma ważnego punkt. Ponieważ klient otrzymał to, na co zakontraktował, powinien zapłacić uzgodnioną cenę. Nie powinno mieć znaczenia, jak powstał kod.

To powiedziawszy, możesz uniknąć przyszłych problemów, jeśli omówisz swój proces z przyszłymi klientami przed podpisaniem umowy.

generator używa tagów do zawijania każdej „części”, a kiedy dostarczam pracę, nie usuwam ich.

Możesz ponownie rozważyć część „nie usuwaj ich”.

Moim największym zmartwieniem w przypadku „twardego” rozwiązania jest to, że pisze on negatywną opinię. Nigdy nie byłem w takiej sytuacji i nie chcę, aby moja reputacja została narażona na szwank w przypadku stosunkowo małego projektu.

Ty decydujesz, ile warta jest dla Ciebie potencjalna negatywna recenzja .

W przyszłości będę bardziej szczegółowy, nawet jeśli nie uważam, że moje narzędzia muszą zostać ujawnione .. Ale jeśli może to pomóc w takich sytuacjach ... Jednak nie mogę ich usunąć.Konserwacja będzie znacznie trudniejsza.
@DavideTonin Możesz zaszyfrować swoje tagi [i zadeklarować je "do celów wewnętrznych / debugowania"].Również klient nie musi wiedzieć, jak wykonywać swoją pracę.
Uwaga do dodania, ponieważ nie mogę przekształcić tego w uzasadnioną odpowiedź samą w sobie - pomyśl jak duża korporacja z działem obsługi klienta.Czy potraktowaliby Google w ten sposób „Słyszałem, że dodałeś nowe narzędzia, które ułatwiają wyświetlanie reklam, więc teraz chcę płacić mniej niż kiedyś” - Czas na stare „Staramy się wprowadzać nowe sposoby dostarczania maksymalnej wartości! Inteligentna obsługa z uśmiechem - to nasze motto w ToninCorp !! ”
Świetna odpowiedź.Skoncentruję się na aspektach „szybkość” i „jakość”, gdy mówię o powodach używania generatora kodu, ponieważ klientowi wydaje się, że może zapłacić mniej, ponieważ generowanie kodu jest tak łatwe.
@DavideTonin Zachowaj wewnętrzną wersję kodu klienta * z * tagami.Ale przed dostawą do klienta rozbierz je.Jeśli potrzebujesz przyszłych zmian, wprowadź je do wersji wewnętrznej, która nadal ma tagi, a następnie ponownie wyślij wersję zmian z usuniętymi tagami.
@Polygnome Tak, to był pierwotny pomysł, kiedy zaczynałem i to jest to, co powinienem zrobić.Ale z biegiem czasu straciłem ten nawyk, ponieważ wielu klientów prosi o bardzo małe zmiany w locie po zakończeniu z Anydesk o TeamViewer, a to tworzy wiele wersji.Mój błąd
Tagi sprawiają, że kod jest lepszy i łatwiejszy w utrzymaniu, nawet bez narzędzia OP.Powinni zostać[email protected] po prostu powiedz, że są to komentarze ułatwiające czytanie i pomiń fakt, że mówisz o czytaniu maszynowym.
Dobra odpowiedź, ale zamiast prosić o odrzucenie, warto również zwrócić im uwagę - jak mówi odpowiedź / komentarz PeteCona - że skoro z perspektywy czasu są niezadowoleni z kosztu rozwiązania, anulujesz fakturę, ale wPo kolei utracisz licencję na używanie kodu.
Używanie generatora kodu nie różni się od używania innego języka z lepszą biblioteką standardową lub biblioteką zewnętrzną.To tylko narzędzie i doskonale nadaje się do tworzenia oprogramowania. Klient chce tylko wymówki, by nie płacić, tak naprawdę nie przejmuje się kodem.
#3
+32
PeteCon
2020-08-16 03:27:44 UTC
view on stackexchange narkive permalink

Poinformuj klienta, że ​​gdyby projekt został napisany od podstaw, trwałby znacznie dłużej, zawierał więcej błędów i nigdy nie zostałby dostarczony na czas. Jak on chciałby zapłacić? Karta kredytowa czy czek?

I to jest twoja ostatnia rozmowa z nim. Kontrakt miał na celu rozwiązanie problemu, który miał, w ramach budżetu i harmonogramu. Zrobiłeś to - twój błąd polegał na tym, że byłeś wystarczająco uprzejmy, aby wyjaśnić swój proces.

Nie potrzebujesz takich klientów. Jeśli masz umowę, udaj się do sądu ds. Drobnych roszczeń i otrzymaj zapłatę. Jeśli tego nie zrobisz, być może będziesz musiał to odpisać - następnym razem zdobądź umowę (uwaga: jeśli ją odpiszesz, upewnij się, że Twój prawnik poinformuje klienta, że ​​nie ma żadnej licencji na używanie napisanego przez Ciebie oprogramowania dla nich)

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

Z jakiegoś powodu ludzie uważają, że rzeczywiste są tylko koszty krańcowe, a nie koszty kapitałowe. Takie podejście widzisz wszędzie, od farmaceutyków po zatrzymywanie i rekrutację. To dziwne, ale pospolite podejście.

I stale jest błędne.

Masz znajomego prawnika? Działania prawne mogą być po prostu listem z żądaniem.

Prawdopodobnie spróbuję zapytać mojego prawnika, mając nadzieję, że jest tanie i szybkie rozwiązanie
Głównym problemem nie jest to, co liczą się koszty, ale to właśnie one liczą się w pierwszej kolejności.Jeśli powiem ci, że pobieram 100 $, a ty zgodzisz się na 100 $, jesteś mi winien 100 $.Ile mnie to kosztowało, nie ma żadnego znaczenia.Fakt, że jesteś gotów zapłacić 100 $, pokazuje, że tworzę dla ciebie co najmniej 100 $ wartości.Wartość dla ciebie pomniejszona o mój koszt jest tym, co ekonomiści nazywają „nadwyżką konsumenta”.Klient nie ma więcej prawa do nadwyżki konsumenta niż pracownik.
@Acccumulation To, co mówisz, jest prawdą w przypadku umowy o ustalonej cenie (co wydaje się, że tak było), ale nie jest to uniwersalna prawda.W przypadku niektórych rodzajów umów (np. Czas i materiały) koszty mają znaczenie.Ponadto nadwyżka konsumenta jest różnicą między wartością dla konsumenta a ceną sprzedaży.Różnica między ceną sprzedaży a kosztami producenta to nadwyżka producenta.Razem sumują się do całkowitej nadwyżki ekonomicznej, czyli ilości, którą opisałeś.
#5
+22
Kilisi
2020-08-16 04:40:23 UTC
view on stackexchange narkive permalink

Jako freelancer nie dajesz sobie miejsca na takie rzeczy. Zachowaj zwięzłość i profesjonalizm oraz żądaj zapłaty. Nie wdawaj się w dyskusję na ten temat. Po prostu prześlij ponownie fakturę z krótką informacją, że została już wynegocjowana, spełniłeś swoją stronę i oczekujesz zapłaty, a jeśli po prostu odmówią zapłaty za wykonaną pracę, poinformuj o tym.

Następnie daj mu trochę czasu, jeśli nie otrzymasz płatności w rozsądnych ramach czasowych, możesz sprawdzić, jakie kroki podjąć.

Nie denerwuj się i nie wskakuj w płonącą broń, zrób to najpierw coś jeszcze. Wiele osób próbuje uniknąć płacenia, przyzwyczajasz się do tego jako wolny strzelec.

+1 za nie omawianie, dlaczego generator kodu jest dobrym pomysłem i uzasadnioną techniką programowania.Liczy się tylko to, że PO dostarczył to, czego wymagała umowa, i powinien otrzymać płatność określoną w umowie za to.
#6
+17
Steve
2020-08-16 00:42:07 UTC
view on stackexchange narkive permalink

Jeśli on myśli, że „oszukiwałeś”, być może zamiast „generatora kodu”, lepszym opisem byłoby „skompilowanie z niestandardowego języka opisu” lub „skompilowanie z narzędzia graficznego”. Kiedy używasz samolotu elektrycznego lub maszyny CNC, prawie nie nazywasz tego „generatorem stolarki”.

Czy jego prawdziwy żal może być, że nie przekazałeś prawdziwego kodu źródłowego do przyszłej konserwacji? Możliwe, że klient jest po prostu nierozsądny, ale o wiele bardziej wiarygodnym (i rozsądnym) problemem komercyjnym może być to, że powiązałeś pracę ze swoim zastrzeżonym narzędziem, nie dając klientowi narzędzia do konserwacji.

Dobrą analogią byłoby, gdyby klient poprosił cię o zaprojektowanie silnika spalinowego, ale zamiast używać metrycznych standardowych śrub i gwintów, użyłeś jakiegoś niejasnego systemu całkowicie własnego wymyślenia, co sprawia, że ​​utrzymanie silnika w przyszłości bez klienta jest zbyt drogie odwołując się do Ciebie.

Być może nie miałeś podstępnego zamiaru korzystania ze swojego niestandardowego narzędzia i było to po prostu urządzenie zwiększające produktywność, ale nie jest niczym niezwykłym, że kod generowany przez narzędzie jest bardziej złożony lub mniej idiomatyczny niż ręcznie robiony kod.

Klient może przyjąć pogląd, że jeśli nie udostępnisz mu narzędzia do generowania, to niezależnie od czasu, jaki zaoszczędzisz na tworzeniu kodu za pomocą tego narzędzia, będzie go kosztować przyszłość w kosztach blokady dla ma zamiar, czyli koszt przepisania aplikacji od podstaw, gdy chce, aby ktoś inny ją zmodyfikował. Czy to możliwe, że taka jest prawdziwa natura skargi?

„Odpowiedział, że skoro nie napisałem pracy, uzgodniona cena straciła ważność”.[Cytat OP] W oświadczeniu nie ma nic o narzędziach lub braku możliwości konserwacji.Gdyby chcieli konserwacji, która powinna być zawarta w umowie, gdyby chcieli oprzyrządowania, musieliby zapłacić za licencję na korzystanie z narzędzia (wątpię, czy OP chciałby je sprzedać).Biorąc pod uwagę pozory, mało prawdopodobne.
@CaptainEmacs,, gdybyś był ze mną nastawiony, że tak robisz, po prostu odmówiłbym zapłaty i rzuciłbym ci negatywną opinię, jak grozi klient OP, ponieważ nie chciałbym, aby kontrahenci kłócili się ze mną, mówiąc „powinieneś był określić łatwość konserwacji” (jakby ktoś płacący za produkcję kodu spodziewał się spaghetti lub czegoś utrwalonego w lucycie) albo „pobieram dopłatę za narzędzia, których używałem”.Jeśli chciałeś, aby kod był niemożliwy do utrzymania lub obciążył mnie dodatkowymi opłatami później, * powinieneś * zwrócić na to moją uwagę wcześniej lub po prostu napisać go ręcznie w VBA, tak jak płacono ci za to.
@Steve Nie wiemy, czy kod jest nie do utrzymania.I na pewno może pojawić się kwestia współpracy i wspólnego rozwiązania problemu.Ale jeśli uważnie przeczytam pytanie, OP tworzy mikrozwiązania - są one przeze mnie interpretowane jako rozwiązania dla kogoś, kto nie wie, jak kodować, lub mógłby sam je opracować, nie jest to poważny rozwój systemu, w którym łatwość utrzymania jest domniemana.Jeśli wiedza / doświadczenie OP zawiera własny generator kodu, dlaczego mieliby go udostępniać za niewielką cenę fragmentu kodu?Cont'd.
@Steve Ponadto zbudowałem kod za pomocą generatorów kodu, który był możliwy do utrzymania, przy odrobinie wysiłku.Nie ma żadnego oświadczenia, czy tak jest, czy nie (co, przy okazji, stwierdza mój komentarz).Więc przechodzisz do wniosków.Po prostu stwierdziłem, że nie ma żadnych szczególnych wymagań dotyczących możliwości konserwacji.To nie znaczy, że tak nie jest.OP stwierdza, że opracowanie ich narzędzia zajęło lata.Czy naprawdę myślisz, że klient byłby gotowy zapłacić rzeczywisty koszt / licencję takiego narzędzia, a nie mikroprojekt?Wszystko wskazuje na to, że chcą po prostu wyjść z płacenia.
@Steve Komentarz końcowy: Właśnie zauważyłem powyższy przykład kodu OP i wygląda on całkiem czytelnie.Gdyby klient nie widział tagów, mógł nawet nie zauważyć, że w grę wchodzi generator kodu.Co potwierdza mój punkt widzenia w ostatnim komentarzu.
@CaptainEmacs, Zdaję sobie sprawę, że nie * znamy * dokładnej logiki, którą kieruje się klient.Celem mojej odpowiedzi było zasugerowanie * możliwości * uzasadnionego problemu - który mógł zostać przeoczony nawet przez PO.Zdaję sobie sprawę, że nie jest to tak proste, jak udostępnienie klientowi narzędzia przez OP - ale jest to * z własnego wyboru * użycie takiego narzędzia, że znalazł się w tej sytuacji.I nie chodzi o to, czy klient sam może utrzymywać - chodzi o to, czy w przyszłości zechce zatrudnić * kogoś innego * na utrzymanie.Zgadzam się również, że we fragmencie kodu nie ma nic złego.(1/2)
To zależy od OP, aby porozmawiać z klientem, jeśli może, i spróbować znaleźć rozwiązanie, ale wyraźnie jest coś w użyciu tego narzędzia, które jest problemem, więc OP może spytać o wyszukiwaniepytania.Jeśli obawa klienta polega po prostu na poczuciu, że został zawyżony w stosunku do faktycznie wykonanej pracy, a OP nie chce wyegzekwować uzgodnionej ceny środkami prawnymi, może on być zmuszony do uzasadnienia, dlaczego jego ceny sątypowe wzorce wykonywane na dużą skalę szybko i dokładnie to normalna praktyka biznesowa.(2/2)
#7
+11
DaveG
2020-08-16 01:03:02 UTC
view on stackexchange narkive permalink

Nie, klient nie ma racji i nie, nie zrobiłeś nic złego. Dostarczyłeś produkt, o który prosił klient, po cenie, którą klient uznał za rozsądną. To, jak zakończyłeś tworzenie produktu, jest całkowicie nieistotne.

To, co możesz zrobić, aby wygładzić klienta, to wyjaśnić, że całe oprogramowanie jest tworzone przy użyciu narzędzi ... kompilatorów, bibliotek, kodu generatory itp. Wszystkie narzędzia usprawniające tworzenie oprogramowania, podobnie jak stolarz zajmujący się przebudową domu ma narzędzia usprawniające jego pracę. Fakt, że korzystasz z narzędzi, został już uwzględniony w cenie, którą podałeś klientowi. Jeśli nie korzystałeś z generatora kodu, musiałbyś pobierać więcej, aby pokryć wzrost kosztów.

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

Krótko i szczerze ....

Cena, którą podałem, została uwzględniona za pomocą generatora kodu. Gdybym nie użył generatora kodu, musiałbym zapłacić więcej za projekt. Jeśli wynik jest niezadowalający, daj mi znać, a będziemy mogli omówić rozwiązanie.

Weź również pod uwagę możliwość, że ma on uzasadnioną wołowinę z wygenerowanym kodem. Na przykład, być może kod nie jest łatwy do zmiany.

Unikałbym częstego używania wyrażenia „generator kodu” i używałbym słów takich jak „moje narzędzia” i „mój sprzęt”, które podkreślają prawdziwą centralną rolę rzemieślnika i jego umiejętności tworzenia lub używania takich rzeczy.Inżynier budownictwa lądowego nie mówiłby o swojej koparce jako o „generatorze dziur”, ani o swojej prasie jako o „generatorze tekstu”, ani o swoim kowadle lub przyrządzie jako o „generatorze ślusarki”.Mówiąc o „generatorze kodu”, kiedy zarabia się duże pieniądze na kodowaniu, nieracjonalnie odrzuca się komputer i narzędzia jako aktywnych agentów.
#9
+5
gnasher729
2020-08-16 04:09:00 UTC
view on stackexchange narkive permalink

Jako klient (i wiedząc, jak działa rozwój oprogramowania), chciałbym w przyszłym roku przekazać Twoją dostawę innej firmie i pozwolić tej firmie na wprowadzenie zmian lub uzupełnień za normalną cenę.

Więc jeśli to, co dostarczasz, sprawia, że ​​jest to niezwykle trudne, klient ma rację. Jeśli nie jest to dużo trudniejsze z powodu twoich narzędzi, to nie. A to, że korzystałeś z narzędzi do wydajniejszego rozwoju, nie jest powodem, aby nie płacić.

Ale tak naprawdę liczy się to, co mówi umowa. Jeśli dostarczyłeś to, co mówi umowa, klient musi zapłacić.

W ogóle nie mówił o łatwości konserwacji ani wsparciu narzędziowym.W tym drugim przypadku mogli mieć licencję na narzędzie i wsparcie.Prawdopodobnie za drogie jak na tego skąpego klienta.Najprawdopodobniej po prostu myśleli, że ujdzie im to płacąc tylko za koszty krańcowe.
To brzmi jak coś do omówienia * przed * przydzieleniem komuś zadania.
#10
+5
aliential
2020-08-16 09:46:19 UTC
view on stackexchange narkive permalink

Na początku wydaje się, że brakuje komunikacji. Jeśli klient chciał, aby kod bazowy, który był łatwo edytowalny, zmienił się według jego wyboru i aby nauczyć się trochę języka VB dla siebie, to oboje nie wiedzieliście o swoich zamiarach.

Niektóre generatory kodu dają bardzo pełny i nieczytelny kod, więc nie wiem, dlaczego ludzie komentują, nawet nie widząc kodu lub prośby o pracę ... jeśli powiedział „ponieważ projektuję własny kod / projekt zintegrowany z Twoją pracą” ... Nie znamy uzgodnionej sumy i nakładu pracy. Mógł podpisać umowę i cenę w oparciu o ręczne zakodowanie własnej pracy, czyli oczekiwał więcej wykonanej pracy i ręcznego wyniku. Osobiście ostrzegłbym klienta o szczegółach generatora kodu, jeśli jest młodszym programistą bez dużych pieniędzy, który potrzebuje edytowalnego kodu.

W tym pytaniu jest zbyt wiele zmiennych i niewiadomych, aby odpisać klienta jako bez twarzy złośliwy byt, nie mamy nawet transkrypcji powodu reklamacji ani żądania kodu. Jaka była liczba linii i cena? 100 czy 10000? Byłem zaskoczony, że nikt nie zastanawia się, czy klient ma do powiedzenia ludzką stronę, czy ma emocje, czy jest młodszą osobą lub grupą, w przeciwnym razie jest to ocena jednostronna.

Klient odmówił zapłaty całej zafakturowanej kwoty.To mówi wszystko, co musisz wiedzieć.Nie sprzeciwiają się temu, co zostało dostarczone, ponieważ jest „łatwe do edycji” lub cokolwiek innego, co tu zgadniesz.Po prostu nie chcą płacić.To się dzieje cały czas, ponieważ jest wielu złych klientów.https://www.youtube.com/watch?v=oEa6PdOG2ts
Ta odpowiedź rodzi ważne pytania - generator * prywatnego * kodu jest w porządku, jeśli zostanie uzgodniony z góry, kod może być nie do utrzymania.Wydaje się, że ten OP prawdopodobnie dostarczył kod nie do utrzymania i jest to coś, co należy wziąć pod uwagę.Jednak bez zapoznania się z faktyczną umową nie można powiedzieć, a ta odpowiedź słusznie to podkreśla.Zgadzam się, że to brzmi jak klient, który to przymierza - ale są tutaj uzasadnione obawy;Domyślnym założeniem profesjonalnych programistów powinno być to, że dostarczony kod, który * ma być utrzymywany *, będzie miał rozsądną jakość.
@StackerLee Wystąpił fragment kodu autorstwa OP, który został usunięty przez moderatorów.Był doskonale czytelny.
tak, żeby było jasne, nie zamierzam kwestionować ogólnej jakości kodu OP (poza generatorem) ani profesjonalizmu, po prostu „generator kodu prywatnego” wyzwala moje poczucie pająka, które wcześniej zajmowałem się podobnymi rzeczami.
#11
  0
O.F.
2020-08-18 12:10:58 UTC
view on stackexchange narkive permalink

Nie spróbuję udzielić bezpośredniej odpowiedzi na to pytanie, ponieważ masz już tutaj wiele dobrych rad (osobiście widzę, jak klient łapie się z dowolnego powodu, aby nie płacić. Gdyby nie generator kodu, on ” Znajdź inne usprawiedliwienie”).

Moja rada na przyszłość jest jednak taka, aby skorzystać z „bezpłatnego okresu próbnego przez 30 dni, a potem musisz wpisać klucz licencyjny, nadal używaj schematu „w swoich produktach kodujących”.
Oczywiście przez 30 dni mam na myśli „czas potrzebny na otrzymanie zapłaty”, a nie dokładnie 30 dni.

Teraz, jeśli klient narzeka ... nie mają sensu!
Otrzymujesz w pełni funkcjonalną wersję próbną, aby przeprowadzić testy akceptacyjne użytkowników i zweryfikować zdolność do pracy.
Kiedy, jeśli , zapłacisz umowa zobowiązuje mnie do udzielenia Ci klucza licencyjnego ... który oczywiście dam.
Nie płacisz i nie próbujesz mnie oszukać ?! Mam nadzieję, że podobała Ci się użyteczna dla Ciebie moja aplikacja, ile mógłbyś z niej skorzystać ... gdybyś tylko zapłacił.

Jeśli możesz, technicznie rzecz biorąc, powiedziałbym, że pójdziesz o krok dalej, a kiedy okres próbny dobiegł końca i nie dostarczono żadnej licencji, zaczekaj, powiedzmy 3 dni, a następnie uruchom pełną dezinstalację / usunięcie kodu produktu z maszyny docelowej.
Nie chcesz, aby klient dokonał inżynierii wstecznej ważna licencja i nie płacisz Ci tego, co Ci się należy.

Tylko upewnij się, że Twój prawnik uczyni to wszystko legalnym w umowie.
Wiesz, „zalegalizuj” do „Kodowany produkt jest wyłączną własnością ToninCorp do momentu dostarczenia przez klienta uzgodnionej rekompensaty do ToninCorp, w którym to momencie własność produktu automatycznie przechodzi na klienta.
To nie uprawnia klienta do usług serwisowych ToninCorp bez dalszej rekompensaty ”.

Przykro mi, że zostałeś oszukany. To gówno i zdarza się każdemu z nas, nawet najbardziej strzeżonym.
Za wszelką cenę dostaniesz to, co ci się należy.
Jedna zła recenzja jest zła, prawda. Zdobycie nazwiska bycia popychaczem to koniec kariery!
Jest powód, dla którego mafia nie pozwala nikomu się uwolnić, nawet jeśli ukradli gumę! Jeśli zdobędziesz nazwisko osoby, którą można prześladować i wykorzystać ... to będą jedyni klienci, którzy pojawią się na twojej drodze.
To spirala upadku kariery.
Po prostu nie rób tego!

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

Na to pytanie nie można odpowiedzieć

Dlaczego? Ponieważ nie widzieliśmy umowy. Jeśli nie wiemy, jaka była umowa (oczywiście nazwy zredagowane), nie możemy wiedzieć, czy spełniłeś jej wymagania.

Na przykład:

  1. Jaka była umowa serwisowa?

  2. Jaki dostęp do kodu został uzgodniony?

  3. Jakie bezpłatne wsparcie przez jaki okres oferowałeś czas?


Jeśli dotrzymałeś umowy co do listu, to oni są zobowiązani do zapłaty. Jeśli tego nie zrobiłeś, musisz zapewnić tę dodatkową usługę lub oczekiwać, że zapłacą mniej.



Powiedział mi, że on i jego pracownicy próbowali zrobić coś w rodzaju to, a wynik nie działał

Nie mówisz, czy to powinno zadziałać, czy też próbowałeś ich wesprzeć w uruchomieniu. Jeśli nowy kod napisany przez klienta ma działać zgodnie z warunkami umowy, a nie z powodu błędu w kodzie lub braku dokumentacji, to musisz to naprawić. Jeśli podałeś kod jako pakiet, który ma być używany w czystej postaci, nie mają prawa narzekać, że nie mogą go zmodyfikować. Mogą jednak narzekać, jeśli nie wykonuje określonej pracy.

Nawet jeśli - duże jeśli - to, co zostało dostarczone, nie było tym, co uzgodniono, klient nadal jest w błędzie.Po dostawie nie mogą samodzielnie decydować o cenie.Albo zwracają uwagę na to, co nie było do specyfikacji i starają się to naprawić, albo całkowicie odrzucają i tracą wszelkie prawa do korzystania z pracy.Nie mogą zatrzymać tego, co zostało zrobione, ale nie chcą za to płacić (w całości).To nigdy nie jest do zaakceptowania.
@BittermanAndy - Uzgodniono w 100%.Jednak odzyskanie czegoś, co nie jest stałym przedmiotem, jest bardzo trudne.Czy możesz udowodnić, że usunęli wszystkie ślady oprogramowania ze swojego serwera i nie używają go?Z pewnością nie twierdzę, że OP nie powinien pozywać pieniędzy.W przypadku oprogramowania umowa wymaga specjalnych klauzul.W przeciwnym razie Microsoft zostałby tysiąc razy zbankrutowany z powodu niedostarczenia.W jego sytuacji pisemna umowa i wszelkie pisemne uzgodnione zmiany są wszystkim.Liczy się to, co jest w ofercie.


To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 4.0, w ramach której jest rozpowszechniana.
Loading...