Programación en pareja
En esta página, aprenderemos sobre colaboración utilizando el concepto de programación en pareja.
En los primeros días de las computadoras, programar era una tarea individual. Primero pensabas en el programa que querías hacer, y luego era el momento de sentarse y escribir código.
Los programas que se hacen hoy en día son mucho más complicados. Las interfaces gráficas de usuarios, la interacción con servidores en Internet, la internacionalización, la seguridad contra ataques de malware, y muchos requerimientos más son parte de un esfuerzo de desarrollo de software serio y la razón de que un programa probablemente tendrá cientos de autores.
Esto significa que hoy las habilidades de colaboración son tan importantes como las habilidades de programación. Incluso si no terminas trabajando como programador, la colaboración es parte de la mayoría de trabajos.
CRD-1.B.2
Hay diversas formas de organizar la colaboración. En este curso, utilizaremos una técnica llamada programación en pareja—escribiendo programas para computadoras en equipos de dos personas. Uno de los miembros del equipo, el conductor, controla la computadora. El otro, el navegador, ayuda a identificar los errores y a llevar el control sobre cómo el código que se está escribiendo se ajusta al plan general. El navegador o copiloto está encargado de leer las instrucciones que aparecen en la página del Laboratorio en voz alta. Buscaremos un tiempo equitativo para cada rol, cambiando las funciones cada cinco minutos.
Cómo no hacer programación en pareja:
Uno de los grandes errores en la programación en pareja es que el navegador o copiloto se aparte y deje que el conductor haga todo el trabajo. El navegador debe prestar atención, de lo contrario solo se alternan los turnos para hacer el trabajo en lugar de aprovechar el beneficio del trabajo en pareja.
Cómo colaborar en la programación en pareja
CRD-1.C.1
- Comuníquense de forma activa. El conductor debe explicar constantemente la razón por la que se utiliza cada uno de los bloques. El navegador debe interrumpir con preguntas como las siguientes: ¿Qué tal si lo hacemos de una forma diferente? ¿Cómo este programa puede evitar este u otro error? ¿No deberíamos atender este requerimiento y este otro al mismo tiempo? Estamos repitiendo mucho esta secuencia de código, ¿Podríamos colocar el código en un bloque de instrucciones y luego utilizar ese bloque en distintos lugares?
- Escuchen al otro. Intenten entender qué piensa su compañero antes de refutar.
- Trabajen en equipo. No actúen a la defensiva cuando les den sugerencias, recuerden que nadie escribe el código perfecto a la primera. El trabajo del navegador es encontrar problemas en el código del conductor, y en el momento de intercambiar los roles, el nuevo navegador realizará la misma tarea. Recuerden que este es un trabajo en equipo, no una competencia entre ambos.
- Procuren alcanzar un consenso. Eviten regatear; si tienen una opinión diferente sobre la forma en que se resuelve una tarea, no digan "bueno, lo puedes hacer a tu manera, solo si me dejas resolver este otro problema a mi manera". Ambos integrantes deben escuchar los razonamientos del otro compañero y trabajar en conjunto para encontrar una solución que satisfaga a ambos.
- Digan lo que piensan y lleguen a un acuerdo. Esto no significa que deberías intentar estar en desacuerdo todo el tiempo, pero si lo hacen, aún pueden ser amigos. Resuelvan el conflicto escuchando y entendiendo a su compañero, en lugar de simplemente discutir o ceder únicamente por finalizar el conflicto.
- Tomen turnos sin importar la experiencia. No dejen que el programador más experimentado abrume al otro compañero. Asegúrense que las parejas se encuentren cómodas contribuyendo en cada uno de los roles. Resolver un problema en grupo es casi siempre mejor que hacerlo cada integrante de forma individual.
En esta primera unidad vamos a utilizar estos símbolos como referencia para recordarles cuándo deben intercambiar roles en un momento específico del laboratorio. Después de esta unidad, deben recordar intercambiar roles cada cinco minutos.
CRD-1.C
- Tu profesor te entregará las instrucciones para el juego: Perdidos en la Luna.