Domanda:
Posso fatturare al cliente il tempo che dedico all'apprendimento del suo sistema?
Torra
2015-05-18 16:44:22 UTC
view on stackexchange narkive permalink

Sto lavorando ad alcune correzioni di bug su un progetto web per un cliente / amico. Ha tutto configurato e funziona, ma mi ha chiamato per correggere una manciata di bug.

Non ho mai usato il suo sistema, so a malapena come funziona, come è organizzato ecc. E come funziona tutto insieme. Avrò bisogno di tempo per capirlo.

Tutto questo deve essere pagato da lui, generalmente quanto tempo ci si dovrebbe aspettare per capire il suo sistema? Non è raro fatturargli diciamo un giorno o due se tutto ciò che faccio è capire il suo sistema?

def fattura per il tuo tempo, ma non lo chiamerei come un costo separato se fossi in te. Anche 1/2 giorni sembra un po 'lungo
@Ewan Non sono d'accordo tbh. Ho lavorato in una blue chip dove mi sono stati dati 2 mesi per capire il loro sistema. Ci sono così tante variabili da considerare. Tuttavia, hai ragione a dire che OP deve farsi pagare per il suo tempo.
"quanto tempo ci si dovrebbe aspettare per capire il suo sistema" - ti ** davvero ** aspettarti che la comunità qui ti dia una risposta su un sistema a loro sconosciuto? Potrebbe essere qualsiasi cosa tra un'ora o una vita.
Sembra che la mia domanda sia stata un po 'prematura. Dopo aver esaminato il sistema, non c'è davvero molto da capire. Sì, è complesso, ma c'è solo un repo su cui devo lavorare. Quindi gli fatturerò 30 minuti.
Puoi (dovresti?) Fatturare tutto ciò per cui il cliente è disposto a pagare. Anche se potrebbe essere meglio nascondere il tuo "tempo speso a imparare a programmare" dentro qualcosa che sembra migliore agli occhi di un cliente pagante ...
@Yannis Direi che c'è una leggera, ma importante, differenza. La domanda collegata riguarda il tempo per imparare alcune tecnologie generiche (come un linguaggio di codifica), mentre questa domanda riguarda il tempo per imparare a utilizzare un sistema specifico del cliente. Il primo non dovrebbe essere sempre addebitato, ma sicuramente il secondo dovrebbe essere addebitato.
Un'opzione forse non ancora considerata è quella di fatturare il tempo speso a studiare il sistema come tempo "gratuito". Questo dà trasparenza al tuo cliente. Il cliente non viene colpito da quel costo ma sa che * c'era * un costo.
So di aver risposto, ma chi l'ha migrato sul posto di lavoro, sicuramente il freelance sarebbe il posto giusto?
@TheWanderingDevManager Probabilmente qualcuno che, come me, non aveva idea che ci fosse un SE freelance.
@Ewan Sono d'accordo con ham-sandwich. Forse 1-2 giorni è un tempo lungo per alcuni sistemi, ma ho lavorato su molti sistemi in cui a malapena inizieresti a capirne i pezzi di alto livello dopo quel periodo. Per essere onesti, però, questi non erano il progetto web di un amico, ma piuttosto grandi sistemi firmware di produzione.
@Yannis et al. Per tua informazione, c'è un sito per domande sui freelance, all'indirizzo http://freelancing.stackexchange.com. Non migrerò questo perché sovraccaricherebbe il piccolo sito beta con tutti i contenuti più votati, ma se riusciamo a raccogliere domande come questa in precedenza, a quel sito piacerebbe rispondere a domande come questa. Spero che sia di aiuto.
@jmort253 Buono a sapersi, grazie. È impossibile tenere traccia di tutti i nuovi siti SE in questi giorni.
@DavidK Hai ragione; voto chiuso ritirato.
Si chiama ramp up. È normale che la fatturazione aumenti di un paio di giorni.
Cinque risposte:
ham-sandwich
2015-05-18 16:56:08 UTC
view on stackexchange narkive permalink

Se costa tempo, costa denaro . Il cliente deve fornire tutte le informazioni necessarie per iniziare, inclusa la documentazione del proprio sistema, se esiste. Per esperienza, di solito non è così.

Ci sono un certo numero di variabili qui che sia il cliente che il programmatore devono prendere in considerazione, sebbene questo elenco non sia esaustivo:

  • Qualità del codice di base (inclusi commenti sul codice sorgente)
  • La dimensione del sistema
  • Casi di test trattati

Tuttavia, se si tratta solo di piccole correzioni di bug, non dovrebbe aver bisogno di imparare il sistema. Discuterei la complessità dell'utilizzo di sistemi non familiari e spiegherei che avresti bisogno di tempo per indagare ed eseguire il debug del codice che dovresti addebitare. Il tuo amico, che si occupa di gestire un sito web, dovrebbe assolutamente capirlo.

Si hai ragione. Non c'è davvero molto da capire. Questo è il primo progetto a cui ho lavorato come freelance. Ho dovuto farlo o finire senza casa. Comunque, temevo che sarebbe stato un sistema enorme. Lo è, ma c'è solo un repo su cui devo lavorare e ho praticamente scoperto dove si verificano alcuni bug. Grazie per la risposta :)
Se ci sono commenti sul codice sorgente, la domanda successiva è: sono aggiornati con il codice stesso? L'unico modo per saperlo veramente è analizzarlo. Questo è il motivo per cui possono essere preferibili pochi / nessun commento (ma una buona denominazione e un codice ben congegnato).
@MichaelDurrant Buon punto! Grazie per il tuo contributo.
`se si tratta solo di piccole correzioni di bug, non dovresti aver bisogno di imparare il sistema. "non dovrebbe essere necessario" significa "non sarà necessario se il sistema è scritto bene," non "non sarà necessario". Ci sono * molte * istanze in cui piccole correzioni di bug richiedono la comprensione di parti significative del sistema. Se il panino al prosciutto è d'accordo e modifica la risposta, la voterò a favore, poiché il resto della risposta è eccellente.
@MichaelDurrant: Questo è il motivo per cui preferisco i messaggi di commit dettagliati ai commenti: conosci il contesto in cui vengono aggiunti nella sequenza delle modifiche.
Joe Strazzere
2015-05-18 17:46:42 UTC
view on stackexchange narkive permalink

Tutto questo deve essere pagato da lui, generalmente quanto tempo ci si dovrebbe aspettare per capire il suo sistema? Non è raro fatturargli diciamo un giorno o due se tutto ciò che sto facendo è capire il suo sistema?

Per correggere i bug, devi capire il sistema. (O almeno dovresti capire il sistema.) Per capire il sistema, devi dedicare tempo. Ti meriti un risarcimento per quel tempo.

Devi elaborare con cura il tuo preventivo / contratto in modo che sia tu che il cliente comprendiate queste ipotesi e giungiate a un accordo reciproco sulla compensazione.

Devi farlo prima di iniziare a lavorare.

Potenziale avvertenza: non se ci si può ragionevolmente aspettare che tu abbia familiarità con il sistema (perché è così comune, qualunque cosa). per esempio. Chiami l'addetto alla riparazione del computer per risolvere alcuni problemi di malware con il cursore appariscente; non ti aspetti di essere fatturato per il suo tempo che si abitua al tuo sistema operativo.
@OllieFord Il sistema non è comune. È su misura. 2 dei sistemi utilizzano un framework, che ha reso tutto più semplice, ma il principale è un sistema su misura e piuttosto grande - e non molto ben sviluppato per questo.
Joe
2015-05-18 21:24:54 UTC
view on stackexchange narkive permalink

Non lo vedo da nessuna parte ma nei commenti, quindi lo spiegherò meglio:

dovresti fatturare il tempo per comprendere le sue specifiche sistema. L'installazione, come interagiscono le applicazioni, ecc .; cose specifiche della sua azienda o del suo progetto.

Non dovresti fatturare il tempo per l'apprendimento di cose generali - come, ad esempio, come programmare in C # .NET - a meno che non sia discusso in anticipo. Cose che normalmente dovresti sapere prima di essere selezionato per il progetto, ad esempio.

Dal momento che dici che è un amico, potresti ragionevolmente impegnarti a fare qualcosa che è un po 'al di fuori delle tue normali capacità per aiutare un amico; Prenderei in considerazione quindi le cose che lo sviluppatore medio saprebbe per essere qualificato per essere assunto per la posizione, e gli chiarirei che trascorrerai tempo (e tempo di fatturazione) per imparare nuovi protocolli o lingue o che decidi di considerarla un'opportunità di apprendimento e di non farla pagare.

Ho accettato il lavoro perché sono competente con le lingue date. Quel lato delle cose non c'è problema. Ma ricevere un pezzo di codice personalizzato, senza documentazione o commenti sul codice, e chiedere di "capirlo" è davvero la sfida. Tuttavia, sto facendo delle mosse, gran parte del codice è stato documentato e lo sto capendo molto più di ieri.
@Torra - Uno che mi è stato dato molte volte io stesso. Condivido il tuo dolore. E troppo spesso è un linguaggio morto che non metto mai nel mio curriculum per evitare di svolgere compiti come questo.
The Wandering Dev Manager
2015-05-18 18:02:45 UTC
view on stackexchange narkive permalink

Quindi nella mia esperienza ci sono due parti in questo:

  1. Passa un po 'di tempo con il cliente, permettendogli di guidarti attraverso i bug, prendendo tutte le note che puoi (passaggi per riprodurre, aree funzionali ecc.). Potrebbe essere addebitato, ma forse lo darei come omaggio.
  2. Tempo di indagine. Concorda un tempo prestabilito (diciamo poche ore / mezza giornata) pagato, che usi per indagare sui problemi. Da questo puoi ottenere un controllo su quanto KT / ulteriori indagini hai bisogno, così puoi preparare un costo reale per il resto del lavoro. Potresti (se pratico) risolvere piccoli problemi mentre lo fai se è ovvio, il che mostrerà che non stai solo caricando il tempo per il gusto di farlo.

Probabilmente non avrai bisogno di KT completo per la correzione di bug (il nuovo lavoro potrebbe essere diverso), ma non aver paura di riempire le stime per rischio, incognite, mancanza di test ecc., il costo sarà probabilmente molto più alto per entrambi se sbagli.

Come allude alla risposta di @JoeStrazzere's, questo sottolinea la necessità di stabilire un buon rapporto di lavoro con il cliente.
Zibbobz
2015-05-18 20:10:34 UTC
view on stackexchange narkive permalink

La risposta è "sì", ma come addebiti tale tempo è una domanda più complicata.

Se li stai caricando già a ore, la soluzione più semplice è includere le ore necessarie per familiarizzare con il sistema. Sii sincero su questo e chiedi loro qualsiasi documentazione o aiuto che possono fornire per far andare più rapidamente questa parte. Imposta un programma con il tuo amico, con la consapevolezza che tutto il programma verrà fatturato. Documenta anche questo, soprattutto se lo segnalerai nella dichiarazione dei redditi di quest'anno.



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...