Fracasos del Software


Es muy importante tener claro el motivo o las diferentes circunstancias que pueden ocurrir para ocasionar el fracaso de un software, porque razones fracasa el software y algo muy importante es cómo es posible evitarlo, o que acciones me permiten no llevar al software al fracaso, además se mencionan otros temas interesantes que tenemos de tener presente, así como algunos ejemplos de fracasos de software. Pues bien, la idea de esta “entrega número 1” es abarcar los temas de la primera presenta con del curso de Aseguramiento de la Calidad de Software de la mejor manera posible, dejando claro la materia que se investigara en fuentes externas y a su vez con la materia vista en clase con el profesor.

Es claro que existen varias características que son correspondientes a las causas más frecuentes por las cuales fracasan los proyectos de software, estas corresponden a la observación de aspectos claves en los procesos del desarrollo de un proyecto, como son la formulación, la comunicación, la planeación y la ejecución, los cuales se revisan a continuación:



Formulación


Standish luego de un estudio de 50.000 proyectos fallidos clasifica dentro de las principales causas por las cuales fracasan el 71% de los proyectos de desarrollo de software a: Requerimientos y especificaciones incompletas, Cambios frecuentes en los requerimientos y especificaciones, expectativas no realistas y a objetivos poco claros. Fonseca [1].

La formulación inicia cuando el departamento de ventas tiene el primer contacto con el cliente y es aquí donde se debe refinar la definición de sus necesidades con el propósito de tomar nota, analizar y retroalimentar sobre la información entregada con el fin de asegurar que lo que se entendió es lo que se requiere. Markus [3]. Es muy común en el desarrollo de proyectos de software que dadas las especificaciones del cliente no se realice un adecuado estudio de viabilidad técnico-financiera, lo que en últimas termina en el fracaso de los proyectos ya que se llevan a subestimar el costos y el tiempos y probablemente a sobreestimar los beneficios. Zabala [5].




Comunicación

La mayoría de los proyectos no fracasan por lo relacionado con el tema técnico, sino por el tema psicológico, particularmente en la comunicación. Gracia [6].

A criterio personal, la comunicación es sumamente necesaria para fomentar la interacción y vinculación entre los grupos de trabajo teniendo en cuenta que cada uno es experto en lo que hace y la idea está en que estos se complementen a través del intercambio de información. Además, creo que es recomendable escuchar a todos los miembros del grupo y hacerles saber que sus observaciones e ideas son importantes para el proyecto y que además son escuchadas, y que estas se incluirán dentro del proyecto, de esta manera se estará motivando la participación de los integrantes.

Una Implicación insuficiente de los usuarios en la definición, ejecución y control de actividades, según se observó en los resultados de una revisión de varios proyectos de desarrollo de software constituye una de las principales causas para que este tipo de proyectos no lleguen a la meta propuesta. Paredes [2].

Hacia finales del 2001 Piorum [4] realizó un estudio a cincuenta responsables de desarrollo de proyectos, aproximadamente, y encontró que los problemas de tipo humano como son la comunicación y los conflictos contribuyen en gran medida a que los proyectos de desarrollo de software fracasen.





Planeación

El fracaso de los proyectos se debe revisar desde las diferentes perspectivas, desde la técnica, ya que se contrata al personal que no tiene las capacidades requeridas, hasta una incorrecta visión de los negocios a nivel de la gerencia del proyecto. Romo [7].

Un enfoque incorrecto de la gerencia de los proyectos proporciona una gran probabilidad de terminar en proyectos fallidos, muy comúnmente, porque el plan de trabajo a seguir no fue adecuado. Humphrey [8].

Según el Dr. Daniel Tapia, Profesor Investigador del Centro de Investigación en Tecnologías de la Información (CITIS) de la Universidad Autónoma del Estado de Hidalgo menciona los siguientes errores como determinantes en el desarrollo de proyectos de desarrollo de software:
  • Se les da prioridad a los temas operativos y se descuida en gran medida la planificación, lo que conduce obviamente a una planeación muy deficiente.

  • También, se descuidan los objetivos de la organización y al no estar alineados con los de los proyectos no se les da la importancia que requieren.

  • Es decir, no se realiza una planeación estratégica que garantice el desarrollo eficaz del desarrollo de los proyectos.




Las personas en la planeación

Los proyectos que no lo logran su objetivo terminan generando costos adicionales tanto indirectos (por no disponer de los beneficios ofrecidos) como directos (al utilizar mayores recursos que los planeados), Aisemberg [9] y una de las causas es por disminuir costos en el recurso humano ocasionado que los proyectos vinculen menos personas que las requeridas o que vinculen personas que están en otros proyectos lo que hace que se atrasen porque contratan personas con baja capacidad técnica lo que redunda en la baja calidad de los entregables del proyecto.

Luego, los gerentes de proyecto a portan con su cuota al fracaso de los proyectos y lo hacen debido a que sus habilidades técnicas (duras) no son las requeridas para apoyar a sus equipo de trabajo o por la deficiencia en sus habilidades blandas como son las que tienen que ver con su interacción con su grupo de trabajo, sus principio, su carácter, sus valores, su empatía, su capacidad de liderazgo, de liderazgo, de resolución de problemas, de toma de decisiones, innovación, creatividad y delegación entre otras. Aramburo [10].

Tampoco hay de dejar de lado cambios en el personal clave del proyecto, quizá uno de los recursos más importantes, luego es importante planear y definir una buena matriz de funciones y responsabilidades ya que facilita una correcta selección del equipo de trabajo para luego comprometerlo y de esta forma garantizar su participación durante el tiempo estimado para llevar a cabo el proyecto. Figuerola [11].

Cuando no se planean y se definen correctamente los criterios de selección de las personas se puede conseguir una alta rotación del equipo de trabajo o contratar profesionales que por su incompetencia o inexperiencia ocasionen el fracaso del proyecto. Markus [3].



 La estimación de tiempo y costos en la planeación

Motivo durante muchos años ha sido el crear una métrica confiable para realizar estimaciones del tiempo y costo a la hora de definir proyectos de desarrollo de software. Jones [12].

Personalmente este punto es muy interesante, ya que la estimación del tiempo y los costos son temas que son muy difíciles de manejar, y estos a su vez están sujetos a cambios en los cronogramas o problemas que  puede ir surgiendo en el desarrollo del proyecto, aun así creo que las compañías serias y con gran experiencia han logrado cumplir de correcta y muy certera con sus predicciones en cuanto a costo y tiempo invertido, y pues esto es posible por la seriedad de trabajo y porque se han dado a la tarea de tomar nota de estos aspectos en la ejecución de sus proyectos a lo largo de su experiencia y que en el momento de definir nuevos proyectos lo usan como materia prima para una mejor estimación.  Y pues bueno como bien sabemos es de aquí donde se desprende la importancia de documentar los proyectos, de tal manera que se pueden elaborar las lecciones aprendidas y de estas se parte de un excelente punto de partida en la estimación de proyectos futuros. Otro aspecto muy importante es la correcta administración de los riesgos (recordando todo lo visto en curos de Administración de proyecto), donde se detallan todas las posibles acciones que se tomaran en cuanto suceda una afectación en los costos y tiempos del proyecto.

Standish menciona como una de las principales causas para que los proyectos fallen o no lleguen a los objetivos propuestos, es por la imposición de cronogramas irreales. Fonseca [1]



Ejecución

Según Humphrey las causas que más contribuyen en el fracaso de los proyectos son de tipo administrativo: “Software projects rarely fail for technical reasons; invariably, the problem is poor management. Technical problems often exist, but they are rarely decisive”. Paredes [2].

Standish señala como resultado de su estudio de proyectos fallidos que en la ejecución de proyectos de software se cometen errores por falta de soporte ejecutivo entre otras causas porque la gerencia del proyecto no logra que los usuarios finales participen activamente o porque no implementan nuevas tecnologías, es decir, por su incompetencia tecnológica, Fonseca [1].

La inexistencia o el no uso de las metodologías adecuadas para desarrollar los proyectos es una causa que atenta contra la correcta ejecución de los proyectos. Piorum [4].

Cuando no se es consciente de la importancia de acordar metodologías para evaluar la calidad es fácil caer en un deficiente control de calidad al trabajo realizado. Humphrey [8].




A continuación, se comentará sobre temas como “El cono de la incertidumbre”, “The Chaos Report” y algunos otros factores, que ciertamente son muy interesantes y que con base investigaba sobre el tema de fracasos de software, también encontraba información sobre estos temas que se relacionada entre ellos. Para continuar comentare cada uno de ellos de manera muy breve, pero con la idea de entender un poco estos temas.


El Cono de la Incertidumbre

El Cono de la Incertidumbre de Barry Boehm  representa el nivel de desconocimiento que se tiene de un proyecto en las distintas etapas del mismo y su impacto en las estimaciones. Como se puede ver en el gráfico en la etapa inicial la estimación puede variar ente 60% - 160%. Es interesante además notar que la estimación siempre tiene un error asociado, incluso en etapas avanzadas del proyecto. Sólo se puede saber cuánto duró el proyecto una vez terminado.




 The Chaos Report 

Por otra parte, The Standish Group ofrece un estudio estadístico (conocido como "The Chaos Report") con resultados reveladores en base a miles de proyectos relevados a lo largo de varios años. Los resultados son los siguientes:
·        
  •     Proyectos Exitosos: sólo el 16.2% de los proyectos son exitosos, es decir, completado dentro del tiempo y presupuesto estimados y con todas las funcionalidades especificadas implementadas.

  • Proyectos Problemáticos: el 52.7% del total de proyecto fue completado y es operacional, pero costó más de lo estimado, demoró más de lo estimado y ofrece menos funcionalidades de las inicialmente especificadas.

  • Proyectos Fracasados: el 31.1% del total de los proyectos fracasaron, es decir no llegaron a completarse por cancelarse en algún punto durante el ciclo de desarrollo.

Con cifras tan alarmantes resulta de interés profundizar en cada una, para lo cual podemos segmentar por tamaño de empresa:




Sólo 9% de los proyectos en grandes empresas son exitosos, 16.2% en el caso de medianas empresas y 28% para las pequeñas. Los proyectos problemáticos, en las grandes empresas es del 61.5%, en el caso de las medianas el 46.7% y para las pequeñas 50.4%. Los proyectos fracasados representan el 29.5% en las grandes empresas, 37.1% en las medianas y 21.6% en las pequeñas.

Si se analiza cada una de estas variables resulta afectada en los proyectos problemáticos y fracasados, vemos que en promedio los proyectos cuestan un 189% con respecto al presupuestado. La duración promedio es de 222% con respecto al estimado original y con respecto al alcance, los productos ofrecen, en promedio, sólo el 61% de las funcionalidades originalmente especificadas.


Factores determinantes

El estudio del Standish Group también se extiende a relevar qué factores son claves para determinar el éxito de los proyectos, el resultado es el siguiente:
  • Involucramiento del usuario (15.9%)
  • Soporte de la alta gerencia (13.9%)
  • Requerimientos claros (13%)
  • Planificación apropiada (9.6%)
  • Expectativas realistas (8.2%)
  • Hitos más pequeños (7.7%)
  • Personal competente (7.2%)



Ejemplos de fracasos de software


Correo electrónico de Facebook

El correo electrónico de Facebook, un producto que decía cambiar nuestras vidas y que realmente lo único que cambiaba era la ventana del navegador donde hacíamos lo mismo que en nuestro cliente de correo. Desde luego hubo mucha expectación, incluso se decía si servicios como Gmail o Hotmail se iban a resentir, pero a la larga ya hemos visto que ni el servicio era tan bueno, ni tan completo. Una integración con su servicio de mensajería y una dirección @facebook, todo para que no abandones la red social en ningún momento. En este caso ni el producto era tan bueno, ni entrar en una guerra entre clientes de correo electrónico tan fácil ni tan buena idea.


Ping

Y ya que hablamos de redes sociales, Apple también ha tenido su intento de crear una red social propia de algún modo. Y es en el tema musical, que tan bien domina y maneja con iTunes, que planteó esta red llamada Ping. Un concepto que no pareció demasiado atractivo a los usuarios de iTunes, que no le encontraron la gracia y se activaron cuentas muy por debajo de las expectativas de Apple. Quizá el concepto era demasiado novedoso, o quizá ya existía algo similar, o quizá el exceso de redes sociales temáticas tuvo la culpa. La cuestión es que Ping no acabó de despegar y Apple plantea darle carpetazo en breve. Una buena idea que por desgracia no tuvo su tiempo, y el hecho de no dejar de promocionarla con calzador (muchos emails y Ping por todas partes) no ayudaron a popularizarla.






     Logitech Revue y Google TV

Un producto que se presentó en el anterior Google I/O y que nos hizo soñar con una televisión totalmente interactiva e integrada con internet de manera perfecta. Nada más lejos de la realidad, aunque el producto es bueno y realmente funciona bien los usuarios de Google TV se han quedado un poco desamparados. O al menos eso es lo que parece, ya que parece que Google no está dando un soporte tan pleno como cabría esperar del producto, y Logitech se ha retirado  definiendo su relación con Google como “uno de los errores más grandes de Logitech”. Quizá una versión prematura de un software que podría destacar más de lo que lo hace, o el problema que tiene Google para saber vender sus productos pueden ser la causa. Veremos si con los televisores con Google TV integrado acaba de despegar o definitivamente es otro fracaso.



WebOS

WebOS es un sistema operativo especialmente diseñado para superficies táctiles que creó Palm en 2009. Un sistema multitarea que usa Java, HTML5 y CSS para funcionar y que causó un gran revuelo cuando se presentó al público. Pero, aunque hubo cierta esperanza de que acabara de despegar con la compra por parte de HP de Palm, finalmente parece ser que HP no tuvo la paciencia suficiente ni las ganas de seguir invirtiendo dinero en el sistema. Y es que crear un sistema operativo nuevo no es tan fácil, y hay muchísimos factores que hay que ir puliendo poco a poco.







Conclusión

Al revisar la información de los distintos autores se encontró que son distintas las causas por las cuales los proyectos de desarrollo de software fracasan y además es notable que se observa una alta coincidencia con respecto a los fracasos en el software y se puede afirmar que estas causas siguen siendo las mismas, lo que claramente indica que al momento de desarrollar los proyectos de software no se hace una revisión rigurosa al interior de cada una de las etapas de desarrollo, lo que al final causa las mismas equivocaciones.  Personalmente es interesante como las principales causas de fracaso de desarrollo de proyectos son un tipo de “guía” para tener en cuenta a la hora de darle prioridad a las actividades que hacen parte de los proyectos. Finalmente tenemos que tener muy claro y saber cuáles son las principales causas por las cuales fracasan los proyectos, además saber porque se repiten, y así evitar inconvenientes en los proyectos futuros para que se eviten cometer los mismos errores.




Referencias bibliográficas




[4] Piorum Daniel, (2003). http://www.degerencia.com/articulo/%20por_que_fracasan_los_proyectos (octubre del 2014)

[5] Zabala Jesús, (2004). http://www.youtube.com/watch?v=8fRBHQEVmLE (noviembre del 2014)

[6] Gracia Joaquín, (2004). Comunicación en Equipo de Software. En: http://www.ingenierosoftware.com/equipos/comunicacion.php (octubre del 2014).


[8] Humphrey Watts, (2002). Winning with software an executive strategy. Boston. Pearson Education Inc.,90 p.


[10] Aramburo Jorge, (2005). http://acis.org.co/ porque fracasanlosgerentesdeproyecto.ppt (octubre del 2014).


[12] Jones Carpers, (2008). Estimación de costos y administración de proyectos de software. México. MCGraw Hill, 110 p.

[13]Buonamico, D. (22 de septiembre de 2013). Camino Ágil . Obtenido de http://www.caminoagil.com/2013/09/porque-fracasan-los-proyectos-de-software-no-agiles.html


Comentarios

Entradas populares de este blog

Revisiones Estáticas - IEEE-1028: revisiones de software & Modelos de desarrollo

Plan de Pruebas Y Plantilla de Plan de Pruebas