Algunos aspectos a tener en cuenta durante el desarrollo de software

Visitando el blog de AboutScrum encontré un par de artículos que me parecieron muy interesantes y que resumo a continuación.  El primero de ellos habla de cinco prácticas comunes que se deben evitar cuando se desarrolla software en grupos y que pueden ir en detrimento del éxito del proyecto.

  1. Creer que todos los integrantes del grupo son iguales y tratarlos como tal. Todas las personas son diferentes entre sí, todos tienen sus propias fortalezas y sus debilidades particulares.  No potenciar las primeras y minimizar las segundas es desperdiciar las aptitudes del personal.
  2. Seguir con rigurosidad los procesos y procedimientos. Estos fueron creados para evitar los errores y permitir depurar los existentes.  Si el grupo encuentra una mejor y mas eficiente manera de desarrollar sus funciones dentro de unas condiciones tolerables debería tenerse en cuenta esta opción.  Lo importante no son las reglas sino el desarrollo del producto.  Esto aplica particularmente a los desarrolladores de software cuya función principal es la de resolver problemas y que probablemente, con su visión particular del mundo, encuentren diferentes formas de acercarse a los problemas.  Los procesos no deben ser camisas de fuerza sino recomendaciones bajo las cuales se acostumbre a llegar al éxito, con la posibilidad de una razonable desviación: “el proceso es creado para el equipo, no el equipo para el proceso”.
  3. Crear un diseño detallado antes de iniciar la implementación. Se sugiere realizar una mediación inteligente entre el diseño de un buen plan y el diseño de un plan demasiado riguroso, este último se convierte en una guía paso a paso para seguir al pie de la letra y de esta manera se extirpa de él la posibilidad de innovar y evolucionar.
  4. Oponerse de manera obstinada al cambio de requerimientos. Los cambios sobre la marcha son altamente temidos, modifican cronogramas y alteran presupuestos, sin embargo el cambio en las condiciones del medio es una realidad cotidiana.  Tratar de evitarlo es destruír la evolución del proyecto mismo y condenarlo a la mediocridad y probablemente al fracaso.
  5. Asignar las tareas según la disponibilidad de recursos. Esta tarea cotidiana constituye la dirección del proyecto en el día a día y amerita la toma de decisiones de manera inteligente, maximizando el beneficio para el proyecto en pos de su éxito.  De esta manera, la toma de decisiones no debería estar basada en la disponibilidad de recursos sino en la gestión de los talentos.  Una tarea importante no debería asignársele a un ingeniero promedio simplemente porque tiene tiempo libre: la pondría en un riesgo inminente.  De igual manera, a un ingeniero talentoso no se le deberían asignar triviales ya que sería un desperdicio de sus aptitudes y disminuiría su nivel de satisfacción en el proyecto.

El otro artículo habla de la importancia de la conformación de un buen grupo de trabajo frente a cualquier otra variable de un proyecto que incida en su éxito.  Este artículo parece complementar el anterior, en especial al quinto punto.

  • La pieza central de cualquier proyecto exitoso es el grupo de personas que lo construyó.
  • No existen herramientas, métodos de desarrollo ni cantidades de tiempo o dinero que puedan sustituír la importancia del grupo de trabajo.
  • La creencia de que “con un buen sistema y procesos afinados se puede construír cualquier cosa con un grupo de trabajo mediocre” es falsa.  Sólo los equipos dirigidos, motivados y talentosos pueden desarrollar productos excepcionales.
  • Las metodologías pesadas para el desarrollo de productos y procesos sólo pueden lentificar a los equipos para garantizar que los miembros mediocres se mantegan al día.  El costo es realmente muy alto.
  • El aumento de personal no necesariamente acerca las fechas de entrega, probablemente aumenta el trabajo de capacitación y coordinación, los costos y disminuye la cohesión del grupo, trayendo consigo el efecto exactamente opuesto.
  • Nueve mujeres no pueden tener a un bebe en un mes.
  • Por esto es muy importante el contratar al personal mas talentoso posible.  Es mejor un buen ingeniero que diez mediocres.  Una persona mediocre disminuye ostensiblemente el desempeño de todo el grupo.
  • El sistema debe ser de procesos ligeros y flexibles, el personal talentoso es quien realmente sabe como se deben hacer las cosas y no necesita que les indiquen el camino.
  • Remueva al personal mediocre o en su defecto, asígnele tareas que nos sean críticas para el éxito del proyecto.
  • Cree la cultura del talento.  La satisfacción y la remuneración del personal son muy importantes, las personas talentosas gustan de trabajar con otras personas talentosas.

Enlaces.

Leave a Reply

Your email address will not be published. Required fields are marked *