Nello sviluppo di software freelance, che tipo di sanzioni dovrebbero avere le aziende quando mancano le scadenze? [chiuso]

12

Stavo parlando con un co-sviluppatore.

Ha un cliente che voleva assicurarsi che consegnasse in tempo. Il cliente vuole ripercussioni per le scadenze perse.

Anche se non lavoro come freelance, non ho potuto dare una risposta.

Quindi la mia domanda è:

Quali ripercussioni (liberi professionisti) concordano con il tuo cliente se ti perdi le scadenze sui tuoi risultati (oltre a essere licenziato)?

    
posta Thorpe Obazee 20.08.2013 - 08:06
fonte

1 risposta

25

Uno dei più efficaci: penalità per giorno di ritardo. Questo è anche ciò che viene fatto per i progetti di grandi dimensioni, la sanzione è a volte migliaia di dollari al giorno.

Se una scadenza precisa è importante (ad esempio se si sviluppa per i giochi olimpici un'app web che gestirà la trasmissione dell'evento nel 2014, la data limite sarebbe l'inizio dei Giochi olimpici nel 2014), allora la misura efficace potrebbe in un caso in cui il progetto è in ritardo, la società non viene pagata affatto e dovrebbe anche pagare una penalità.

Se tali misure drastiche non sono appropriate, il solo fatto che un cliente benestante se ne vada se il progetto è in ritardo può fare il trucco.

Nota per il cliente:

  1. Molti ritardi sono colpa dei clienti stessi. Le cause possono essere multiple:

    • Nessun SRS, ma due paragrafi che descrivono in modo approssimativo ciò che il cliente immagina siano i suoi bisogni (e, naturalmente, il cliente non vuole pagare per la raccolta dei requisiti, considerando questo passo una perdita di tempo).

    • Arrivati due settimane prima della scadenza finale e dicendo che non importa che il progetto sia stato fatto finora in Java e usato Oracle: è imperativo che sia riscritto in Python e usi MySQL, perché il il cliente ha letto ieri una rivista dicendo che quelle tecnologie sono il futuro.

    • Fornire una nuova serie di requisiti ad ogni riunione. Punti bonus quando tali requisiti contraddicono quasi tutti i requisiti dati fino ad ora.

  2. Una buona comunicazione è essenziale per un buon progetto.

    Molti altri ritardi sono dovuti alla mancanza di comunicazione. Pratiche in cui il cliente non ha alcuna comunicazione per mesi con l'azienda e si aspetta di essere contattato solo una volta che il prodotto è finito e lucido invitare un disastro.

  3. Ottieni quello per cui paghi.

    Esistono procedure specifiche che aiutano a organizzare il progetto e, in realtà, la programmazione dovrebbe richiedere solo il 10-15% di tempo per i progetti di grandi dimensioni e il 15% - 20% di tempo per i progetti di medie dimensioni. Questi progetti dovrebbero essere realizzati anche da persone che sanno cosa stanno facendo.

    In pratica, i clienti non sono disposti a pagare $ 800 al giorno a un analista che creerà architettura e progettazione software e non vogliono nemmeno pagare altri passaggi. Un programmatore albanese novizio che è felice di lavorare per $ 50 al giorno sembra molto più vantaggioso.

    Non lamentarti che il progetto è un disastro quando sei pronto a pagare per progetti disastrosi.

  4. Non negoziare il tempo necessario per svolgere il lavoro.

    Spesso incontro le discussioni in questo modo:

    Developer: given the requirements, I can deliver that in four months.
    Customer: it is impossible. The project should be done in two months.
    Developer: well, unless you cut out some features...
    Customer: I can't! All features are needed. Why can't you do the job in two months? I contacted an Indian programmer, a friend of mine, he can deliver that in one month and a half, and asks only half of the price!

    Il tempo di negoziazione è una ricetta per il disastro.

  5. Conosci le tue priorità.

    Prendi in considerazione la regola fatta al 90%. Quando il progetto viene gestito in modo errato, non è raro vedere gli sviluppatori dire che hanno eseguito il 90% del progetto un mese dopo l'avvio del progetto. Poi, un mese dopo, è ancora del 90%. E un mese dopo.

    Questo può avere due cause:

    • Quando il progetto non viene eseguito correttamente, ovvero il 100% del tempo è dedicato alla programmazione, che lascia lo 0% per raccolta di requisiti, architettura, progettazione e test, ciò che accade è che i programmatori non hanno idea del lavoro da fare e scoprono nuovi compiti durante l'intera vita del progetto. Preparare il progetto aiuterebbe ad avere una comprensione più ampia di tutti i compiti che dovrebbero essere svolti.

    • Quando il cliente è di fretta, non è insolito che alcune aziende consegnino velocemente delle cagate e poi impieghino un'enorme quantità di tempo a risolvere bug. Alcune aziende lavorano solo in questo modo, il che le aiuta a rimanere competitive e affermano di aver realizzato un determinato progetto in tre settimane, anche se in seguito hanno trascorso tre anni a risolvere il problema.

    Inserendo le priorità in modo preciso e richiedendo che il progetto venga eseguito correttamente, è possibile eliminare quelle società dall'elenco di candidati.

risposta data 20.08.2013 - 08:22
fonte

Leggi altre domande sui tag