Qual è l'ambiente di codifica più produttivo

5

L'altro giorno stavo parlando con un ex collega del modo più produttivo per scrivere codice e ha detto che lo trovava il migliore "su CIMP, o Code In My Pants".

Quando gli ho chiesto esattamente che cosa intendesse, ha spiegato che ha trovato il modo migliore di lavorare a casa, programmare al suo ritmo, vestirsi comodamente (nei pantaloni) e comunicare con la sua squadra tramite e-mail, IM o telefono .

Analizzando il suo approccio (che descrive ai clienti come il metodo integrato completo di programmazione), ho realizzato che la mia codifica è anche più produttiva quando si lavora in un ambiente isolato, il che mi ha fatto pensare che l'industria del software abbia sbagliato tutto e lo sviluppo dovrebbe essere fatto davvero da squadre disperse di individui, o ci sono dei vantaggi per la geografia che compensano le interruzioni aggiunte che porta?

Quindi gli affari hanno sbagliato? Lo sviluppo dovrebbe avvenire prevalentemente tra individui geograficamente isolati per aumentare la produttività, o ci sono dei veri motivi per cui gli sviluppatori di herding insieme hanno senso?

    
posta Ubiguchi 22.02.2011 - 18:27
fonte

4 risposte

15

Ha ragione - il modo migliore per codificare è generalmente da solo, senza interruzioni, nonostante tutte le mode di programmazione estreme / coppia che si stanno verificando. Tuttavia, la codifica non è l'intera storia quando si tratta di sviluppo: c'è anche design, e il design è fatto meglio nei (piccoli) gruppi faccia a faccia, quindi le idee possono essere girate intorno.

    
risposta data 22.02.2011 - 18:31
fonte
6

Un buon ambiente di codifica è una parte così importante di un buon posto di lavoro che è incluso nella parte 8 del Test di Joel .

There are extensively documented productivity gains provided by giving knowledge workers space, quiet, and privacy. The classic software management book Peopleware documents these productivity benefits extensively.

Non citerò l'intera cosa qui perché vale la pena leggerlo. Essenzialmente devi avere un ambiente di lavoro in cui puoi "Code In Your Pants" al lavoro, ma devi anche lavorare a per stare lontano dalle distrazioni che potrebbero apparire a casa.

Il mio computer di lavoro ha software di lavoro su di esso, il mio computer di casa ha giochi su di esso. Se lavoro sul mio computer di casa, trovo spesso che accidentalmente clicco sulla scorciatoia sbagliata e mi trovo impegnato in varie forme di distrazioni multimediali.

Detto questo, non c'è motivo per cui lavorare deve essere in un ufficio, se lavori da casa, può essere semplice come uno spazio separato (ufficio, stanza, qualunque) per aiutare evitare le distrazioni. Il vantaggio di essere fisicamente in un ufficio è che puoi facilmente essere interrotto.

Sì, l'interruzione è un vantaggio al lavoro. Non vuoi mandare qualcuno a lavorare su un particolare aspetto di un programma e quindi non essere in grado di contattarlo quando il cliente ha completamente cambiato idea sulle specifiche o qualcosa di così assurdo. Avere uno spazio di lavoro consente alle persone di tenersi in stretto contatto quando ne hanno bisogno, ma ciò non significa che dovrebbero avere essere in stretto contatto 24 ore su 24, 7 giorni su 7.

"La moderazione in tutte le cose" è la cosa migliore, lavorare comodamente da casa va bene, a patto che tu abbia un po 'di tempo con il resto della squadra per esaminare i dettagli e rivedere il tuo lavoro.

    
risposta data 22.02.2011 - 21:42
fonte
2

In passato ho lavorato per due società Fortune 500 sia come sviluppatore che come stagista di analisti. La società A non conosceva altro che il classico ambiente del cubicolo in cui gli sviluppatori venivano radunati insieme e avevano stretto contatto. L'azienda B credeva in un approccio più progressivo in cui si potesse lavorare da casa, in altri uffici per un certo periodo di tempo e molte altre opzioni. Questo naturalmente doveva essere una connessione Internet approvata per l'affidabilità della comunicazione dal momento che non si era nella intranet e talvolta si basava sull'approvazione del supervisore e sulle revisioni delle prestazioni.

Ho visto diversi collaboratori avere prestazioni diverse che credo fossero radicate nelle loro preferenze personali, nella motivazione, ecc. Ma personalmente mi piace codificare in più ambienti. Affrontiamolo. Indipendentemente dal progetto su cui stai lavorando, sarai sempre tu e la tua workstation. Penso che se l'industria dello sviluppo del software o le società con un reparto IT di dimensioni considerevoli collocassero i loro sviluppatori in cicli in cui potrebbero sperimentare l'impostazione classica del cubicolo e siano disperse geograficamente dai membri del team, ciò porterebbe a una maggiore produttività nel lungo periodo. Penserei che le sfide che i diversi canali di comunicazione potrebbero offrire insieme all'autogestione (dal momento che il tuo capo non ti lascerà a bocca aperta e contando le pause di fumo), renderebbero un individuo più flessibile e più efficiente.

    
risposta data 22.02.2011 - 18:55
fonte
0

Non esiste un ambiente di codifica "più produttivo"; dipende davvero dal compito in corso.

Trovo che, per certi compiti, io lavori meglio da solo, ma sul lavoro (riproducendo bug del cliente, ad esempio). Per gli altri, mi piace avere una coppia e lavorare in stile ping-pong. Altri ancora faccio meglio a casa. Posso entrare in un buon ritmo in ognuno di questi ambienti, ma ogni ambiente non è adatto a ogni compito.

    
risposta data 22.02.2011 - 18:40
fonte

Leggi altre domande sui tag