Come controllare il lavoro dei programmatori (outsourcer) [chiuso]

4

Qualche tempo fa ho deciso di affidare a terzi i progetti di sviluppo web (php coding & design). Ho aperto un piccolo ufficio all'estero con manager e un paio di programmatori e designer. Ho appena iniziato ma ho già un problema nel controllo del loro lavoro.

Alcuni programmatori sono veloci, altri funzionano molto più lentamente. Io pago loro lo stipendio fisso, quindi è importante per me se fanno il loro lavoro in tempo.

Quando lavorano in ufficio, ho almeno una persona responsabile del progetto per capire se hanno davvero funzionato. Ma a volte lavorano da casa e in quel caso non ho modo di sapere se hanno dedicato del tempo a lavorare su qualche problema.

Alcune delle mie idee erano: controllo della quantità di codice fatto con svn, scadenze rigorose, rapporti quotidiani ... Ma nulla mi sembra perfetto. Crea ancora più lavoro dalla mia parte.

Qualcuno può suggerire un modo di giudicare equamente su quanto tempo è stato dedicato al lavoro effettivo? Come stimolare le persone a lavorare? Forse creare qualche sistema bonus se il lavoro è fatto velocemente? Qualsiasi idea / esperienza su questo argomento sarebbe molto apprezzata.

    
posta Kelvin 22.10.2010 - 20:16
fonte

7 risposte

7

Devi definire le metriche di rendimento e gli obiettivi che devono soddisfare. Se stavi facendo qualsiasi tipo di Agile e / o SCRUM, non avresti questo problema. Ci sono molte applicazioni gratuite per aiutare con questo. Rally (rallydev.com) è fantastico (non gratis !!)

Imposta linee temporali e obiettivi e mantienili. Sembra che tu abbia bisogno di applicare le abilità manageriali di base. Se non producono, allora sbarazzati di loro. Li paghi per i risultati. Daresti $ 10 a Mc Donalds per 1/2 di un hamburger?

Se sei uno sviluppatore di qualsiasi tipo, dovresti essere in grado di abbattere un progetto per calcolare le stime di tempo per ogni parte. Date le stime agli sviluppatori e voi e il vostro team potete discuterne e concordare. Se dici 5 ore e loro dicono 15, fagli spiegare perché saranno 15 e non 5. Anche se non sai di cosa stanno parlando, puoi sentire l'odore di BS. Chiamali e falli spiegare. Questo taglierà le cazzate. Questo è quello che faccio ogni giorno e funziona anche con dipendenti difficili.

    
risposta data 22.10.2010 - 20:38
fonte
17

La tua unica misura dovrebbe essere la realizzazione.

Il lavoro è finito?

No? Ottieni un altro sviluppatore.

È così facile che non capisco perché le persone provano a controllare le altre persone (cosa impossibile da fare) mentre quello che dovresti fare è smettere di lavorare con loro.

Che siano esternalizzati o offshore, il problema è lo stesso. L'unica differenza è la posizione e il fatto che è più difficile provare a controllare qualcuno a 4000 km di distanza.

    
risposta data 22.10.2010 - 20:59
fonte
3

Se non sei uno sviluppatore o un project manager esperto di quanto tu non abbia davvero le qualifiche per provare a gestire un team di sviluppo e il tentativo di farlo porterà solo alla frustrazione e alla perdita di denaro nel lungo periodo. Assumi un team manager di cui ti puoi fidare, affidati a un fornitore (anziché assumere singoli programmatori esterni) o apprendi i dettagli dello sviluppo del software.

    
risposta data 08.02.2011 - 20:28
fonte
3

Il tuo lavoro come manager non è quello di controllare i programmatori, ma di fornire loro tutto ciò di cui hanno bisogno per svolgere il lavoro.

Se un'attività non progredisce alla velocità desiderata, non incolpare il proprietario dell'attività, ma analizzare cosa sta bloccando. Non è sempre colpa del programmatore. Potrebbe essere la mancanza di strumenti corretti, una consegna tardiva nella documentazione di input, un condizionatore d'aria rotto ...

Come regola generale quando affronti un problema, trova la causa principale e risolvila, non trovare un responsabile.

Certo che costerà tempo e denaro. Il software non è gratuito, nemmeno Linux. In effetti, otterrai solo ciò per cui paghi.

    
risposta data 19.05.2014 - 09:18
fonte
2

Per iniziare, questo è un problema difficile poiché non esiste una metrica valida che puoi usare per valutare quanto sia produttivo uno sviluppatore rispetto a un altro. Se usi qualcosa come linee di codice (LoC) potresti scoprire che uno sviluppatore scrive solo 1000+ LoC, ma se ottiene solo informazioni dal database, è così difficile come il 200 LoC che qualcun altro ha scritto per analizzare i dati che viene inserito, o anche l'unica riga di codice che è stata scritta da qualcuno che insegue un brutto bug?

Un'idea che mi è venuta in mente è stata quella di avere un sistema di tracciamento in cui inserire le attività che devono essere eseguite (ad esempio "Get x dal database e visualizzarlo agli utenti", " Risolvi l'overflow dello stack ma nel modulo y ") e chiedi a tutti i tuoi sviluppatori di" votare "su quante ore pensano di dover svolgere per svolgere ciascuna attività. Una volta che hai votato tutti, potresti fare una media e vedere come si confronta con ciò che gli sviluppatori stanno effettivamente mettendo in soluzione per risolvere il problema. Probabilmente ci sarà un po 'di calibrazione e ci sono ancora modi per giocare al sistema, ma potrebbe essere un modo per avere una buona idea di ciò che si aspettano l'uno dall'altro e quindi una metrica equa da usare per giudicarli.

    
risposta data 22.10.2010 - 20:39
fonte
1

Non dovresti misurare la produttività degli sviluppatori - il manager dovrebbe farlo al posto tuo, perché è lì e tu no.

    
risposta data 22.10.2010 - 21:10
fonte
-2

Rendi obbligatorio. Alla fine di ogni giornata, chiedi ai team di inviarti una mischia giornaliera sotto forma di e-mail o altro, rispondendo alle seguenti domande: 1. Che cosa ho fatto oggi? 2. Che cosa farò domani? 3. Di cosa ho bisogno dal Team Leader, quindi posso svolgere il mio lavoro domani?

    
risposta data 19.05.2014 - 03:53
fonte