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.
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
[1] Fonseca Orlando, (2008). http://http-peru.blogspot.com/2008/03/porqu-fallan-los-proyectos-informticos.html (octubre del 2014).
[2] Paredes Arlet, (2012).
https://arlethparedes.wordpress.com/2012/08/26/porque-fallan-los-proyectos-de-software/
(octubre del 2014).
[3] Markus Marcel, (2000).
http://asq.org/quality-progress/2000/11/emerging-sector/failed-software-projects-not-anymore.html
(octubre del 2014)
[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).
[7] Romo Ascari, (2010).
http://mundobyte-x.blogspot.com/2010/03/ultima-revision-17-de-marzo-2010.html
(octubre del 2014)
[8] Humphrey Watts, (2002).
Winning with software an executive strategy. Boston. Pearson Education Inc.,90
p.
[9] Aisemberg Daniel, (2011).
http://www.redusers.com/noticias/%C2%BFpor-que-fracasan-los-proyectos-parte-i/
(octubre del 2014)
[10] Aramburo Jorge, (2005).
http://acis.org.co/ porque fracasanlosgerentesdeproyecto.ppt (octubre del
2014).
[11] Figuerola Norberto, (2010).
http://es.slideshare.net/NFiguerola/principales-causas-de-fracasos-en-proyectos-it?related=2
(noviembre 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
[14]Callejas,
I. (02 de junio de 2012). Omicrono. Obtenido de
http://omicrono.elespanol.com/2012/06/los-mayores-fracasos-de-la-historia-de-la-tecnologia-software-y-servicios/
Comentarios
Publicar un comentario