Esta noche he entrado en un debate serio, estoy metido en un foro, bueno no voy a engañarme en varios, y veo muchos hangouts,videos de youtube, revistas… bien tras hablar este tema con varios “Entendidos” del mundo de la programación y del mundo web, yo como desarrollador voy a dar mi opinion de lo que me parece el pair programming o bien denonimado programacion en parejas, creo que debo escribir algo sobre este tema ya que parece que empiezo a oirlo a todas horas y quiero sacar mis propias conclusiones. ¿Realmente es efectivo?. En pequeña mediana empresa para mi no lo es, En multinacional tal vez si lo sea, En proyectos grandes muy grandes para mi si lo es pero en proyectos pequeños no lo utilizaria. Definimos y empezamos a hablar de ello, espero os guste el articulo.
Lo primero ¿Que es el pair programming o programación en parejas?.
Esta programacion consiste en que 2 personas trabajan en un solo equipo, bien no se si me he explicado bien si. 2 personas – 1 solo ordenador siempre, bien tal vez como he escuchado tantas veces estos metodos de programacion eran muy efectivos voy a explicar la serie de ventajas y algun incoveniente que nosotros tenemos o yo como programador desde hace 10 años veo.
Tenemos 2 personas y un mismo ordenador, uno de ellos desarrolla mientras el otro compañero ayuda a revisar el codigo del compañero y opina sobre la manera de hacer las cosas, no creo que tenga que explicar mas sobre esta técnica, hay gente que dice que es un desperdicio de tiempo ya que es dividir la capacidad del equipo en un 50% cuando podemos producir un 100%, cuando el otro dia en el foro estuvimos hablandolo la persona que opino esto se han reido un poco de ella, uff menos mal que no he sido yo, ya que me limitaba a escuchar y a saber mas sobre el tema. Se han reido un poco por que dicen que su uso acaba mejorando el desarrollo en calidad e incluso en productividad.
Normalmente un programador no esta las 8 horas trabajando sin parar, salimos a por el té, café, bajan a echar un pito o incluso a comer un pincho, aunque no hiciesemos todas estas cosas nunca ibamos igualmente a estar concentrados con un codigo y programando sin parar, ya que parte del tiempo la empleamos en buscar informacion, funciones que aun no conocemos o si las conocemos no conocemos su sintaxis o la manera mas facil de hacer las cosas.
Bien esto que he comentado en este último parrafo lo arregla la programacion por parejas o pair programming. Esta quiero deciros que es una técnica muy debatida sobre todo y una de las mas conocidas, es una técnica de extreme programming, veremos alguna mas que nos guste para nuestros propios proyectos.
VENTAJAS DEL PAIR PROGRAMMING O PROGRAMACION POR PAREJAS
La primera ventaja para mi es el Aprendizaje y la formacion, todo empleado necesita un aprendizaje, una formacion y el conocimiento necesario para realizar una aplicación, bien esto con la programacion por pares se arregla ya que nadie lo sabe todo y si yo se algo de jquery que mi par no sea me preguntara por que lo hago asi, esto sirve para que chupemos los conocimientos, herramientas que una persona conoce y la otra no, vamos compartiendo técnicas de nuestro par a la vez que nosotros enseñamos a nuestro par las tecnicas necesarias para el aprendizaje.
Segunda Ventaja que podemos ofrecer a nuestro pair programming es el superar obstaculos, la he llamado así ya que atascarse en la programacion por parejas es muy complicado, si esto ocurriese como nos dijo un crack de la programacion en un blog en el año 2008, si tenemos 2 programadores malos en pair programming, la programacion y el programa va a ser igual de nefasto que por separado, 2 cabezas piensan mas que 1 y como siempre digo yo “ven ayudame que 4 ojos ven mas que dos”, esto que es que si nos atascamos entre los dos tenemos muchisimas mas facilidades de superar obstaculos y seguir hacia adelante.
Calidad esta es mi tercera ventaja dentro de la programacion o pair programming, bien en programas pequeños situaciones cortas, clases y objetos el codigo siempre va a tener que ser legible y ser chequeado por 2 personas, 2 personas siempre consideran varias alternativas para poder realizarlo ya que uno te puede discutir que es mejor un for que un foreach y por que, esto hace que los programas sean mas faciles de mantener, tengan una calidad extrema y que ninguno se confunda.
En mi cuarta ventaja vamos a decir que el coste es reducido, aunque os parezca una tonteria lo que este diciendo y que me digais, si son 2 sueldos con un ordenador pero como salio ayer debatiendo y tomando una cerveza con los chicos, ¿Cuantas veces vais a tener que retocar ese programa?. Yo creo que ninguna ya que entre los dos veran los fallos y el programa va a ser mas dificil de que falle que haciendolo uno solo, mas que nada por que cuando estan los dos a la vez mirando el codigo uno puede ver una variable no declarada que el otro no ve.
La quinta es la moral de los programadores, el dia que no te sale nada como te vas para casa??, creo que te vas mas desilusionado de no haber conseguido nada, esto es raro que en la programacion por pares ocurra ya que suelen salir las cosas muchisimo mejores.
Con mi sexta meto el Menos puestos de trabajo menos material, menos ordenadores, menos material de oficina solamente necesitariamos una silla adyacente mientras que si programamos solos necesitariamos otra mesa otro ordenador y demas, menos consumo y espacio mas reducido.
RESULTADOS Y CONCLUSIONES
Cuando realizamos bien la programacion en parejas y nos concentramos el uno por el otro y sabemos valorar el trabajo de nuestro compañero, experimentas menos interrupciones y menos distracciones que si usted lo hace solo, cuando se da una interrupcion una persona se dedica a resolver este problema mientras el otro se dedica a seguir pensando lo que estaban haciendo y una vez terminada esta interrupcion volvemos a nuestro trabajo con mucho trabajo ya realizado.
Un equipo de pair programming va a construir un código de mejor calidad siempre que un individuo solo, en los debates de por la noche la programacion en parejas sirve como una construccion de un codigo de calidad y la duda entre lo hago o no lo hago disminuye considerablemente entre los internautas.
Como consejos nos dicen que debemos cambiar las parejas de trabajo cada cierto tiempo para fomentar un buen ambiente de trabajo, tambien nos dicen que ayudamos a la gente mas timida a conocer otras personas y otras cosas y a abrirse mas en el camino.
A todo esto añadimos que en España hay poquisimas empresas que realizan el pair programming y para mi realmente es una verdadera pena, yo he conocido el par programming en mi casa a traves de una VPN conectado a otro escritorio remoto y con skype, creerme que el codigo no ha fallado nunca pero si la programacion la hubiese realizado yo solo hubiese fallado por todos los lados.
Fuente del artículo: http://www.examplesjquery.com/pair-programming-o-programacion-en-parejas-tecnicas-de-programacion/