Devo caricare un cliente per gli errori che ho fatto? [duplicare]

6

Dopo aver sviluppato un sito Web per un cliente, mi sono reso conto che il tempo di caricamento è troppo estremo e alcune modifiche devono essere apportate. I tempi di caricamento estremo sono attribuiti ai framework di css / js gonfiati che ho utilizzato. Gran parte del codice incluso in questi framework non viene nemmeno utilizzato e sta rallentando il tempo di caricamento del sito. Il mio piano è quello di liberarmi del framework css e utilizzare solo un framework css reattivo di bare bones che è solo come una dimensione di 1kb, e basta aggiungere solo il codice necessario. Quindi la mia domanda è, dovrei caricare il cliente per il back-stepping e correggere questo errore?

    
posta MikeTheCoder 25.07.2012 - 17:40
fonte

7 risposte

15

A mio parere, e per favore non considerare questo come una critica nei tuoi confronti - dopotutto non ho la minima idea di chi sei, di cosa sia questo sito Web ecc. :

Non puoi pagare per questo e per evidenziare il lavoro al tuo cliente, anche la ricarica con uno sconto del 100% rischia di farti sembrare amatoriale; e non è quello che qualcuno ti paga.

Dal punto di vista del cliente, sei pagato per la tua esperienza e per prendere decisioni che non sarebbero in grado di fare. L'uso di librerie di terze parti dovrebbe essere fatto con l'idoneità in mente - e un elemento chiave di ciò deve essere la prestazione (lo stress test può essere fatto a un punto in laboratorio). Quindi devi assumerti la responsabilità di non aver scelto la tecnologia corretta.

Va bene, se questa è tecnologia preesistente o una tecnologia mandataria (cioè preselezionata dal cliente, come quando sono andato in un'azienda e avevano già speso decine di migliaia in un paio di Licenze BizTalk di cui non avevano bisogno, ma che volevano utilizzare comunque per giustificare il costo. :'( ) allora questo potrebbe non essere il caso. Penso che la chiave sia se fosse la tua scelta.

Quindi penso che tu debba prenderlo sul mento. Se puoi, risolvilo senza dirlo al cliente (evitando la conversazione), ma se è necessario puoi probabilmente dire loro che lo stai facendo gratuitamente a causa di problemi imprevisti con la libreria e che hai "vinto" Useremo ancora queste cose 'yada yada.

    
risposta data 25.07.2012 - 18:01
fonte
5

Potresti, ma non lo farei. Risolvilo e spedisci una fattura con il costo effettivo e con uno sconto del 100% in modo che il cliente possa apprezzarne il valore. Manterrai una buona relazione professionale e reputazione.

    
risposta data 25.07.2012 - 17:45
fonte
5

Se la scelta di framework / librerie era interamente tua, devi possederlo. I clienti (in particolare la famiglia) non vogliono pagarti due volte il lavoro. Se ci fosse un modo migliore per farlo e ti sei perso, come professionista hai la responsabilità di fare la cosa giusta.

Ci sono alcune ipotesi sul livello di qualità che il cliente si aspetta da qualsiasi lavoro. Ad esempio, supponiamo che tu abbia un falegname costruire una rampa di scale e, a causa della deformazione nel legno, le scale non sono uniformi. Dal momento che era responsabile per il legno, e le scale di livello sono una bella aspettativa, sia per iscritto che no, ti aspetteresti che il carpentiere risolva il problema e non vorresti pagare.

Se il tuo problema era che l'app funzionava bene per 2000 utenti ma non per 5000, potrebbe essere qualcosa che potresti argomentare in base ai livelli di carico contrattati sul sito. Dalla tua descrizione sembra che un singolo utente avrebbe problemi e ciò ricade sulla tua scelta di sviluppo. Penso che dovresti solo aggiustarlo e fargli sapere che hai identificato un problema di prestazioni e ti sei preso cura di esso. Questo costruirà una buona volontà che potrebbe essere molto più preziosa di quella che pagherebbe per il lavoro.

    
risposta data 25.07.2012 - 19:06
fonte
2

È meglio avere qualcosa di cui essere orgoglioso e poterlo utilizzare per vendersi in futuro. Puoi compensare i tuoi costi aggiuntivi nel risolvere il problema come un investimento nel tuo apprendimento.

    
risposta data 25.07.2012 - 19:49
fonte
1

Dipende se hai un contratto a importo fisso o un contratto orario.

Se hai un contratto a importo fisso, in genere, di solito modifichi o addebitalo solo ai contratti a importo fisso quando la funzionalità richiesta viene modificata. I contratti a importo fisso proteggono lo sviluppatore dal creep dell'oscilloscopio a scapito proprio del problema che stai descrivendo, uno in cui finisci per dover fare grandi refactories (che non ti verranno risarciti) in modo che il tuo software soddisfi i requisiti del contratto .

Se hai un contratto orario, le cose si confondono. In genere, la tariffa oraria che i freelancer applicano è direttamente proporzionale alle loro conoscenze e abilità. Ho iniziato a caricare $ 50 / ora quando ero il primo freelance e junior nel mondo del software. Faccio pagare $ 95 / ora e questo riflette il fatto che sono un programmatore molto migliore e faccio le cose in generale in meno tempo. (Questo finisce per bilanciare il costo per il cliente) Perché non hai previsto il potenziale errore nel tuo approccio, hai bisogno di passare più tempo. Se dovessi fatturare ogni ora, non mi vergognerei di fatturare il tempo impiegato per il refactoring. Fa parte dell'esplorazione lo sviluppo non a tasso fisso, e si spera che il tuo tasso rifletta quel tipo di potenziale problema.

    
risposta data 25.07.2012 - 17:59
fonte
0

Come con la maggior parte dei casi, dipende (relazione, progetto, ecc.).

Se il cliente desidera che venga riparata la prestazione lenta, è possibile inviare una fattura secondo me. È colpa tua se le prestazioni sono così lente, vere, ma ogni sviluppatore commette errori e la maggior parte delle volte i clienti lo pagano. Avrebbero potuto assumere una grande azienda con molti sviluppatori (esperti?) Che probabilmente non avrebbero commesso questo errore, ma i costi iniziali sarebbero stati molto più alti. Questi sviluppatori avrebbero commesso altri errori e anche il cliente avrebbe dovuto soffrire per questo.

Hai consegnato un software e probabilmente lo hanno concordato. Ora vogliono che cambi, beh, questa è una richiesta di cambiamento, che costerà soldi. Se inizialmente non avessi usato questi framework (gonfiati), il lavoro avrebbe richiesto molto più tempo / denaro.

Se si tratta di un progetto a prezzo fisso, verrà risolto in una nuova versione (minore). A seconda del contratto, le persone possono pagare per gli aggiornamenti.

In uno scenario / esempio diverso, hai scelto un determinato framework IoC / DI nel tuo progetto. Dopo alcuni mesi si scopre che si sta comportando molto lentamente rispetto ad un quadro diverso. Cosa faresti? Vorrei far sapere al cliente che posso accelerare il sistema modificando alcuni componenti interni del sistema che costeranno X dollari. Possono decidere se lo vogliono o no.

In breve : direi che devono pagare per gli aggiornamenti sul sistema, ma in realtà dipende dalla situazione.

    
risposta data 26.07.2012 - 10:32
fonte
0

Non lo so, lo classificherei come un "errore", a meno che il sito non sia praticamente inutilizzabile a causa delle prestazioni. Quasi tutti hanno un "rimorso post-implementazione" ad un certo punto, specialmente quando si lavora con nuove tecnologie. Poiché sembra che tu abbia un buon rapporto con il cliente, suggerirei semplicemente di dire loro "Ehi, avevo alcune idee che potrebbero rendere il sito un po 'più veloce, ti dispiacerebbe se lo ottimizzassi un po'?"

A meno che non ci siano obiettivi di rendimento dichiarati o compresi a cui hai perso, sei perfettamente autorizzato ad addebitare eventuali miglioramenti o miglioramenti. Tuttavia, dal momento che ottieni il vantaggio di un'esperienza pratica di apprendimento con alcuni nuovi strumenti, ti suggerirei un addebito nominale di "aggiustamento finale" (diciamo due ore). E in ogni altro progetto, assicurati di avere una fase di "ottimizzazione delle prestazioni", quindi avrai qualcosa di definito per caricare questo tipo di lavoro.

    
risposta data 26.07.2012 - 18:02
fonte

Leggi altre domande sui tag