Desarrollo de Software

Analistas Ágiles

0

“Los miembros de un equipo de Scrum están acostumbrados a ver dos nuevos roles en sus proyectos: el ScrumMaster y el Product Owner. Pero los cambios a un equipo de proyecto Scrum van mucho más allá de la introducción de dos nuevos roles. Por ejemplo, la naturaleza auto-organizada de un equipo Scrum elimina el rol del líder técnico, los individuos deben ver más allá de sus especialidades y ayudar al equipo de cualquier forma posible; el énfasis se traslada de la simple escritura de requerimientos a la conversación sobre los mismos, y los equipos deberán producir algo tangible para el final de cada Sprint. Porque estos cambios alteran los roles y relaciones dentro del equipo y la organización, muchos contribuyen a los desafíos que estas organizaciones enfrentan cuando adoptan Scrum.”

Esta es una serie de traducciones al español del artículo publicado el 12 de Enero en InfoQ con un extracto del libro “Succeeding with Agile: Software Development Using Scrum” de Mike Cohn. Hoy publico solo la sección de “Analistas” como parte de la serie “Roles ágiles“.

Analistas

Con un conocimiento íntimo del producto y fuertes habilidades de comunicación, algunos analistas van a tender a transformarse en Product Owners. (más…)

Triple Constraint

Triple Restricción Ágil

0

Volviendo de las vacaciones, este año que pasó fue bastante movilizante; lleno de cambios y desafíos. Este año que vino es uno del cual soy muy optimista; veo muchas oportunidades, espacios de discusión y nuevas ideas apareciendo.

Año Nuevo: blog post nuevo. Esta oportunidad quiero escribir acerca de una comparación/competencia que escucho mucho en el mundo ágil: PMPs en un entorno ágil.

Muchas veces escucho preguntas o argumentos de parte de PMPs (yo mismo también soy PMP) acerca de cómo implementar agile, por qué agile no aplica en un entorno PMI, y demás.

Están sucediendo muchas cosas en el mundoPMI-Agile, especialmente desde mediados del  2009. Un enfoque interesante que he escuchado sobre cómo ayudar a PMPs a cambiar su filosofía/o entender mejor la forma en la que agile funciona a alto nivel es:

Agile se concentra en tres aspectos diferentes:

  1. Prácticas de Ingeniería
  2. Prácticas de Liderazgo
  3. Prácticas de Gestión de Proyectos

Enfocándonos solo en el aspecto de la Gestión de Proyectos, podemos hablar de la conocida “restricción triple”:

En cualquier entorno de Gestión de Proyectos, las variables más importantesa monitorear son: Alcance, Tiempo y  Costo. (También lo son la Calidad, la Satisfacción del Cliente y los Riesgos; pero en esta oportunidad prestaremos especial atención a las primeras tres).

la Gestión de Proyectos tradicional determina que siempre que se comience un proyecto, se debería comenzar por el Alcance. Una vez que elalcance esté lo suficientemente claro uno puede comenzar a “jugar” con los recursos, asignaciones, secuencias de actividades, etc., que nos llevarán a determinar el Tiempo que va a llevar y el Costo del trabajo. Resultado: unlindo Gantt chart.

Luego uno presenta este Gantt chart a los sponsors y la reacción típica es: Nos solicitan reducir el Tiempo y el Costo. :)

Luego, como Project Manager, uno comienza a pensar en incrementar el equipo, dividir el trabajo en diferentes fases, construir en paralelo (incrementando el riesgo, por supuesto). El desafío tradicional luego se convierte en elproblema tradicional: Gantt charts muycomplejos, con dependencias complejas que van a requerir coordinación compleja.

En vez de eso, el enfoque ágil ataca el problema desde otra dirección; el punto de partida es el Tiempo y el Costo:  Cuánto dinero se quiere invertir durante cuento tiempo? Esto da como resultado un equipo durante una tiempo predeterminado, y el compromiso de entregar la mayor cantidad de software funcionando posible.

De esa manera tenemos:

  • Un Costo fijo: El equipo en sí (horas de trabajo).
  • UnTiempo fijo: Time boxes, iteraciones, releases.
  • Un Alcance variable: El alcance es el lado variable del triángulo, el cuales inyectado iteración trás iteración y transformado en software funcionando.

En mi opinión, esta es la explicación más clara de la diferencia de puntos de vista de cada enfoque: tradicional y ágil. ¿No te parece?

Fotografía por Yui Kubo: http://www.flickr.com/photos/yu-kubo/398714467/

G-Y

Trabajando con la Generación Y

1

GY

Liderar un equipo de gente joven (y no me estoy refiriendo al niño interior que todos llevamos dentro, sino a adultos jóvenes en sus 20s) requiere conocerlos y entender cómo interactúan con las metodologías agiles.

¿Quiénes son? La generación “Y” o también llamados “Millennials”, “Internet Generation” e incluso  “Google Generation”  es la que comprende al grupo poblacional nacido entre 1981 y 1997. Y ya se han convertido en la nueva “fuerza laboral” mundial.

Es la generación de MTV y las zapatillas “All Stars” que vivió el fin de la Guerra Fría, la expansión de modelos familiares no tradicionales, y la revolución tecnológica. Son los jóvenes que no conciben la vida sin tecnología (SMS,  telefonía celular, IPods, Reality Shows, Internet 2.0) y que probablemente no podrían vivir sin ella.

La fuerte identificación de grupo a partir del cual construyen su identidad personal es una de sus características más contundentes (¿a quién no le suena  el concepto de “tribus urbanas”?). No piensan en un futuro teniendo como eje el trabajo  (como sí sucede en las generaciones anteriores), ni mucho menos piensan en un proyecto a largo plazo. Su proyecto de vida es el “hoy”, son curiosos, les encanta experimentar, cambiar de trabajos y no “casarse con nadie”.

Por alguna razón, a diferencia de la generación que los antecede, no sienten entusiasmo por la vida pública y no aceptan los modelos tradicionales de autoridad, siendo más colaborativos que jerárquicos.

¿Qué es lo que hay que tener en cuenta para trabajar con la Generación Y en el desarrollo de tecnologías, pero también en cualquier otro tipo de trabajo?

  • La Generación Y es ávida de aprender, y les gusta mantenerse al día con los avances tecnológicos, algo muy positivo para captar rápidamente nuevos conceptos y modalidades de trabajo
  • Mantienen un nivel muy bajo de concentración, y se aburren fácilmente. Por ello  son recomendables las tareas que no se expanden en el tiempo y que brindan resultados concretos a corto plazo. Esto no quiere decir que no les guste trabajar, al contrario, son muy entusiastas, pero requieren gratificaciones inmediatas (tal como las obtuvieron en su infancia)
  • Por otro lado,  ignoran los planes a largo plazo, los alcances estrictamente definidos. Tienen afinidad con la planificación y el desarrollo incremental del cual quieren participar activamente.
  • Son impacientes: no pueden esperar para obtener un mejor puesto, incluso aunque recién hayan empezado y no cuenten con la experiencia necesaria. Hay que ayudarlos a controlar su ansiedad.
  • Están acostumbrados al caos, y de alguna manera no les disgusta la confusión. Esto representa una ventaja si se consideran los constantes cambios que vemos hoy en los negocios. Sin embargo, requieren de un fuerte acompañamiento que los guie y un entorno tal que acepte estos cambios y los mantenga enfocados hacia objetivos en continua redefinición.
  • Son flexibles (tal vez demasiado). La variedad de opciones que tienen al alcance de su mano les hace pensar que si no obtienen lo que quieren de algún modo, pueden conseguirlo de otro. Esto afecta el empleo en la medida en que a la hora de elegir un trabajo, muchos de ellos no trabajan “porque lo necesitan” sino “porque quieren” y los horarios, las exigencias, el salario  y el crecimiento laboral son cruciales a la hora de elegir quedarse o irse de un trabajo.
  • “multi-tasking”: Desarrollaron una gran habilidad para manejar más de un tema al mismo tiempo. Lo que a simple vista parece una ventaja, Puede tornarse en un problema por la dispersión y el retraso que el multi tasking genera en contraposición a trabajar enfocado en una cosa por vez.

Aun son muy jóvenes. Aunque parece que “lo supieran todo” por el modo en que se presentan, los jóvenes Y no cuentan con una gran experiencia en el mercado laboral, y no sabemos exactamente qué esperar de ellos en su comportamiento laboral. Además, Su reciente incorporación al mercado de trabajo y su modo de trabajar puede traer conflictos de integración  con las generaciones anteriores. Por ello es necesario conocer cómo actúan y mantenerse alerta en pos del equipo.

Con sus pros y sus contras, la generación Y llego para quedarse y las metodologías ágiles van a  crecer con ellos, retrospectiva tras retrospectiva, incorporando su input y siendo modeladas en base a su comportamiento. Definitivamente.

Read this article in English

Multiples Monitores

Incrementando la Productividad utilizando Múltiples Monitores

3

Hace algunos meses leía un artículo publicado inicialmente por Jason Calacanis y traducido al español por Alec Oxenford acerca de como ahorrar dinero implementando tips rápidos y simples en el inicio de una start-up. Uno de los puntos más discutidos era la utilización de múltiples monitores para maximizar la productividad de los desarrolladores.

Hoy encontré en Flikr una foto del home office de Stefan Didak

Multiples Monitores

Esto terminó por despertar mi curiosidad -además del asombro causado- sobre cómo se altera la productividad de los desarrolladores mediante la utilización de múltiples monitores …

Luego de investigar un poco en busca de material estadístico y pruebas del incremento de productividad no encontré más que experiencias personales redactadas por individuos que hicieron la prueba por mera curiosidad y/o papers de empresas fabricantes de monitores o placas de video.

Un artículo del New York Times comenta que el incremento en la productividad va de un 20% a un 30%. Las experiencias son de escritores que pueden trabajar en sus artículos y al mismo tiempo ver el outline o draft en el cual están basando sus ideas; diseñadores que pueden editar imágenes en un monitor y al mismo tiempo tener como referencia una previa (sin editar) en el segundo monitor. Webshoppers que pueden comparar artículos de forma más sencilla.

Obviamente todas estas cosas también pueden hacerse con un único monitor; aquí el tema es el incremento de la velocidad. Uno no tarda lo mismo en dirigir su mirada hacia el monitor de al lado que en bucar la ventana en la barra de tareas y hacerle click con el mouse. Si, los más expertos utilizan Alt-Tab; aquí el problema es cuando uno se pasa de ventana, tiene que 1) volver utilizando Alt-Shift-Tab o 2) dar la vuelta completa. Esto sí es una perdidad de tiempo muy habitual.

Por otro lado, dí con un artículo publicado en Computerworld; en el mismo hacen hincapié en que los empleados prefieren seguir con un único monitor que les permite tener mucho espacio libre en sus escritorios a perder ese espacio por la utilización de dos monitores.

En lo que a mí respecta, yo suelo trabajar con una notebook de 14 pulgadas, widescreen. Durante un tiempo tuve la oportunidad de tener un segundo monitor en la oficina, de 17 pulgadas, y la comodidad que eso me dió fue realmente alta. Me permitía trabajar en los planes de proyectos, seguimientos, planillas, documentos mientras en el otro monitor tenía el correo electrónico, leía y escribía e-mails o lo alternaba con MS project, el cual es muy incómodo de utilizar en un monitor de 14 pulgadas.

Un segundo monitor, definitivamente puede incrementar la comodidad y velocidad; consecuentemente incrementando la productividad. Lo que restaría analizar es si el incremento de costos asociado a la compra y mantenimiento del doble de monitores realmente vale la pena … Esto lo dejo a criterio de cada uno.

Read This Article in English

Ir arriba