Domanda:
Va bene mentire a un cliente per proteggerlo da se stesso?
raznagul
2016-11-22 18:45:44 UTC
view on stackexchange narkive permalink

Sono uno sviluppatore di software. Parte dell'applicazione su cui sto attualmente lavorando consiste nel distribuire grosse somme di denaro ai clienti del mio cliente.

Nell'applicazione gli utenti, i dipendenti del mio cliente - deve decidere e scegliere quale cliente ottiene un certo importo. Sulla base delle informazioni nel sistema, l'applicazione potrebbe fare un'ipotesi plausibile quale cliente è quello corretto. Ma poiché le informazioni potrebbero essere errate o errate, non posso esserne certo al 100%.

Ora il cliente ha richiesto di preselezionare il cliente più probabile, quindi l'utente deve solo fare clic su OK, invece di selezionare il client prima, se l'applicazione ha indovinato correttamente.

Temo che, se lo implemento, alcuni utenti farebbero sempre clic su OK, invece di pensare se il client selezionato è corretto o meno. Il che porterebbe a trasferire migliaia di euro ai clienti sbagliati.

Conoscendo il mio cliente, non ascolterà le mie argomentazioni. Quindi le mie uniche opzioni sono implementare questo cambiamento potenzialmente dannoso o mentire al cliente, dicendogli che questo è tecnicamente impossibile.

È professionale / etico mentire a un cliente per proteggerlo dal danneggiarsi, se non ascoltano un argomento, in questo o in altri scenari?

Non sei pagato per mentire.E dire a un cliente che qualcosa è "tecnicamente impossibile" ti fa sembrare stupido.
Dovresti _scrivere_ al tuo cliente che alcuni utenti potrebbero semplicemente fare clic su OK senza pensarci.Non solo _dire_ loro.Avrai una prova che il cliente è stato informato del problema.
I commenti non sono per discussioni estese;questa conversazione è stata [spostata in chat] (http://chat.stackexchange.com/rooms/48983/discussion-on-question-by-raznagul-is-it-ok-to-lie-to-a-customer-per proteggerli).
Sei ugualmente preoccupato per l'etica di ** non ** raccomandare una scelta a livello di codice?Sei preoccupato che qualche utente possa scegliere regolarmente una distribuzione che in qualche modo avvantaggia quell'utente?
Questo suona totalmente come un problema XY.Piuttosto che fare ciò che il cliente pensa sia una buona soluzione, è necessario risolvere il problema originale.Fai questa domanda su UX.SE, troverai sicuramente qualcosa di buono lì.
@MaskedMan, forse, ma non è chiaro.Forse il cliente sta chiedendo che sia (impropriamente) facile eseguire un compito, il che sarebbe fondamentalmente in contrasto con lo svolgimento sicuro del compito.In altre parole, il punto di vista del cliente su quale sia il "problema" è sbagliato, ma comunque sono il cliente, quindi guidano il lavoro.Anche se si tratta di un problema XY, potrebbe essere al di fuori del controllo dell'OP se il cliente sta dettando le decisioni di progettazione.(Non sono in disaccordo con il suggerimento di chiedere su UX; è una buona idea. Ma la vedo ancora principalmente come una domanda sul posto di lavoro, molto probabilmente).
@dan1111 Penso ancora che questo sia un brutto problema di UX.Ad esempio, i client sono elencati in ordine alfabetico in un menu a discesa.Il nome del client più comune inizia con Y. Quindi, l'utente deve scorrere tutto il tempo verso il basso.Il cliente vede giustamente questo come un problema.Naturalmente non puoi aspettarti che il cliente conosca i principi di progettazione UX, quindi sono fissati su "non sarebbe bello se il client Y fosse selezionato per impostazione predefinita in modo da non dover scorrere?"A meno che il cliente non sia un completo idiota, una migliore UX che affronti il loro punto dolente lo soddisferà sicuramente, anche se la soluzione è diversa da quella che hanno chiesto.
Il cliente non ha sempre ragione.Il cliente è sempre quello con i soldi.Decidi se preferisci avere i soldi o rifiutare il lavoro.
Questa caratteristica particolare è sicuramente possibile implementare.Se non è possibile implementarlo per te, beh, è possibile per altre persone a cui non dispiacerebbe quel lavoro.La tua preoccupazione è buona, ma anche se tutti sufficientemente simili a te rifiutassero in una situazione simile, il problema non sarebbe risolto, solo alcune risorse aggiuntive sprecate per trovare qualcuno che farà il lavoro.Inoltre, se dai all'utente una scelta c'è sempreuna possibilità di errore, quindi ** deve ** esserci un modo per affrontarlo.Concentrarsi su quel lato è più probabile che produca una soluzione produttiva.
Perché non aggiungere un avviso per l'utente (il dipendente che esegue l'attività) che tutti i fallimenti verranno REGISTRATI con l'identità del dipendente e il timestamp di quell'utente.Inoltre, otterrei un'approvazione per questa implementazione per iscritto, quindi non puoi farti causa.
Non conosco il tuo contratto, ma se un cliente mi chiede di implementare qualcosa per cui mi sono sentito a disagio, di solito alzo il prezzo in modo significativo, che di solito è una lingua che capiranno.
Registra tutto in modo che nel caso in cui il denaro venga inviato nel luogo "sbagliato" puoi dimostrare in modo definitivo che il programma ha funzionato come da istruzioni ed è stato definitivamente l'utente che ha scelto di inviare il denaro.Registra anche le probabilità utilizzate per determinare dove inviare il denaro in modo da poter rispondere alla domanda "Perché l'hai fatto?!?".Inoltre, scrivi la richiesta, stampala e chiedi al cliente di firmarla, quindi TU mantieni l'originale firmato.Fai sapere al cliente che lo stai facendo perché è una proposta ad alto rischio e desideri tutta la copertura legale che puoi ottenere.Questo potrebbe indurli a riconsiderare ...
Sono d'accordo sul fatto che questa sia più una questione di UX: il mio suggerimento sarebbe di mostrare un elenco dei clienti più probabili, ma costringere l'utente a fare la scelta da solo (o selezionare un client non nell'elenco).Ma per quanto riguarda la domanda sul mentire deliberatamente a un cliente, no, no e mai.
La registrazione era già stata menzionata.Se sei davvero preoccupato per il monitoraggio attivo dei "robo approvatori" potrebbe anche essere qualcosa da suggerire.(Quante decisioni veloci sono state prese, percentuale OK nella sessione precedente, ...)
Non mentire mai al cliente, non è stupido come pensi e può capire che stai mentendo ma non perché lo stai facendo.Inoltre, se si tratta di un problema di UX, prova una soluzione di UX come portare non uno ma 3 risultati molto probabili per sceglierne uno in un clic.
Ho avuto un problema simile con un cliente che voleva cambiare l'indicatore della scala di grigi in uno rosso / verde, "per i daltonici".Potresti dare loro una piccola lettura di base.Ce ne sono tantissimi là fuori.
Sembra un problema con la progettazione del software e non con il client.Ci dovrebbe essere almeno un modale di conferma con un secondo o due cooldown prima che il pulsante "Sì" sia cliccabile.Qualunque cosa oltre a questo non è un tuo problema.Anche se il tuo cliente ti dice di rimuovere quella limitazione, non è un tuo problema.Dai il tuo suggerimento e poi fai quello che ti viene detto perché è quello per cui sei pagato.Un errore del cliente non metterà una pistola nelle mani di un bambino soldato.Non c'è un modo logico in cui potresti essere responsabile di qualche violazione etica qui, a meno che, ovviamente, non menti al tuo cliente.
Chiedi al tuo cliente che tipo di test dovrebbe essere incluso per evitare il noto problema di fare clic automaticamente su "conferma" anche quando la domanda è "elimina davvero TUTTI i tuoi file ???".In questo caso si tratta di "inviare davvero 10.000 euro a NigerianScammer ???"ma il fallimento cognitivo è lo stesso.
Un problema piuttosto sgradevole con i "sistemi esperti" in cui il software viene utilizzato per prendere decisioni con gravi conseguenze è che, data una scelta, gli operatori generalmente rimandano alla decisione della macchina anche se si sospetta che la scelta della macchina non sia corretta.Il motivo è a causa di come funziona "colpa".Se l'umano sovrascrive la macchina e si rivela sbagliato, si prende la colpa e subisce le conseguenze.Se la macchina è sbagliata, l'essere umano può indicare la macchina e assolvere se stesso dalla responsabilità.Non c'è un modo semplice per aggirare questo problema, la soluzione migliore dipende dalla tua situazione specifica.
Quattordici risposte:
Michael Karas
2016-11-22 19:10:19 UTC
view on stackexchange narkive permalink

Non dovresti mai mentire a un cliente. Del resto, in genere non è una buona idea mentire a nessuno, ma questa è una questione etica più ampia da considerare ulteriormente in un luogo diverso.

Cercare di dire che è "impossibile per la programmazione" fare la probabile scelta indovinare risulterebbe così ovviamente sbagliata che non dovresti nemmeno andarci. Se il cliente può ipotizzare lo scenario dai dati a portata di mano, è possibile che un programma venga scritto per giungere alle stesse conclusioni.

Nel mio lavoro, quando mi imbatto in situazioni simili, normalmente implementerò ciò che il cliente desidera, ma lo aiuterò anche a capire che potrebbero essere necessarie ulteriori misure per ridurre gli errori. In questo scenario il cliente suggerisce qualcosa che migliorerà la produttività del flusso di lavoro. Questo può aiutare a risparmiare tempo sfogliando una finestra di dialogo dell'elenco clienti per selezionare manualmente quello specifico. D'altra parte, una volta che è stato effettuato il commit per inviare la transazione, la programmazione potrebbe notare che è stata utilizzata la scelta del campo compilato automaticamente e che l'importo totale è grande e quindi visualizzare una conferma "sei sicuro" che mostra i dati pertinenti. Un rapido clic di conferma difficilmente interrompe affatto il flusso di lavoro.

Quindi, in conclusione, lavora con il cliente per trovare buone soluzioni invece di provare a dare il tuo giudizio su ciò che è giusto o sbagliato nelle sue idee.

Vorrei solo aggiungere per assicurarmi di avere per iscritto i tuoi dubbi su ciò che potrebbe causare l'implementazione di questo cambiamento.Questo serve solo a limitare la tua responsabilità se qualcosa di brutto accade effettivamente a causa di ciò e cercano di incolparti, quindi assicurati di inviare loro le tue preoccupazioni via email (e cerca di convincerli a rispondere all'email dicendo che vogliono che tu lo facciaComunque).
Hmm non sono sicuro del "generalmente non è una buona idea mentire a nessuno".Sono un po 'un fan delle bugie insignificanti che semplificano la vita di qualcuno (ad esempio, se qualcuno mi chiede di riparare la sua stampante, dirò spesso che non so come farlo).Ma sì, salviamo quella discussione per altrove online
@Tim Concorda sulle bugie potenzialmente utili / buone (?) In circostanze appropriate.Mentire ai clienti, tuttavia, sembra una cattiva idea, soprattutto in un caso come quello attuale in cui qualsiasi programmatore competente potrebbe probabilmente confutarlo facilmente.
@Tim che non deve essere una bugia, tecnicamente non sai come riparare la stampante fino a quando non hai indagato su cosa c'è che non va.Quindi non sai ancora se puoi aggiustarlo.
"Se il cliente può ipotizzare lo scenario dai dati a portata di mano, è possibile che un programma venga scritto per giungere alle stesse conclusioni".https://xkcd.com/1425/
In questo caso il problema non è tuo, ed ecco perché: 1. Un dipendente che fa clic su "OK" per trasferire migliaia di euro a un'azienda (ragionevolmente casuale) senza pensarci è il problema principale.2. La tua UX lo consente.3. Il tuo cliente ha richiesto l'UX anche contro il tuo suggerimento. Non si tratta di un cliente che ti chiede di fare qualcosa di illegale.Non è un cliente che ti chiede di fare qualcosa di non etico.È un cliente, che è stato abbastanza avvertito, che ti chiede di fare qualcosa di non ottimale.Finché hai registrato i tuoi reclami per iscritto / e-mail, sei pronto.
Penso che questa risposta copra un buon punto su cui volevo esporre: oltre a evidenziare il problema e seguire la funzionalità, potresti anche fornire un processo di implementazione più ampio.Cioè, se viene utilizzata la scelta di rilevamento automatico, forse presentare un altro schermo intero, anziché una semplice finestra di dialogo.Quest'altra schermata potrebbe eseguire altri algoritmi per controllare gli attributi del cliente che potrebbe * opporsi * a sceglierli, presentati solo come una confidenza inferiore poiché erano ovviamente annullati nella schermata precedente.
Potrei quasi vederlo come la fase successiva in un processo Minmax.Si spera che questo processo in 2 fasi possa essere utilizzato per alleviare eventuali ulteriori preoccupazioni a cui si pensava quando si selezionavano i clienti in base a determinati attributi che potrebbero ancora essere fattori influenti in determinati casi limite nel dominio del problema.Vedo come questo processo potrebbe diventare fastidioso quando viene utilizzatocostantemente, ma pensiamo anche a una soglia quando quegli algoritmi non vengono utilizzati.È tutto un po 'carico di intelligenza artificiale, ma sembra che tu stia già iniziando a lavorare in quello spazio.
Erik
2016-11-22 18:52:45 UTC
view on stackexchange narkive permalink

Non è professionale mentire ai propri clienti per proteggerli dal farsi del male. Il tuo cliente non è un bambino, è un adulto e ci si aspetta che sia autorizzato a prendere le proprie decisioni nella vita. Compresi quelli che costeranno loro reputazione, denaro o la loro azienda.

Pensaci se fosse professionale / etico farlo. Vorresti che il tuo medico ti mentisse sui rischi del fumo per "proteggerti da te stesso"? Vorresti che il tuo meccanico ti mentisse sui rischi di non aggiustare il tuo watchamacallit rotto per "proteggerti da te stesso"?

Penso che vorresti che fosse una tua decisione informata. E penso che il tuo cliente vorrà lo stesso.

+1, sicuramente dovrebbe dirgli i rischi in modo che possano prendere una decisione informata, quindi lasciare la decisione a loro.
... e ** ottieni la loro risposta per iscritto. ** CYA e assicurati che quando quella particolare modalità di guasto alza la testa tu abbia un "te l'avevo detto" legale.
+1 Le persone IT, in generale, tendono ad essere molto intelligenti, quindi c'è la tendenza a ignorare le capacità degli altri.Dobbiamo ricordare che non possiamo prendere decisioni per gli altri in base al fatto che siamo intelligenti.Il nostro lavoro, tuttavia, è proporre e sviluppare soluzioni, non prendere decisioni per gli altri.
@alephzero Hai ragione e sto invecchiando.Più di 30 anni fa, dovevi davvero sapere cosa stavi facendo, oppure potresti ottenere dei risultati molto interessanti dal tuo codice JCL o C, e nessuno oserebbe chiamarti "code monkey".Oggi ... non così tantoj
Cosa ti fa pensare che sia giusto mentire a un bambino per proteggerlo dal farsi del male?
@Mindwin cosa ti fa pensare che io faccia?La parte "non un bambino" si riferisce a "così autorizzato a prendere le proprie decisioni", non la parte bugiarda.
@JaredSmith Esattamente.Il semplice fatto di chiedere qualcosa per iscritto è spesso sufficiente per far capire alle persone che la tua preoccupazione è seria, a quel punto si tireranno indietro.Ma se non lo fanno, non fermarti a prendere la loro decisione per iscritto.Fargli firmare un accordo di indennità legale redatto da un vero avvocato.
NGL, mi piacciono molto le altre persone che prendono decisioni per me.Se il mio meccanico non mi stava sfruttando, sono felice che dicano che è necessaria una riparazione, anche se è facoltativa: mi dà una cosa in meno a cui pensare.La decisione principale che odio è "vorresti una borsa".Ho preso una decisione ancora più complicata dall'intero addebito di 5 centesimi ora ... se non avessero fornito le borse, la mia vita sarebbe migliore.
@Erik Potrei aver letto la punteggiatura sbagliata.Scuse.
Mi aspetterei che un medico si rifiutasse di darmi un trattamento che non era sicuro o inefficace per me e che mi offrisse solo trattamenti ragionevolmente efficaci.
@Qsigma Una cosa è dire "Credo che non funzionerà quindi mi rifiuto di farlo" e un'altra cosa è mentire al riguardo.
Erik: sono d'accordo con il tuo commento.Questa è la terza via dell'OP: dire la verità ma rifiutarsi di fare il lavoro, per proteggere il cliente da se stesso.(Il mio commento era in risposta al tuo paragrafo finale: "Penso che vorresti che fosse una tua decisione informata.")
nvoigt
2016-11-22 18:53:58 UTC
view on stackexchange narkive permalink

Il modo professionalmente / eticamente corretto di farlo sarebbe informare accuratamente il cliente di tutti i rischi. Quindi lascia che sopporti questi rischi e lascia che prendano una decisione informata. Non hai il compito di effettuare valutazioni del rischio o decisioni aziendali. È il loro lavoro. Non vuoi che ti dicano come programmare, non dirgli nemmeno come fare il loro lavoro.

Prepara una dichiarazione in cui sia chiaro che vedi quel rischio, in termini semplici in modo che può capirlo. Se vuoi sottolineare l'importanza di questo rischio, puoi provare a farglielo sottoscrivere. Invitali a scrivere qualcosa come "Ho letto e compreso questo rischio, lo voglio comunque implementato".

Se l'unico rischio è che l'azienda perda denaro, questo è tutto ciò che puoi o dovresti fare. Probabilmente è un barattolo di vermi completamente diverso se l'imprenditore sta rischiando qualcosa che non gli appartiene (ad esempio la salute del cliente), ma questa è una domanda diversa e dovrebbe andare da un professionista legale.

Sì, una valutazione del rischio è professionale, mentire no
"_ Fagli scrivere qualcosa come ..._", sembra infantile.Hai sicuramente cosa documentare che questa è stata la loro decisione, ma farglielo scrivere, non ne sono così sicuro.
@mikeazo Sei mai stato in quella posizione?I capi mi hanno detto: "L'ho detto? Non ricordo. Non l'ho mai detto".più spesso di quanto mi interessi ricordare.* Puoi * documentare tutto ciò che vuoi, ma sono solo le * loro * parole che li faranno ricordare.Non è necessario che sia scritto nel sangue del loro primogenito.Una semplice email in risposta al rischio dicendo "Lo so, fallo comunque".va benissimo.Finché li hanno scritti.
Un buon consiglio e l'unica opzione professionale.La semplice implementazione consentirà lo scenario da incubo che immagina.Mentire lo farà sembrare sciocco o incompetente su tutta la linea quando ciò che afferma di essere impossibile sarà dimostrato che non lo è.Fare un'analisi del rischio, metterla per iscritto e far riconoscere al cliente il rischio è l'unica cosa che lo protegge sia legalmente che professionalmente.Ottima risposta.
È fondamentale che riconosca il rischio per iscritto.Esiste la possibilità che sorgano problemi legali da questo e devi proteggerti.Inoltre, chiedendo una conferma scritta di essere pienamente consapevole del rischio, molte persone si renderanno conto che potrebbero trovarsi in guai legali se il rischio si verifica.Ho visto questo approccio indurre le persone a rinunciare a idee particolarmente stupide quando hanno scoperto di assumersi il rischio.
Inoltre, c'è anche una valutazione del rischio di svolgere l'attività anche dopo aver informato il cliente dei problemi.Non è necessario continuare a sviluppare un prodotto in una direzione potenzialmente rischiosa / dannosa semplicemente perché il cliente insiste.
@mikeazo è una misura piuttosto estrema e può danneggiare la reputazione dell'OP presso il cliente.Ma se il rischio è estremo, può avere senso.Se l'OP pensa che questa sia un'idea ** davvero cattiva ** e davvero non vuole procedere, questo è un modo molto chiaro per comunicarlo.E se il PO teme legittimamente ripercussioni legali, è molto giustificabile.
@dan1111, forse c'è una formulazione migliore anche se è meno infantile e sarebbe meno offensivo per il cliente.Personalmente metterei insieme un documento sui requisiti che richiede un sì o un no su vari requisiti.Un requisito dovrebbe essere una proposta di un modo per mitigare questo rischio.Se il cliente non firma quello, lo fai documentare.
@nvoigt, Mi piace la tua idea di email.L'OP dovrebbe inviare un'e-mail indicando la propria preoccupazione e il possibile rischio che il cliente sta assumendo e chiedere se è necessario implementare una soluzione.Il cliente risponde di non farlo.Caso chiuso.Se uno dei miei appaltatori cercasse di costringermi a firmare una dichiarazione del tipo "Ho letto e compreso i rischi che hai presentato, ma voglio che sia implementata nel modo originale" sarebbe un insulto.L'OP non ha idea se il cliente abbia già studiato il problema, ecc. Perché trarre un grosso problema da qualcosa che il cliente ovviamente crede non sia un grosso problema?
@mikeazo Perché l'OP crede che sia un grosso problema, altrimenti non sarebbe qui.Personalmente, non vedo perché qualcuno dovrebbe essere insultato riconoscendo un rischio.L'ho fatto innumerevoli volte, praticamente ogni volta che visito un medico per il trattamento.Non mi sento insultato, mi sento informato.Se non ti piace la mia formulazione, ovviamente varierà * molto * tra l'incontro con un cliente di maglietta e pantaloncini e un gruppo di persone in giacca e cravatta.Non era intesa come citazione diretta.Sentiti libero di scegliere una formulazione adatta al tuo cliente.
@mikeazo Non ho interpretato la frase nella domanda come una formulazione proposta reale, solo il sentimento che esprime.Penso che dovrebbe suonare come un documento legale professionale.Ma convincere il cliente a firmare attivamente qualcosa che ti rilascia e rifiutarsi di procedere a meno che non sia firmato, è più potente che documentare semplicemente che ha insistito sul cambiamento.
Dmitry Grigoryev
2016-11-22 19:46:59 UTC
view on stackexchange narkive permalink

Questa non è la tua chiamata da fare. Forse il cliente ha dipendenti ben preparati che hanno insegnato a prestare attenzione. Forse l'errore non è così catastrofico come immagini (ad esempio, la mia banca mi dà 12 ore per annullare qualsiasi transazione che effettuo e trasferimenti insolitamente importanti possono richiedere diversi giorni per essere cancellati). Non dare per scontato che il tuo cliente sia stupido al punto che devi proteggerlo da se stesso.

Informare il tuo cliente del problema è stata una buona cosa da fare. Meglio ancora, potresti suggerire soluzioni che secondo te possono ridurre il rischio. Ad esempio, puoi suggerire che il programma presenti un elenco in cui i clienti sono ordinati per rilevanza, ma l'utente deve ancora fare clic sulla prima riga per confermare. Ma dovrai lasciarlo decidere.

Alla fine, non puoi vendere un'arma a qualcuno e assicurarti che non si sparino sul piede. Vendere armi scadenti non è una ricetta per la sicurezza.

"La mia banca mi dà 12 ore per annullare qualsiasi transazione che effettuo".Questo è l'approccio giusto ed è stato discusso su UX.se per quanto riguarda la possibilità di ripristinare i file eliminati di recente come una buona idea.Piuttosto che mentire al suo cliente, OP dovrebbe sottolineare i rischi e offrire di implementare un ritardo di 5 minuti e un pulsante Indietro per rendere più facile interrompere la transazione prima che venga eseguita.Una grande percentuale di errori in cui l'utente fa clic avventatamente vengono annotati e rimpianti immediatamente e possono essere rilevati in questo modo.
È ** sempre ** `la tua chiamata da fare` a meno che forse non sia un'azione chiaramente contratta.(E anche in questo caso le decisioni etiche potrebbero essere sufficienti per rifiutarsi di continuare.) Seriamente, se il tuo cliente ti chiede di aiutare, ad esempio, l'appropriazione indebita, accetteresti sempre?In caso contrario, la linea ** sempre ** è strettamente al punto di responsabilità legale?E se no, allora come decidere?E vendere armi a clienti incompetenti è sicuramente una questione etica per i venditori responsabili.Vendere prodotti scadenti di qualsiasi tipo non è una ricetta per la sicurezza.
-1 il primo paragrafo sembra consigliare all'OP di presumere che il cliente sappia meglio, il che potrebbe essere sbagliato.Spesso lo sviluppatore ha un'idea molto migliore delle implicazioni di una scelta di progettazione del software rispetto al cliente.Inoltre, come sottolinea @user2338816, rifiutarsi di fare il lavoro è sempre un'opzione.Ad un certo punto, uno chiaramente * dovrebbe * rifiutarsi di fare il lavoro (ad esempio se ti dicono di hackerare il database di un concorrente o di fare qualcosa che mette a rischio vite umane ...).La domanda è se questo caso sale a quel livello.
Grieg Pedersen
2016-11-23 05:03:55 UTC
view on stackexchange narkive permalink

Assolutamente, positivamente, non mentire mai a un cliente. Punto. L'unica eccezione è proteggerti da azioni deliberatamente dannose (per te) da parte del cliente, ma in tal caso faresti meglio a terminare la relazione poiché non puoi fidarti di loro.

cliente che non ha accettato il mio consiglio e ho rifiutato i loro soldi perché non potevo assumermi la responsabilità. Hanno abbandonato sei mesi dopo.)

Gli utenti commettono errori tutto il tempo. Devono disporre di processi aziendali per gestire questo tipo di errore. Chiedere cosa sono e come si inserisce il cambiamento.

Inoltre, incoraggerei caldamente l'opzione "primi 3" o "primi 5" o "migliori qualunque cosa il cliente voglia". Quando chiedi informazioni sulle loro pratiche commerciali per correggere questi errori, suggerisci che la tua comprensione della neurologia e psicologia umana suggerisce che dare una sola opzione comporterà un aumento del tasso di errore poiché il suggerimento principale non sarà sempre quello giusto, ma più spesso è giusto più persone presumeranno che sia giusto. In altre parole, migliore è la tua prima ipotesi, più spesso riceverai errori perché le persone si fidano anche quando è sbagliato.

Xavier J
2016-11-22 21:07:09 UTC
view on stackexchange narkive permalink

No, non va bene mentire, perché la tua reputazione è importante. Custodiscilo con la tua vita. La reputazione ha a che fare con le cose che fai, ma anche con le cose che permetti al tuo cliente che potrebbero costare te in seguito, in termini di responsabilità professionale.

Puoi " essere costretto a fare il lavoro. Ricordalo.

Puoi anche specificare le condizioni in base alle quali sarai disposto a fare il lavoro. In questo caso, hai una funzione ad alto rischio che il tuo cliente vuole che venga eseguita in un certo modo. In una certa misura, va bene. Il tuo cliente non sta chiedendo nulla di illegale o non etico, solo stupido. Quindi ecco cosa fare:

  • Requisiti funzionali. TU documenti la funzionalità specifica che il cliente richiede, come la intendi tu.
  • Valutazione del rischio. Ancora una volta, TU documenta i potenziali rischi che prevedi che il cliente possa incontrare una volta che questo sistema sarà operativo
  • Rinuncia. Questa è la parte importante . Prima di eseguire il lavoro, chiedi al tuo cliente di firmare una rinuncia di responsabilità per tutto ciò che va storto a seguito dell'implementazione dei requisiti di funzionalità che hai delineato nella prima fase. Dovrebbe indennizzare - in particolare: tu, per nome; tutti gli altri nella tua azienda che lavorano su questo pezzo, per nome; l'azienda; la tua compagnia di assicurazioni (presumo che tu abbia un'assicurazione!) contro qualsiasi reclamo legale. Fai esaminare la tua rinuncia da un avvocato e assicurati che sia a tenuta. Non eseguire il lavoro a meno che il cliente non si disconnetta.

Se salti questi passaggi critici, potresti essere aperto a molte esposizioni finanziarie come risultato.

Vietnhi Phuvan
2016-11-22 20:29:46 UTC
view on stackexchange narkive permalink

Hai già spiegato i rischi al cliente e il cliente ha insistito affinché tu facessi le cose a modo suo.

Fallo a modo suo. In questo caso, segui la regola d'oro: chi ha l'oro fa le regole. Il cliente paga per i tuoi servizi e finché paga, i tuoi servizi sono ciò che ottiene. Questa relazione transazionale termina nel momento in cui il cliente smette di pagare.

Sei l'appaltatore del cliente. Non sei la baby sitter o il genitore del cliente. I clienti hanno il diritto di ignorare le tue obiezioni e prendere le loro decisioni sbagliate. Obiettivo per la cronaca ed entrare in modalità CYA documentando la tua obiezione.

NON mentire mai al cliente per qualsiasi motivo, perché se la tua bugia viene mai documentata, ti perseguiterà ovunque tu vada. La tua credibilità personale e professionale verrà colpita e questo avrà un impatto sulla tua capacità di guadagnarti da vivere.

Proteggere le persone da se stesse non vale la pena, soprattutto se il risultato sarà che sarai incolpato di tutto ciò che va storto. E più ti difendi, più sembri losco, non importa quanto siano validi o validi i tuoi argomenti. Non sei un missionario, non sei un benefattore, non hai il compito di salvare anime e di certo non vuoi finire come un martire, in particolare un martire per una causa a cui non credi in. Lascia perdere.

In realtà, un buon genitore cercherà di aiutare i suoi figli a evitare gli errori, ma alla fine permetterà che vengano commessi degli errori affinché il bambino possa imparare da loro.
@Agent_L - Quale genitore permetterebbe al proprio figlio di commettere un errore che potrebbe farlo investire da un autobus?Come ho detto, l'OP non è il genitore del cliente.È responsabilità del cliente assicurarsi di non essere investito da un autobus.
Essere investito da un autobus è un esempio piuttosto drammatico, ho pensato più a bruciarmi le dita giocando con i fiammiferi.
Crowley
2016-11-23 20:04:32 UTC
view on stackexchange narkive permalink

Non mentire loro. Di 'loro che puoi fare quello che vogliono che tu faccia, ma non lo vuoi fare. Spiega loro il motivo e suggerisci soluzioni diverse, più a prova di errore (o a prova di pigro).

Conoscendo il mio cliente, non ascolterà le mie argomentazioni.

Forse stai usando un linguaggio che non possono capire. Suppongo che siano focalizzati sull'economia, quindi profitti, rischi e commissioni sono argomenti che capirebbero.

  1. Usa il loro flusso di lavoro effettivo, il flusso di lavoro che richiedono e il flusso di lavoro che suggerisci.
  2. Stimare il tempo per elaborare, ad esempio, 1000 transazioni e moltiplicarlo per lo stipendio del Joe medio.
  3. Calcola i risparmi dei loro e tuoi miglioramenti rispetto al flusso di lavoro effettivo.
  4. Stima la probabilità di false supposizioni e plausibilità di una transazione sbagliata.
  5. Stima la perdita finanziaria derivante dalla transazione sbagliata: denaro sprecato, reputazione danneggiata, contraente perso, ...
  6. Moltiplica la perdita finanziaria per la sua probabilità e 1 000 (dimensione del campione)
  7. Confronta i salvataggi del passaggio 3 e le perdite del 6. Sottolinea che le perdite stimate sono le perdite minime prevedibili.
  8. Fai tutto scritto e costringerli a firmare la dichiarazione "Ho letto e compreso". Discuti con il tuo avvocato preferito su come formulare l'affermazione di essere a prova di avvocato creativo.
  9. Fai in modo che accetti che ti assumi la responsabilità del funzionamento della funzione come richiesto, ma non ti assumi alcuna responsabilità per il risultati della funzione.
  10. Se vogliono ancora avere questa funzione scadente e ha rovinato i loro affari, se lo sono meritato. E hai una carta per difenderti.
bishop
2016-11-23 02:29:49 UTC
view on stackexchange narkive permalink

Non mentire, piuttosto concorda con il bisogno di efficienza del cliente e suggerisci salvaguardie di implementazione per l'azione:

  • aggiungi la transazione a una coda, dando all'utente il tempo di riflettere e modificare o eliminare la transazione

  • supportano l'annullamento lineare, come si troverebbe nei prodotti finanziari transazionali

Idealmente, i clienti coglierebbe questi scenari e avrebbe stabilito protocolli per affrontarli. Quando non lo fanno, un architetto dovrebbe vederli e sviluppare protocolli funzionali. Quando uno sviluppatore coglie la scappatoia, non c'è davvero altra scelta che alzare una bandiera, progettare una poltrona o semplicemente costruire quella dannata cosa.

Wayne
2016-11-23 02:47:34 UTC
view on stackexchange narkive permalink

Sono d'accordo con tutte le risposte "non mentire al cliente", ma ho una soluzione forse diversa: potresti, senza impegnarti troppo nello sviluppo, tenere traccia delle decisioni prese? Con che frequenza viene accettata l'impostazione predefinita? Per quantità di trasferimento, per ora del giorno, per utente, ecc. Ciò potrebbe fornire loro un modo per prendere decisioni lungo la strada: modificare il software o aumentare la formazione, ecc.

Puoi Non li eviti di prendere decisioni sbagliate sull'argomento, ma puoi fornire loro informazioni sufficienti che possano dire: a) se la loro decisione non funziona come si aspettano eb) quali errori sono dovuti agli utenti e quali sono gli errori a causa dell'algoritmo di scelta predefinito.

Solo un pensiero.

Peter Cordes
2016-11-23 04:12:39 UTC
view on stackexchange narkive permalink

Spiega le tue preoccupazioni con il design dell'interfaccia utente suggerito. Salvarsi dai propri errori spiegandoli e aiutandoli a risolvere il problema in modo diverso fa probabilmente parte del tuo lavoro di esperto. Salvarli da se stessi mentendo è meno utile in molti modi. Il più grande è che non li induce in quanto è pericoloso, quindi potrebbero semplicemente trovare qualcun altro per implementare la loro cattiva idea.

Se sono in gioco vite e pensi che il tuo cliente farà qualcosa questo metterà seriamente in pericolo altre persone (o l'ambiente, o qualsiasi altra cosa), quindi forse bloccarle mentre contatti un'autorità. Se si danneggiano solo da soli, allora fai del tuo meglio per spiegare il potenziale di danno.


Come esempio di come risolvere questo problema in un modo che è meno probabile che porti a cattiveria:

invece di visualizzare solo una migliore corrispondenza con la più alta probabilità secondo la tua euristica, fai apparire i primi 3 .

Potresti o potresti non voler mostrare un qualche tipo di "livello di confidenza" nella tua ipotesi, come la selezione A: 95, la selezione B: 44, la selezione C: 33. Potresti volerlo evidenziare quando la seconda possibilità più alta è vicina alla più alta, come A: 45, B: 40, C: 30. (IDK se vuoi ridimensionarli a probabilità percentuali o mostrarli come punteggi indipendenti dalla tua euristica.)


As @bishop fa notare, mettere in coda la transazione per un breve periodo consentirà un annullamento, poiché è facile rendersi conto di aver fatto clic sulla cosa sbagliata mentre la fai clic se stai operando in parte in automatico -pilot.


PS, questa parte della risposta è un workarou nd per questo caso specifico e non fa parte della risposta del caso generale.

Charles Addis
2016-11-23 04:30:27 UTC
view on stackexchange narkive permalink

Non mentirei mai al cliente. Invece dovresti dare loro un'alternativa. La migliore alternativa a cui posso pensare sarebbe che l'utente digiti il ​​nome del client invece di premere semplicemente "ok". Ciò costringe l'utente a usare piuttosto il proprio cervello e impedisce una sorta di errore di clic. Puoi anche dare loro una pagina di conferma dopo che hanno digitato il nome del cliente dove fa clic su "ok" e dare loro la possibilità di cambiare la loro risposta, se necessario. Ecco un elenco per te, anche se un diagramma di sequenza funzionerebbe molto meglio.

Processo:

  1. L'utente fa clic su una pagina che decide quale client è più probabile
  2. La pagina presenta il nome del client all'utente, ma l'utente deve digitare il nome del client per continuare. Facoltativamente, possono fare clic su "No" (o un pulsante con un altro testo) per inserire un diverso nome client del programma non era corretto. Se fanno clic su no, digitano manualmente il nome del client, il sistema lo confronta con un client esistente o solleva un'eccezione se nessun client corrisponde e gestisce questa eccezione con garbo.
  3. Dopo aver digitato il nome, il client fa clic "ok".
  4. Questo porta il cliente a una pagina di conferma, che gli dice a quale cliente sta inviando denaro. Fanno clic su "ok" qui e il denaro viene inviato.
bdsl
2016-11-23 02:26:52 UTC
view on stackexchange narkive permalink

Non mentire al cliente. Spiega loro quali sono le tue paure riguardo a questa funzione.

Se ritieni che sia appropriato, potresti decidere di rifiutarti personalmente di implementare questa funzione. Sì, è la scelta del cliente che lo voglia o no, ma è anche una tua scelta come programmatore se vuoi svilupparlo. Ovviamente dovrai considerare attentamente i termini del contratto se scegli di rifiutare di fare ciò che il cliente vuole in questo caso.

Nel discorso "non solo code monkeys", Martin Fowler ha sostenuto che i programmatori dovrebbero avere di più riguardo alle conseguenze del loro lavoro.

Se i programmatori avessero un'organizzazione di appartenenza professionale più forte, come fanno professioni come avvocati, medici, architetti e ingegneri, saremmo in una posizione più forte per rifiutare alcune richieste sul base che sono contrari agli standard professionali.

Joshua
2016-11-28 04:41:09 UTC
view on stackexchange narkive permalink

Questa domanda si basa direttamente sulla CS e sull'etica. Questa è probabilmente una risposta scadente per il posto di lavoro, ma una buona risposta se questa domanda è stata posta su stackoverflow o CS. Affermo che la domanda non si adatta bene al posto di lavoro e la risposta è adatta alla domanda. Di conseguenza, la risposta si applica alla domanda esatta posta ma ha una portata molto limitata alle domande che sembrano corrispondere.

Hai ragione quando dici che l'ipotesi non sarebbe accurata al 100%. Diciamo d'altra parte che possiamo fare meglio della maggior parte degli umani quasi tutto il tempo. (Se questo non è il caso, il resto di questa risposta è una sciocchezza totale.)

Per affrontare la situazione hai bisogno di una funzione di fiducia che dica quanto è buona la tua ipotesi. Questa non è una cosa banale da ottenere, ma quasi sempre esiste. L'idea è di sapere con sicurezza quanto sia affidabile la tua ipotesi in ogni caso specifico. Se la tua ipotesi è sufficientemente affidabile, visualizza l'ipotesi. Se l'ipotesi è altamente affidabile, seleziona l'impostazione predefinita in modo che OK funzioni da solo. Se la tua ipotesi è inaffidabile, non visualizzarla.

Per motivi che implicano responsabilità, preferisco impostare l'affidabilità per mostrare all'80% e affidabile per impostazione predefinita dal 99% al 99,9%. Presupposto: l'1% dell'inserimento manuale dei dati non è corretto. Inoltre, codenoir è molto corretto riguardo alla rinuncia. Non devi essere responsabile per le decisioni sbagliate dell'utente. Anche se puoi essere molto meglio degli umani quasi sempre, non puoi permetterti di assumerti la responsabilità. Le persone non tollerano l'errore della macchina in tribunale tanto quanto l'errore umano.



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...