Errores clásicos en desarrollo de software


Hace unas semanas se ha publicado la actualización del Whitepaper «» de la consultora , que está disponible para de manera gratuita.

Este trabajo de , autor del libro «Rapid Development», recopila los errores más comunes en el proceso de desarrollo de software y tiene como objetivo el ofrecer un vistazo único a los factores de riesgo más comunes. Originalmente la lista se inició con 36 errores a partir de la publicación del libro en 1996, y a la fecha reune datos obtenidos del trabajo con más de 1000 clientes de Construx.

Entre las fuentes que han aportado para la elaboración de dicha actualización se encuentran: jefes o arquitectos de software (55%), gerentes (11%), gerentes técnicos o con doble rol (6%), y técnicos (22%).

Entre los primeros 10 errores más frecuentes se identifico a los primeros 5 con el modo de «Casi siempre» y a los sub-siguientes como «a menudo»:

  1. Cronogramas demasiado optimistas
  2. Expectativas irreales
  3. Aseguramiento de calidad infimo
  4. Oficinas ruidosas y hacinadas
  5. Confusión de estimados con objetivos
  6. Excesiva aplicación de multi-tarea
  7. Pesadilla de características
  8. Pensamiento iluso
  9. Gestión de riesgo insuficiente
  10. Omisión de tareas necesarias para estimados

Entre ellos se clasifico como de alto impacto con una criticidad de «Catastrófico» y «serio» en el siguiente orden:

  1. Expectativas irreales (83%)
  2. Personal inadecuado (78%)
  3. Cronogramas demasiado optimistas (78%)
  4. Pensamiento iluso (76%)
  5. Aseguramiento de calidad infimo (72%)
  6. Diseño inadecuado (72%)
  7. Falta de auspicio del proyecto (71%)
  8. Confusión de estimados con objetivos (71%)
  9. Excesiva aplicación de multi-tarea (71%)
  10. Falta de involucramiento del usuario (70%)

Es particularmente interesante observar que 35 de los 42 errores clásicos se clasificaron como de impacto catastrófico o serio por mas del 50% de participantes.

El artículo ofrece además métrica de exposión al riesgo (RE) que mide la severidad y el impacto de forma aproximada, básicamente obtenida del producto de ambos criterios bajo la fórmula:

RE = severidad * impacto.

Una de las cosas que me llamo la atención fue el tema de «Wishful thinking» o pensamiento iluso, que ha sido calificado en la posición 4. A veces ocurre que en la gestión del proyecto se cierra totalmente en la idea de que va algo va a funcionar cuando no se tiene base concreta o razonable para pensar de que así será. Costrux indica que esto puede llevar a grandes problemas si se da al inicio del proyecto. Sin embargo, lo más grave es que menoscaba el planeamiento adecuado y puede ser la raíz de otros problemas.

Como tantos de los temas en gestión de proyectos de diversa índole, este no deja de tener al factor humano como clave. Fuera de buenas prácticas, métricas, procesos o metodologías, si el personal que lidera el proyecto se cierra bajo una visión irreal esta puede tener consecuencias serias para la organización.

El otro tema que me parece interesante es el multi-tarea excesivo. Generalmente se suele confundir al desarrollo de proyectos que emplean prácticas de metodologías ágiles y etiquetarlos con el nombre de alguna de estas, sin tomar en cuenta todos sus aspectos. El problema con el excesivo uso de multi-tarea es que, según los estudios, cada «switch» entre tareas puede tomar de 5 a 30 minutos de «para» de desarrollo mientras la persona cierra el flujo de trabajo de un proyecto y se inserta en otro.

Finalmente el tema del ambiente laboral resulta vital, ya que un entorno ruidoso o demasiado hacinado evita la concentración y el estado necesario que se requiere para trabajar y obtener altos niveles de productividad. Se ha determinado que los trabajadores que tienen oficinas silenciosas y privadas tienden a deempeñarse sinificativamente mejor que aquellos que ocupan cubículos o bahías ruidosas y demasiado hacinadas.

Recomiendo leer este trabajo si trabajas o te interesa el tema de desarrollo de software, en especial si estas a cargo de proyectos o su gestión.