When a client asks for an estimate ... is it best to give them a total amount or what it would take for each section?
Pezzi. Fornisci sempre i dettagli a pezzi. Dai sempre la priorità ai pezzi e costruisci sempre il pezzo più importante e prezioso.
Is it better/more common to give a range of hours/days or just a single number?
Meglio e più comune non hanno nulla a che fare l'uno con l'altro.
Le persone non conservano molti dettagli, quindi puoi dare tutti i tipi di fasce e probabilità di fantasia e ricordano solo un numero. Il numero che ricordano è essenzialmente casuale, quindi non importa molto quello che dici, lo interpreteranno male.
Poiché varia, devi sapere cosa ricorderanno. Devi conoscerli e come affrontare l'incertezza.
Stai prevedendo il futuro. Non puoi sapere quanto tempo ci vorrà.
Do you think most clients feel that if a programmer says it should take 50 hours that they should be billed for 50 hours?
Questo varia. Chiedi loro.
If I say it would take 50 and it actually takes 60, do I tell them in advance that I'm going over on my estimate or just charge what was originally quoted?
Se lo sviluppo non è un "dialogo", lo stai facendo male. Dato che stai costruendo pezzi, ogni pezzo è un altro scambio in quella finestra di dialogo.