Feed de Edgaragg

Artículos relacionados

Facebook Share

Share on facebook

Designed by:
SiteGround web hosting Joomla Templates
¿Por que fracasan los proyectos de software? Parte I PDF Imprimir E-mail
Escrito por edgaragg   
Martes, 09 de Diciembre de 2008 12:31

Muchas empresas han pasado por la experiencia de tener un proyecto que por una u otra razón termina de manera catastrófica.   Existen varios tipos de fallas que conllevan al fracaso de un proyecto, muchas de estas causan que el proyecto se cancele, otras fallas aparecen durante la implantación y por último están las que aparecen tiempo después de implantado (los cuales tienden a ser los más difíciles de solucionar y los más costosos).

En mi experiencia con proyectos de desarrollo de software, una vez terminado el desarrollo y la implantación, el equipo de desarrollo es reasignado a otros proyectos.  Esto ocurre muy temprano (apenas culmina la implantación) y cuando aparece el error no hay personal que pueda dar respuesta rápida. 

Por otra parte, los usuarios del nuevo sistema se enfrentan a una aplicación desconocida y además se involucran en el proyecto muy tarde, por lo que no tienen el conocimiento necesario para manejar la aplicación correctamente.

Considero que es una buena práctica involucrar a los usuarios del proyecto en cierto momento del desarrollo.  Preferiblemente durante las primeras etapas de desarrollo y con un prototipo funcional.  El feedback que los usuarios puede ser determinante en el éxito o fracaso de una aplicación.  Esto se debe fundamentalmente a que los usuarios de una aplicación conocen la parte operativa del negocio, y través de sus interacciones con el sistema podemos saber donde se está fallando y que cosas se pueden mejorar.  Además de que al usar un prototipo están haciendo pruebas en la aplicación, por lo que ayudan a la detección de errores antes de la implantación final.

Quizás una de las causas más comunes del fracaso en un proyecto es la mala toma de decisiones en el proyecto por parte de los gerentes y altos ejecutivos de la empresa.  Muchas veces la toma de decisiones se ve obstaculizada por una falta de inversión en el proyecto, sobre todo en la fase de análisis y diseño.  Lo que causa que en muchos casos, se enfoque el proyecto en el que debe hacer la aplicación, olvidándose del cómo.   

Es conocido que los requerimientos se dividen en dos tipos, funcionales y no funcionales.  Los requerimientos funcionales son aquellos que nos dicen que es lo que una aplicación debe hacer.  Los funcionales nos proveen las limitaciones y restricciones del sistema, como por ejemplo, tiempo de ejecución, seguridad, ambiente de ejecución, interactividad con otros sistemas, etc.

Los requerimientos no funcionales nos ayudan a decidir cómo hacer la aplicación.  Por lo tanto, cuando se dijo anteriormente que se enfoque el proyecto en el que debe hacer olvidándose del cómo, estamos hablando de enfocarse en los requerimientos funcionales y olvidarse de los no funcionales.

Al olvidarnos de que existen restricciones y limitaciones durante el desarrollo de una aplicación, podemos terminar desarrollando una aplicación que está fuera de estas limitaciones, corriendo el riesgo de que la aplicación no pueda ser implantada.  La poca importancia que se le da a los requerimientos no funcionales hace que estos sean puestos en un segundo plano, cuando en la realidad estos requerimientos son tan importantes como los funcionales.

Si a esto le agregamos la volatilidad de los requerimientos funcionales (los cuales cambian a lo largo del desarrollo), y la urgencia con la que estos deben ser implementados para cumplir con la agenda, pues menos atención se le presta a los requerimientos no funcionales, sin saber que se puede poner en riesgo el éxito del proyecto.

Uno de los errores más comunes es no realizar pruebas para determinar si los requerimientos no funcionales se cumplen a cabalidad, error que se comete porque se asume que estos ya se están cumpliendo.   Otra vez, se están tomando riesgos que pueden conllevar al fracaso del proyecto.

Una aplicación puede desarrollarse e implantarse exitosamente y pasar ciertas pruebas de aceptación, y sin embargo, pueden fallar estrepitosamente después de un tiempo de operación.   Por esta razón, el éxito de un proyecto no debe ser determinado al momento de la implantación.  Más bien debe hacerse un seguimiento durante un tiempo mientras este está en producción.  El tiempo que debe durar este seguimiento y las métricas a utilizar dependerán del impacto que la aplicación tenga en el negocio.

Actualizado ( Martes, 09 de Diciembre de 2008 12:37 )