una tecnico source soporte software remoto remotamente programas por para otra open internet gratis escritorio desde controlar control conectarse como anydesk acceso tdd pair-programming

tdd - tecnico - escritorio remoto open source



¿Puedes emparejar el programa de forma remota? (11)

En mi trabajo actual, he trabajado con otro desarrollador que estaba en otra ubicación. Si bien consultamos bastante a menudo entre nosotros a través de llamadas telefónicas (¡los auriculares son una gran ventaja!) Y el uso compartido de pantalla, el verdadero ''trabajo conjunto'' (incluyendo algunos programas de pares reales) fue mucho más efectivo cuando visité su ubicación (lo hice dos veces para una semana entera, y estas semanas fueron muy intensas).

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

En ese proyecto, terminamos dividiendo el trabajo en 2 subproyectos, y nos juntamos (es decir, viajando) para conectarlos.

Tenemos un equipo de aproximadamente 7 ingenieros, a quienes superviso. No tenemos una oficina formal donde todos trabajemos. En cambio, un puñado se encuentran fuera de nuestra ciudad, mientras que el resto de nosotros se encuentran diseminados por el Área de la Bahía.

Con bastante frecuencia, me encuentro intentando enseñar conceptos como TDD o refactorización a algunos de nuestros desarrolladores más jóvenes (o no). La mejor técnica que conozco es la programación de pares, donde ambos se sientan en la misma computadora y trabajan juntos en un problema. Dado que no estamos en el mismo lugar la mayor parte del tiempo, la única opción es usar algún tipo de intercambio de pantalla y Skype para que uno de nosotros "conduzca" mientras el otro consulta y luego cambia.

Mi pregunta es si alguien ha intentado esta programación de pares "virtuales", y ¿le resultó útil?


He hecho un montón de programación de pares, no solo en sitios cruzados sino en zonas horarias cruzadas. Vivo en Israel y trabajo con gente en la costa oeste todo el tiempo. La mejor forma que he encontrado es usar sesión VNC compartida y Skype. Necesita un "buen comportamiento" para asegurarse de que solo uno de nosotros escriba en un momento determinado. El servidor VNC que usamos nos da dos punteros diferentes para que podamos mover nuestros respectivos ratones sin meternos en el camino, siempre y cuando no hagamos clic.
El principal problema es que el portapapeles se comparte, por lo que si alguien selecciona algo, se copiará automáticamente en el portapapeles del otro.
Como regla general, la programación de pares a través del sitio, aunque no es ideal, es ciertamente viable y definitivamente útil.


Hemos estado utilizando las nuevas funciones de ECF en Eclipse 3.4 (Ganimedes) y nos gusta. En realidad, no estamos lejos el uno del otro, excepto cuando uno de nosotros está trabajando en casa, pero ECF le permite editar el mismo archivo y también tiene una ventana de MI para chatear. Si usas Skype, mucho mejor.

Hay un buen screencast en Vimeo de la pantalla compartida que realmente nos entusiasmó.


Intentar emparejar el programa de forma remota probablemente no sea tan útil como hacerlo en persona, pero por supuesto puede hacerlo utilizando editores colaborativos como SubEthaEdit en OS X.


Sé que Netbeans tiene un complemento para "Colaboración de desarrollador" ( demo de flash ), que es básicamente como programación multijugador. Cualquier cambio que realice en su archivo local se replicará casi de inmediato a la otra parte. Es genial, pero ha pasado un tiempo desde que jugué con él, y nunca lo he usado para un proyecto real. Hay una ventana de chat, pero probablemente sea mejor que continúes hablando por teléfono o usando Skype.


En OSX, he usado vim y una sesión de pantalla GNU multiusuario; esto ofrece una capacidad de respuesta mucho mejor que VNC, uso compartido de pantalla, etc. Utilizo esta configuración junto con Skype y un auricular para comunicación de voz.

He hecho muchos emparejamientos de forma remota de esta manera y creo que puede funcionar muy bien. Sin embargo, para que funcione bien, al igual que con el emparejamiento cara a cara (pero probablemente más), creo que necesita que ambas partes estén bien motivadas y familiarizadas con las herramientas que está utilizando. Además (más que en el escenario cara a cara), creo que ayuda dar más comentarios sobre lo que estás haciendo.


Hemos usado webex para esto. Si bien no es necesariamente ideal para este tipo de cosas, sí tiene algunas características para mediar quién controla la computadora y cuándo.


Sí, he hecho un emparejamiento remoto.

Usamos un teléfono con altavoz antiguo y VNC. Nos emparejamos entre Seattle y Bournemouth, Inglaterra. El retraso del tiempo transatlántico hizo que VNC sea muy difícil de usar: es difícil no interrumpir a otra persona usando el mouse con el retraso de la red aleatoria.

Se necesita mucha paciencia y algunas convenciones que se turnan para "manejar" el teclado y el mouse.

Solo hicimos emparejamientos remotos para el desarrollo por períodos cortos de tiempo, digamos 30 minutos más o menos porque la mayoría de las personas desarrollaron dolores de cabeza con bastante rapidez. Fue muy doloroso con los rezagos de la red. Nos limitamos a resolver los problemas y la gente llegó a un punto en el que era más fácil explicarlo por demostración que leyendo un texto en una wiki.

Creo que en estos días, puede obtener un mejor resultado utilizando el escritorio remoto, que también he usado para el emparejamiento. Sin embargo, el emparejamiento remoto de mi escritorio remoto era para soporte y despliegue, y fue entre dos desarrolladores remotos que iniciaron sesión en una máquina en funcionamiento. La gente me dice que el escritorio remoto es mucho más eficiente que VNC en términos de ancho de banda, pero no puedo verificarlo.


Sí, puedes emparejar el programa de forma remota y lo he hecho con éxito durante largos períodos de tiempo. Tuvimos el chat de audio de Skype abierto prácticamente todo el día y usamos TeamViewer para reflejar la pantalla. Funcionó espléndidamente

Si recuerdo correctamente, tiene una herramienta de pluma / dibujo que le permite al navegador mostrar al conductor de qué está hablando en la pantalla.


hay una lista bastante buena de editores con características colaborativas en tiempo real en wikipedia: http://en.wikipedia.org/wiki/Collaborative_real-time_editor#List_of_current_editors

Personalmente probé Etherpad, que luego fue adquirido por Google y parcialmente integrado en la transmisión de "correo" en tiempo real de Google Wave, un conjunto de características que ahora, supuestamente, sobrevive en los documentos de Google. Otra muy buena solución basada en la web es el código de la nube de Mozilla anteriormente conocido como Bespin . Adobe también ha hecho una entrada en esto con BuzzWords, aunque no se utiliza para la codificación, por lo tanto, no destaca la sintaxis y funciona de la misma manera, con sesiones de bloqueo para que solo un editor tome el control. No tuve suerte con el Eclipse COLA Framework (ECF) pero el proyecto parecía prometedor la última vez que lo investigué. Algunas personas simplemente usan Google Docs

Compañías como Google y Amazon también suelen utilizar esos editores web en su proceso de entrevistas para sesiones de programación de par rápido sobre problemas más pequeños, donde los entrevistados codifican en una sesión basada en la web y un entrevistador utiliza resaltado de texto y similares para profundizar en sesiones específicas, tengo entrevistadores vistos incluso simplemente editando el código al costado.

Aparte de algunos de los informes que se ven aquí, nunca tuve problemas transatlánticos con retraso y he hecho sesiones de codificación más largas / intensas. Existe una buena cantidad de investigación sobre la influencia de la inestabilidad y la demora en la edición colaborativa, donde con bastante frecuencia la inestabilidad se percibe como mucho más disruptiva y la demora constante, igual en todas las herramientas utilizadas, aparece como algo que los usuarios pueden adoptar: http: // scholar.google.com/scholar?q=Jitter+and+Delay+real+time+collab

Aunque sentarse uno al lado del otro puede evitar algunas de las adaptaciones requeridas a un estilo de comunicación diferente, existen ventajas claras en el uso de software para colaborar. El emparejamiento de un sistema permite registros completos de una sesión completa, y si los detalles trabajados en una sesión no están claros (aunque tal vez esto no ocurra, seguramente sí lo hace) simplemente puede ir a través de la grabación de la sesión. Etherpad tenía una pequeña característica útil que le permite pasar por un cronograma de todas las ediciones y deslizarse hacia atrás y hacia la cuarta durante toda la sesión.

En mi opinión, la codificación colaborativa no se debe abordar de la misma manera que la programación de pares, ya que se debe aprovechar la posibilidad de editar al mismo tiempo. La programación de ping pong se vuelve mucho más interactiva cuando las pruebas se escriben constantemente, cada desarrollador elige si desea ver el otro en vivo o esperar y comprender la prueba final. Permite pequeños desvíos al escribir el mismo enfoque en una forma de programación A / B sin tener que esperar que ambos sean implementados y discutidos secuencialmente, en su lugar ambos pueden escribirse al costado.

Saludos cordiales Granit


Solo quería agregar un plugin realmente bueno para el Eclipse IDE: se llama Saros y es OSS. Tiene algunas características realmente hermosas!
Tiene algunas características agradables (destacando la fuente, el VoIP incorporado (beta), el chat y algunas funciones más por venir, como la pantalla compartida y las características de la pizarra) ...

Averígualo en saros-project.org