2008-09-01 17 views
11

¿Qué tan popular en el mundo (sé que la comunidad stackoverflow proviene de diferentes partes del mundo) es la programación de pares? ¿Alguna vez has trabajado, estás trabajando o vas a trabajar para una empresa que programa el par?¿Qué tan popular es la programación de pares?

¿Cuál es su opinión al respecto?

+0

Escribí una opinión extendida sobre programación de pares: https://mortoray.com/2017/08/11/why-im-not-a-fan-of-pair-programming/ –

Respuesta

5

Tengo un par programado tanto comercialmente como en la universidad. Puede ser muy eficaz para mantener la tarea y, en general, mejora la calidad del código más que la productividad debido a que "No, de esa manera es una mierda". argumentos que tienes. El mayor problema puede ser convencer a la alta gerencia de que es una buena idea, ya que tienden a verlo como una reducción a la mitad de sus cifras de utilización.

5

He hecho un par de programación (principalmente profesional) y soy un gran admirador del método. La programación de par es excelente para los nuevos empleados; De esa forma, entrarán en el estándar de codificación y hábitos de la compañía muy rápido, conocerán muy bien a su colega y el colega de esta persona también aprenderá cosas nuevas. Como lo mencionó Vagnerr, el mayor problema en la programación profesional de parejas es lograr que la administración esté de tu lado.

0

This answer enumera la programación de pares como una forma de enseñar a los programadores junior cómo escribir pruebas y convertirse en mejores programadores.

Creo que la programación de pares es una gran manera para que ambos desarrolladores se conviertan en mejores programadores.

6

Ocasionalmente hacemos programación de par en nuestro equipo. Tiende a ser muy productivo y termina con una gran cantidad de código de alta calidad, ya sea que haya sido escrito de nuevo o refactorizado a partir del código anterior.

También tenemos ciertas piezas de código de misión crítica que requieren programación de pares o revisiones de códigos, para tratar de evitar errores en la lógica que pueden aparecer fácilmente cuando se trabaja solo con una base de código compleja.

Además, cuando se contratan nuevos desarrolladores, los emparejamos con un desarrollador experimentado durante la primera semana para conocer las cuerdas y ver cómo algunos cambios de código reales afectan a diferentes partes del sistema. Esto ha demostrado ser una muy buena forma de hacer que la gente acelere rápidamente.

En general, creo que la programación de pares es excelente, especialmente cuando se aplica en situaciones específicas, como código complejo, educación del desarrollador y exploración de características. Dicho esto, solo lo hacemos probablemente durante el 5-10% de nuestro tiempo y también tenemos mucho tiempo productivo en solitario. Su experiencia puede ser diferente.

5

día G,

he utilizado la programación en parejas en un varios de contextos. Todos los cuales son comerciales por cierto.

He aprendido mucho trabajando con personas con más experiencia.

Las actitudes de las personas involucradas afectan en gran medida la efectividad de la programación de pares. No hay forma de que funcione si estás tratando de aparear con un agresivo tipo de persona que "Sé todo y no sabes nada".

Para una buena discusión sobre los diferentes tipos de programación de pares, eche un vistazo al libro de Laurie Williams y Robert Kessler "Pair Programming Illuminated".

Este libro es también una excelente fuente de información sobre la economía de la programación de pares.

aplausos,

Rob

13

que han trabajado en los dos casos en los que en gran medida par programado, aquellos en los que hicimos vez en cuando, y aquellos en los que se despreciaban a.

Yo diría que me sentí más productivo cuando lo hicimos a tiempo completo. Esto, creo, es porque fomenta un alto grado de colaboración con el equipo. Sin embargo, también era importante que intercambiáramos pares de manera regular, una o dos veces al día. He aquí algunas imágenes de la instalación en un lugar anterior:

http://www.cornetdesign.com/images/carfax

de aplicación la programación en parejas, sin embargo, significa que has superado varios elementos de la lista Five Dysfunctions of a Team - sobre todo la confianza y la comunicación. También es útil poder entrar en un flujo, utilizamos la programación de Ping-Pong, uno escribiría una prueba de falla, la otra haría que pasara y escribiría la próxima prueba de falla, con los dos participando en la refactorización cuando necesitáramos .

Puede ser un poco aterrador para las personas que están acostumbradas a tener sus propias cosas, pero la colaboración que permite es realmente sorprendente.

2

He tenido una experiencia negativa con la programación de pares. Necesita programadores de experiencia similar para que valga la pena. Pones lo mejor con lo peor y lo peor permitirá escribir todo el código con poca o ninguna entrada. Pones lo mejor juntos y lo peor juntos y lo mejor seguirá produciendo código de alta calidad, pero lo peor producirá mierda, pero solo un 50% menos (ya que solo hay dos puliendo el turd).

+0

sí, pero el programador inexperto se convierte en más experimentado –

2

Actualmente trabaja con la compañía que utiliza una gran cantidad de programación en parejas

Creo programación en parejas es grande robaba me ha mejorado como desarrollador de las siguientes maneras:

  • dieron a conocer el IDE mejor para poder trabajar más rápido y más inteligente (amor grande para solución rápida Eclipse!)

  • dejó de hacer cosas estúpidas

  • Podría ponerse al día en el código base masiva muy rápidamente

  • Al comenzar un nuevo trabajo se llega a saber todo el mundo se trabaja con

    programadores junior
  • Ha tutelado que pasa efectivamente en mi sabiduría [sic]

  • de conocimiento de idioma Aumentar

  • mejorar la programación habilidades

2

Se continúa investigando la programación de pares a lo largo del tiempo. Inicialmente, los informes parecían respaldar la noción de que era una ventaja neta de productividad para el proyecto en ciertos casos, pero estudios a mayor escala y más recientes indican que es una pérdida neta en la productividad general en promedio para las actividades de codificación en particular.

Si lo piensas bien, tiene sentido. Las actividades de programación de pares tienen que ser dos veces más eficientes durante el ciclo de vida solo para llegar al punto de equilibrio con la duplicación de horas hombre involucradas. Mi punto de vista sería solo encontrar mejores ingenieros y practicar las formas normales de tutoría para desarrollar ingenieros menos capacitados. En mi opinión, obtienes mucho más beneficio por unidad de tiempo.

La entrada de Wikipedia para Pair Programming hace referencia a algunas de las investigaciones a las que me refiero anteriormente.

+2

Creo que hay muchas ventajas para emparejar la programación que son difíciles de medir, como la moral, el intercambio de conocimientos, la retención de empleados, etc ... que pueden tener un mayor impacto general, pero creo que esto es a nivel de desarrollador normal, los expertos solo van a ser ralentizados –

3

Mi experiencia es que la programación de los pares realmente ayuda a mejorar la calidad.

Pero, y esto es muy importante: al menos uno de los programadores debe tener un buen ojo para la calidad y comprende valores ágiles. De lo contrario, existe un gran riesgo de que las dos personas refuercen solo sus prácticas negativas (es decir, hacks rápidos, etc.) entre sí en lugar de aprender buenas prácticas.

1

Lo hice hace más de 30 años, cuando escribía protocolos RDSI para una empresa de telecomunicaciones (no se llamaba "programación de pares", pero nuestro jefe de proyecto nos llamaba "gemelos de Unix". consultores, los gerentes de TI se mostraron escépticos inicialmente, como pueden imaginarse. Pero luego les gustó la idea y la mantuvieron funcionando por un tiempo incluso después de que nos fuéramos (como me dijeron los chicos que tomaron nuestro código).

Todavía lo uso hoy (sin embargo, para el código del kernel C)

PD: Recuerdo un momento, cuando enfermé y tuve que quedarme en la cama durante una semana más o menos. Cuando reapareció, mi amigo sincronizó Yo en un briefing de 10 minutos, diciéndome que lo hizo y por qué, y luego continuamos como de costumbre. No había una verdadera interrupción mientras yo estaba lejos como ambos estábamos capaz de respaldar la otra (la estadística de errores subió un poco durante esa semana, sin embargo)

2

no soy un desarrollador más, pero recuerdo muy bien cómo era, cuando desarrollé el código.

Sí, la Programación en pareja con un socio excelente es EL método para mejorar su conocimiento. Puede intentar leer libros o estudiar artículos en la web, pero en realidad con la programación de pares se llega directamente a los temas difíciles.

Pero esto trae también los inconvenientes. Con la programación de pares no puedes esconderte. Se hace obvio lo que puedes o no puedes hacer. Algunos desarrolladores desarrollan cierta mística en torno a sus habilidades. Pueden hablar muy fácilmente, lo que es teóricamente importante para escribir un buen código, pero de manera práctica son malos. Para esas personas, la programación de pares puede ser difícil. Pierden reputación.

La otra cosa es ... la programación de pares requiere comunicación. Algunas personas adoran ponerse los auriculares, encender su música y hacer la codificación. Esta es su forma favorita de codificar. Cuanto menos tengan que hablar, mejor. Así que esta podría ser también una razón por la cual algunos de ellos descuidan la programación de pares.

0

La programación de par ayuda mucho a comprender el dominio/proyecto/arquitectura para el empleado recién unido. Ayuda a reducir el tiempo de desarrollo total (por ejemplo, el front-end y el desarrollador respaldado trabajan juntos en Agile) y, por lo tanto, aumenta la productividad. Mientras se hace la revisión del código con el otro desarrollador/arquitectura, también ayuda a aprender algo nuevo en términos de implementar nuevos patrones de diseño y seguir el formato de codificación estándar. Para mí, la programación de pares siempre funciona.

1) control de calidad no se abrirá más defecto (código defectless) 2) Podría ponerse al día en el código base masiva muy rápidamente 3) Mejorar las habilidades de programación 4) Aumentar el conocimiento de dominio mientras se hace la programación en parejas.

Cuestiones relacionadas