Casos de uso comunes

El objetivo principal de Visual Studio Live Share es permitir a los desarrolladores colaborar entre sí más fácilmente, sin introducir ninguna opinión sobre cuándo y cómo hacerlo (por ejemplo, qué herramienta de comunicación usar, la metodología de software "correcta" o el flujo de trabajo de SCM). De este modo, las herramientas pueden admitir interacciones que se producen de forma natural y con la frecuencia que sea necesario, pero de una manera que se adapte a cómo ya prefiere trabajar.

En este documento se resaltan algunos casos de uso para los que ya se usa Visual Studio Live Share y se describe el estado en que se admiten actualmente y las formas en que planeamos optimizarlas aún más (en función de los comentarios). Si usa Live Share para algo que aún no se describe a continuación, o cree que podemos hacer mejor para admitir un caso de uso específico, háganoslo saber.

Asistencia rápida

Cuando se produce un problema (por ejemplo, al intentar resolver un error, configurar el entorno), puede usar Visual Studio Live Share para buscar ayuda instantánea desde otro elemento del mismo nivel. En muchos casos, no es inmediatamente claro qué contexto necesitará la persona que proporciona ayuda y, por lo tanto, Live Share ayuda al facilitar el acceso a todo el proyecto y, si es necesario, comparte incrementalmente más (por ejemplo, un servidor local, terminal de solo lectura). No es necesario enviar fragmentos de código ni mensajes de error de vuelta y salida.

Además, dado que Live Share le permite compartir la sesión de depuración activa, sin necesidad de "invitados" para instalar ninguno de los SDK de plataformas necesarios (por ejemplo, Node.js, Go, .NET Core) o extensiones de herramientas, puede ayudarle a obtener una resolución más rápida y evitar situaciones de "no reproducción en mi máquina". Live Share le permite compartir el estado de depuración con otros usuarios, para cualquier lenguaje de programación o entorno en tiempo de ejecución (por ejemplo, Kubernetes, aplicación React Native) y, por lo tanto, independientemente de lo que necesite ayuda, puede compartirlo.

Horario de oficina

Muchas empresas e instituciones educativas (por ejemplo, escuelas, cursos de formación en línea) proporcionan apoyo a sus clientes, empleados o estudiantes en horas predeterminación, y generalmente en una frecuencia periódica (por ejemplo, todos los viernes de 3 a 5 p. m.). De esta manera, las "horas de oficina" son simplemente una forma programada de "asistencia rápida", en lugar de ser completamente ad hoc. Live Share facilita la ayuda rápidamente, ya que el "experto" que proporciona ayuda puede unirse inmediatamente a una sesión de colaboración y responder a sus preguntas, sin necesidad de configurar su máquina en absoluto.

Programación de pares

Uno de los escenarios más usados para Visual Studio Live Share es la "programación de pares": dos o más desarrolladores, trabajando juntos en una tarea compartida, con el objetivo de compartir conocimientos, aumentar la cohesión del equipo y, potencialmente, la calidad del producto. La apariencia exacta de la programación de pares puede diferir significativamente entre equipos y situaciones, dependiendo de lo siguiente (entre otros):

  1. El ámbito de la "tarea" en el que se colabora (por ejemplo, un error, un caso de usuario)

  2. Duración esperada de la sesión de colaboración (por ejemplo, dos minutos, una hora, tiempo completo, una vez por semana, TBD)

  3. Número de personas implicadas (por ejemplo, dos, todo el equipo)

  4. Rol de cada participante (por ejemplo, "conductor", observador/revisor, experto en la materia)

  5. La proximidad de los participantes (por ejemplo, coubicó en el mismo edificio, en todo el mundo)

Live Share se diseñó para ser independiente de todas las preocupaciones mencionadas anteriormente, y en su lugar, se esfuerza por apoyar la programación de pares que es completamente "oportunista" y se adapta a su situación. Dicho esto, a diferencia de dos desarrolladores que comparten un solo teclado y pantalla, Live Share permite una forma de programación de pares que permite a los desarrolladores trabajar en un objetivo compartido, sin quitar su autonomía individual o preferencias de entorno. Puede trabajar de forma independiente o conjunta, lo que permite a cada participante aportar su propio proceso de pensamiento a la colaboración.

Para desglosar aún más este caso de uso, los siguientes elementos representan formas de programación de pares que hemos observado personas que usan Live Share para:

Programación de Mob

La programación mob (o la programación enjambre) es básicamente la programación emparejada, pero con más de dos personas. Por lo tanto, todas las ventajas de Live Share para la programación de pares también se aplican igualmente. Además, algunos equipos realizan "calentamiento" según sea necesario (por ejemplo, el equipo que se agrupa alrededor de un simulacro de incendio) en lugar de a tiempo completo.

Actualmente, Live Share admite hasta 30 invitados dentro de una sesión.

Sugerencia

Para habilitar 30 invitados en una sesión:

  • VS Code: agregue "liveshare.increasedGuestLimit":"true" a settings.json
  • VS: Establecer opciones de > herramientas > Live Share > Aumento del límite de invitado en "True"

Concursos de codificación /Hack-A-Thons

Las competiciones de codificación y hack-a-thons son efectivamente variaciones a corto plazo y de tarea única de programación de mob. Los miembros del equipo y su rol actual también son potencialmente dinámicos. Dado que este caso de uso suele ser también sensible al tiempo, la capacidad de colaborar en tiempo real sin necesidad de adoptar una herramienta completamente nueva y la capacidad de trabajar conjuntamente, sin restringirse a una sola pantalla o teclado, puede ir a una manera de aumentar la velocidad del registro.

Dado que es posible que los participantes de este entorno no siempre sean "de plena confianza", puede quitar (y bloquear) a un invitado de una sesión en cualquier momento. Esto proporciona "hosts" con control completo sobre su entorno.

Proyectos de grupo escolar

Los proyectos de grupo terminan buscando mucho como la programación de mobs, donde varios alumnos trabajan juntos y pueden realizar la transición sin problemas entre centrarse en una sola tarea o trabajar en tareas independientes simultáneamente. En lugar de simplemente confiar en el control de versiones para colaborar de forma asincrónica, pueden usar Live Share para trabajar juntos en tiempo real, lo que puede ayudar a los beneficios sociales y educativos de trabajar en un grupo.

Streaming para desarrolladores

El streaming para desarrolladores (a través de Twitch o Mezclador) se ha convertido en una nueva forma atractiva de educación. Aunque Live Share no está pensado para reemplazar sus plataformas de difusión (aunque hemos oído la solicitud!), proporciona un medio para que el host empareja el programa con uno o varios invitados y, a continuación, transmita esa interacción. De este modo, los espectadores pueden aprender más viendo la interacción natural y el proceso de pensamiento de dos o más desarrolladores, que incluso podrían estar trabajando juntos en sistemas operativos e IDE completamente independientes.

Creación de prototipos/Inicio del proyecto

Cuando un equipo inicia un nuevo proyecto o microservicio, o crea prototipos o spiking de una nueva característica, a menudo puede ser útil colaborar juntos con el fin de realizar un progreso rápido y explorar nuevas ideas. Puesto que es posible que el código base recién formado no se confirme en un repositorio compartido todavía, Live Share permite a todos participar en el proceso iterativo, independientemente de si están en la misma oficina o no.

Educación interactiva

Por lo general, Live Share busca ayudar a los desarrolladores a compartir conocimientos entre su equipo. Educación es un caso de uso fundamental para Live Share y admite esto especialmente bien al permitir que cada participante interactúe con el código base en el que se colabore, en lugar de simplemente ver una pantalla. Todo el mundo aprende de maneras sutiles y, por lo tanto, proporcionando independencia a un "estudiante", pueden aprovechar la instrucción que se da, sin necesidad de sacrificar su capacidad de explorar sus propias ideas a lo largo del camino.

Mentoría del mismo nivel/incorporación

Al introducir un desarrollador en un nuevo código base, área de características, tecnología, etc. puede usar Live Share para guiarlos a través del proyecto (mediante Follow Mode), de modo que puedan seguirlo con usted, pero desde su propio IDE personal. Dado que Live Share permite a los "invitados" navegar por el proyecto de forma independiente (por ejemplo, abrir un archivo, realizar un Peek Definition), pueden seguir permitir, pero también realizar exploraciones rápidas según sea necesario (por ejemplo, "Hmm, ¿qué hace esta función?").

Bolsos brown de equipo

Los bolsos marrones de equipo son eficazmente como la mentoría del mismo nivel, pero se presentan a todo un equipo, y potencialmente, más centrados en socializar conocimientos generalmente útiles, en lugar de ayudar con una tarea específica.

Conferencias de clase

Cuando los instructores enseñan una lección, pueden usar Live Share para compartir su proyecto con los alumnos, en lugar de simplemente presentar su pantalla. Esto permite que toda la clase siga junto con el profesor, a la vez que puede interactuar con el proyecto por su cuenta. Además, el profesor puede pedir a los alumnos individuales que ayuden a resolver una parte determinada de la lección (por ejemplo, "¿Qué método debemos llamar aquí?"), lo que puede ayudar en los aspectos sociales de la clase, sin necesidad de que los alumnos pasen al frente de la sala o incluso estén físicamente presentes en la misma sala (por ejemplo, cursos en línea).

Para ayudar en la configuración del aula, Live Share permite compartir en modo de solo lectura. Los instructores pueden usar el modo de solo lectura para permitirles compartir sus proyectos con los alumnos sin tener que preocuparse de que se realicen modificaciones innecesarias o accidentales.

Además, Live Share tiene compatibilidad para permitir que hasta 30 invitados se unan a una sesión de colaboración. De este modo, los instructores pueden hacer que toda su clase se una a una sesión y ver código juntos.

Para habilitar esta característica:

  • VS Code: agregue "liveshare.increasedGuestLimit":"true" a settings.json.
  • VS: Establecer opciones de > herramientas > Live Share > Aumento del límite de invitado en "True"

Revisiones de código

Las solicitudes de incorporación de cambios son una forma eficaz de colaborar con otros usuarios, pero normalmente representan la finalización de una tarea (excepto las solicitudes de incorporación de cambios "WIP" ) y el deseo de combinarla. Muchas veces, los comentarios que se proporcionan en una solicitud de incorporación de cambios podrían haberse dado fácilmente antes y, por lo tanto, hay un valor potencial para que los equipos busquen fácilmente y continuamente consejos de sus compañeros, en lugar de esperar hasta que "completen" una tarea para preguntar.

Puesto que Live Share le permite compartir instantáneamente el proyecto con otros usuarios, se puede usar para habilitar revisiones de código "informales"/ad hoc, donde en lugar de pedir ayuda, simplemente busca entradas para asegurarse de que su dirección y/o enfoque se alinea con otros usuarios. Esto puede ayudar potencialmente a que las solicitudes de incorporación de cambios posteriores se completen más rápido y sin duda ayuda a socializar el conocimiento en todo el equipo.

Además, dado que Live Share le permite compartir un directorio arbitrario, puede usarlo para realizar revisiones de código, incluso si actualmente no usa el control de versiones (aunque debería hacerlo), o si el equipo no usa solicitudes de incorporación de cambios (por ejemplo, el desarrollo basado en troncos).

Entrevistas técnicas

Al entrevistar candidatos para una posición de desarrollador, a menudo puede ser útil ir más allá de las discusiones de pizarra y, en su lugar, observar que resuelven un problema de codificación desde un IDE real (especialmente si su equipo o organización tiene "estandarizado" en una herramienta que le gustaría ver su uso). Esto no solo les proporciona la ventaja de trabajar de una manera que sea potencialmente más natural/cómoda (la mayoría de los desarrolladores no codifican en pizarras),sino que también les proporciona comentarios y asistencia inmediatos mientras trabajan (por ejemplo, errores de compilación, intellisense). Muchas veces, es más importante comprender el proceso de pensamiento de un candidato, en lugar de su capacidad de memorizar sintaxis exacta o nombres de API. De este modo, Live Share proporciona una experiencia similar a realizar una sesión de programación de par, pero permite que el participante esté en su propio entorno (incluida la configuración del sistema operativo, como la accesibilidad), y funcionaría igualmente para entrevistas locales o remotas. Unirse a una sesión desde la web permite al candidato usar el entorno de desarrollo del equipo y la base de código sin descargar nada.

Además, el desarrollo en el mundo real es más que escribir código. Dado que Live Share también admite depuración compartida, tareas y terminales, permite a los entrevistadores observar candidatos al diagnosticar un problema y proporcionarles las herramientas adecuadas necesarias para resolverlo (por ejemplo, depuración de pasos, ejecutar pruebas). Dado que todo el contexto está remoto desde la máquina del host, los candidatos pueden saltar rápidamente al "entorno de entrevista" sin necesidad de configurar su máquina (más allá de instalar Live Share). A continuación, Teams podría mantener un repositorio de aplicaciones de entrevista compartidas (o usar su código base de producto real), que se podría clonar y compartir con candidatos, simplemente enviando la dirección URL de la sesión antes de cada entrevista.

Trabajar de forma remota

Trabaje desde casa sin tener que mantener la cadena de herramientas de la máquina de desarrollo residencial sincronizada con el trabajo. Finalice rápidamente esa línea de código desde casa sin necesidad de insertar desde el trabajo, clonar el repositorio en casa y encontrar la línea exacta en la que estaba trabajando. Conéctese desde un portátil ligero a su máquina de trabajo de peso pesado.

Consulte también

¿Tiene algún problema? Consulte la solución de problemas o envíe sus comentarios.