Pregunta

Contamos con un equipo de alrededor de 7 ingenieros, quien superviso.No tenemos una oficina formal, donde todos trabajamos.En su lugar, un puñado se encuentra fuera de nuestra ciudad, mientras que el resto de nosotros se encuentran dispersos por todo el Área de la Bahía.

Con bastante frecuencia, me encuentro tratando de enseñar conceptos como TDD o refactorización para algunos de nuestros más jóvenes (o no) a los desarrolladores.La mejor técnica que sé es que la programación en pares, donde ambos se sientan en el mismo equipo y trabajar en un problema juntos.Ya no estamos en el mismo lugar que la mayoría de las veces, la única opción es utilizar algún tipo de uso compartido de pantalla y Skype para tener uno de nosotros "unidad", mientras que la otra consulta, y luego cambiar.

Mi pregunta es ¿alguien ha probado este "virtual" par de programación, ¿y usted encontrará a todos los útiles?

¿Fue útil?

Solución

He hecho un montón de par-programación no sólo de cross-site pero la zona horaria.Yo vivo en Israel y yo trabajo con la gente en la Costa Oeste todo el tiempo.La mejor manera que he encontrado es para uso compartido de una sesión VNC y skype.Necesitas algo de "buen comportamiento" para asegurarse de que sólo uno de nosotros tipos en un momento dado.El servidor VNC que utilizamos nos da dos diferentes punteros por lo que podemos mover nuestros respectivos ratones sin entrar en el camino, mientras que en realidad no haga clic en.
El principal problema es que el portapapeles es compartida, por lo que si alguien selecciona algo se copia automáticamente al portapapeles.
Como regla general, la programación en pares cross site, aunque no ideal, es ciertamente factible, y definitivamente útil.

Otros consejos

Sé Netbeans tiene un plugin para "Desarrolladores " Colaboración" (demo en flash), que es básicamente como multijugador-programación.Los cambios que realice en el archivo local se replican casi de inmediato a la otra parte.Es muy cool, pero ha sido un tiempo desde que he jugado con ella, y nunca la he utilizado para un proyecto real.Hay una ventana de chat, pero usted está probablemente mejor aún hablando por teléfono o a través de skype.

Sí, usted puede absolutamente par programa de forma remota, y lo he hecho con mucho éxito durante largos períodos de tiempo.Tuvimos Skype chat de audio abierto prácticamente todo el día, y se utiliza TeamViewer para copiar la pantalla.Funcionó de maravilla.

Si recuerdo correctamente, tiene un lápiz/herramienta de dibujo que permite que el navegador para mostrar el controlador de lo que está hablando en la pantalla.

Tratando de emparejar el programa de forma remota probablemente no será tan útil como hacerlo en persona, pero por supuesto puedes hacerlo usando colaboración de los editores como SubEthaEdit en OS X.

hay una buena lista de editores con la colaboración en tiempo real de las características en la wikipedia:http://en.wikipedia.org/wiki/Collaborative_real-time_editor#List_of_current_editors

He probado personalmente Etherpad que más tarde fue adquirida por Google y parcialmente integrado en Google Wave en tiempo real de "el correo" de la transmisión, featureset que ahora presumiblemente sobrevive en Google docs.Otra muy buena Solución basada en web es de Mozilla Nube de código anteriormente conocido como Bespin.Adobe también ha hecho una entrada en este con las palabras de Moda, aunque no se utiliza para la codificación, por tanto, no se resaltado de sintaxis y de la misma manera, que hace el trabajo de cierre de las sesiones por sólo un editor para tomar el control.No he tenido suerte con el Eclipse COLA Marco (ECF), pero el proyecto parecía prometedora, la última vez que me miraba en él.Algunas personas simplemente hacer uso de Google docs

Empresas como Google y Amazon también es común el uso de los editores de web en su proceso de la entrevista para rápido par de sesiones de programación en problemas más pequeños, en donde el entrevistado códigos en una web basada en la sesión y un Entrevistador utiliza el resaltado de texto y por igual a profundizar en sesiones específicas, he visto los entrevistadores incluso simplemente editando el código junto.

Aparte de algunos de los informes visto aquí, nunca me había cruzado el Atlántico problemas con retraso y han hecho más largo e intenso de codificación de las sesiones.Hay una buena cantidad de investigación sobre la influencia de la fluctuación y el retraso en la edición colaborativa, donde muy a menudo jitter es percibida como mucho más perjudiciales y retraso constante, igual a través de todas las herramientas utilizadas, aparece como algo que los usuarios pueden adoptar para:http://scholar.google.com/scholar?q=Jitter+and+Delay+real+time+collab

Aunque sentados uno al lado del otro pueden evitar algunas de las necesarias adaptaciones a los diferentes estilos de comunicación, hay ventajas en el uso de software para colaborar.Vinculación a través de un sistema permite a los registros completos de toda la sesión, y deben detalles trabajado en una sesión se convierta en claro (a pesar de que quizás no debería suceder, seguramente a veces no) usted puede ir simplemente a través de la grabación de la sesión.Etherpad había un pequeño y práctico que le permite ir a través de una línea de tiempo de todas las ediciones y deslice hacia atrás y el cuarto a través de la sesión.

En mi opinión la codificación de colaboración no debe ser abordado de la misma manera como la programación en pares, en que usted debe tomar ventaja de la capacidad de editar simultáneamente.Ping pong de programación se convierte en mucho más interactivo cuando las pruebas son constantemente por escrito, cada dev elige a voluntad si se vigila el otro en vivo o esperar y entender que el acabado de probar en su lugar.Se permite para los pequeños desvíos de la escritura con el mismo enfoque que en Un a/B de la programación de la moda sin tener que esperar tanto para ser implementado de forma secuencial y discutido, en su lugar puede ser escrito junto.

saludos Granit

Hemos utilizado webex para esto.Aunque no es necesariamente ideal para este tipo de cosas, que tiene algunas características para mediar en la que controla la computadora y cuando.

Yo simplemente quería añadir algunos realmente agradable plugin para el IDE de Eclipse - su llamado Saros y es OSS.Tiene unos muy hermosos características!
Tiene algunas buenas características (resaltado de la fuente, construida en VoIP (beta), chat y algunos más como el uso compartido de pantalla y características de pizarra)...

Averiguar sobre ello en saros-project.org

Hemos estado usando el nuevo ECF características en Eclipse 3.4 (Ganimedes) y que nos gusta.No estamos en realidad remoto de uno al otro, excepto cuando uno de nosotros está trabajando en casa, pero ECF permite editar el mismo archivo y también tiene una ventana de mensajería instantánea para chatear.Si usas Skype, mucho mejor.

Hay una buena screencast en Vimeo de compartir la pantalla que realmente nos hizo emocionados.

En mi actual trabajo, he trabajado con otro desarrollador que estaba en otro lugar.Mientras consultamos muy a menudo el uno con el otro a través de llamadas de teléfono (auriculares son un gran plus!) y uso compartido de pantalla, el verdadero 'juntos' (incluyendo algunos de los verdaderos par de programación) fue mucho más eficaz cuando visité su ubicación (lo hizo dos veces durante toda la semana, y estas semanas fueron muy intenso).

El principal problema con la pantalla compartida es que nunca se sabe quién se va a mover el ratón,...(por ejemplo para señalar algo en la pantalla).

En ese proyecto, se terminó por dividir el trabajo en 2 sub-proyectos, y se reunieron (significado:el viaje) para conectarlos juntos.

En OSX, he usado vim y un multi-usuario de GNU sesión de pantalla - esto le da mucho mejor la capacidad de respuesta de VNC, uso compartido de la pantalla, etc.Yo uso este set-up junto con Skype y un auricular para la comunicación de voz.

He hecho un montón de emparejamiento remotamente parecido a este y me parece que puede funcionar muy bien.Sin embargo, para que funcione bien, así como con el cara-a-cara de emparejamiento (pero probablemente más), creo que es necesario que ambas partes para estar bien motivado y familiarizado con las herramientas que está utilizando.También (más que en el cara-a-cara escenario) creo que ayuda a dar más de un comentario sobre lo que están haciendo.

Sí, me han hecho emparejamiento del mando a distancia.

Hemos utilizado un antiguo teléfono con altavoz y VNC.Emparejado entre Seattle y Bournemouth, Inglaterra. La cruz-atlántico tiempo de retardo de hecho VNC muy difícil de usar, es difícil no interrumpir a alguien usando el ratón con la red al azar lag.

Usted necesita una gran cantidad de paciencia y algunos convenios de dar vueltas "conducción" del teclado y del ratón.

Sólo hicimos emparejamiento del mando a distancia para el desarrollo por cortos períodos de tiempo - por ejemplo 30 minutos o así, porque la mayoría de la gente desarrollado dolores de cabeza muy rápidamente. Era tan doloroso con la red de los gal.Seguimos para solucionar el problema y donde la gente llegó a un punto donde era más fácil explicar por la demostración de la lectura de texto en un wiki.

Creo que en estos días, usted puede obtener un mejor resultado utilizando el escritorio remoto - que también lo he usado para el emparejamiento.Mi control remoto de escritorio remoto emparejamiento fue de apoyo y despliegue y aunque era entre dos remoto a los desarrolladores de inicio de sesión en un equipo en el trabajo.La gente me dice que a escritorio remoto es mucho más eficiente que el VNC en términos de ancho de banda - pero no puedo verificar eso.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top