Mitos del Software
Muchas de las causas de las crisis del software se pueden encontrar en
una mitología que surge durante los primeros años del desarrollo del software.
Hoy, la mayoría de los profesionales competentes consideran a los mitos por lo
que son actitudes erróneas que han causado serios problemas, tanto a los
gestores como a los técnicos. Sin embargo, las viejas actitudes y hábitos son
difíciles de modificar, y todavía se cree en algunos restos de los mitos del
software.
Mitos de gestión.
Los gestores con responsabilidad sobre el software, como los gestores en
la mayoría de las disciplinas, están normalmente bajo la presión de cumplir los
presupuestos, hacer que no se retrase el proyecto y mejorar la calidad.
Mito.
Tenemos ya un libro que está lleno de estándares y procedimientos para
construir software. ¿No le proporciona ya a mi gente todo lo que necesita saber?
Realidad.
Esta muy bien que el libro exista, pero ¿se usa?, ¿conocen los
trabajadores su existencia?, ¿refleja las prácticas modernas de desarrollo de
software?, ¿es completo? En muchos casos, la respuesta a todas estas preguntas
es "no".
Mito.
Mi gente dispone de las herramientas de desarrollo de software más
avanzadas, después de todo, les compramos las computadoras más modernas.
Realidad.
Se necesita mucho más que el último modelo de computadora grande (o de
PC) para hacer desarrollo de software de gran calidad. Las herramientas de
ingeniería del software asistida por computadora (CASE), aunque la mayoría
todavía no se usen, son más importantes que el hardware para conseguir buena
calidad y productividad.
Mito.
Si fallamos en la planificación, podemos añadir más programadores y
adelantar el tiempo perdido (el llamado algunas veces "concepto de la
horda mongoliana").
Realidad.
El desarrollo de software no es un proceso mecánico como la fabricación.
En palabras de Brooks [BRO75]: << ... añadir gente a un proyecto de
software retrasado lo retrasa aún más>>. Al principio, esta declaración
puede parecer un contra sentido. Sin embargo, cuando se añaden nuevas personas,
le necesidad de aprender y comunicarse con el equipo puede y hace que se
reduzca la cantidad de tiempo gastado en el desarrollo productivo. Puede
añadirse gente, pero sólo de una manera planificada y bien coordinada.
Mitos del cliente.
Un cliente que solicita una aplicación de software puede ser una persona
del despacho de al lado, un grupo técnico de la sala de abajo, el departamento
de ventas o una compañía exterior que solicita un software bajo contrato. Los
mitos conducen a que el cliente se cree una falsa expectativa y finalmente,
quede insatisfecho con el que desarrolla el software.
Mito.
Una declaración general de los objetivos es suficiente para comenzar a
escribir los programes; podemos dar los detalles más adelante.
Realidad.
Una mala definición inicial es la principal causa del trabajo baldío en
software. Es esencial una descripción formal y detallada del ámbito de la
información, funciones, rendimiento, interfaces, ligaduras del diseño y
criterios de validación. Estas características pueden determinarse sólo después
de una exhaustiva comunicación entre el cliente y el analista.
Mito.
Los requisitos del proyecto cambian continuamente, pero os cambios
pueden acomodarse fácilmente, ya que el software es flexible.
Realidad.
Es verdad que los requisitos del software cambian, pero el impacto del
cambio varía según el momento en que se introduzca. La Figura 1.5 ilustra el
impacto de los cambios. Si se pone cuidado al dar la definición inicial, los
cambios solicitados al principio pueden acomodarse fácilmente. El cliente puede
revisar los requisitos y recomendar las modificaciones con relativamente poco
impacto en el costo. Cuando los cambios se solicitan durante el diseño del
software, el impacto en el costo crece rápidamente. Ya se han acordado los
recursos a utilizar y se ha establecido un esqueleto del diseño. Los cambios
pueden producir trastornos que requieran recursos adicionales e importantes
modificaciones del diseño; es decir, costo adicional. Los cambios en la
función, rendimiento, interfaces u otras características, impacto importante
sobre el costo. Cuando se solicitan al final de un proyecto, los cambios pueden
producir un orden de magnitud más caro que el mismo cambio pedido al principio.
Mitos de los desarrolladores.
Los mitos en los que aún creen muchos desarrolladores se han ido
fomentando durante cuatro décadas de cultura informática. Durante los primeros
días del desarrollo del software, la programación se veía como un arte. Las
viejas formas y actitudes tardan en morir.
Mito.
Una vez que escribimos el programa y hacemos que funcione, nuestro
trabajo ha terminado. Realidad. Alguien dijo una vez: << cuanto más
pronto se comience a escribir código, tardara en terminarlo >>. Los datos
industriales indican que entre el cincuenta y el sesenta por ciento de todo el
esfuerzo dedicado a un programa se realizará después de que se le haya
entregado al cliente por primera vez.
Mito.
Hasta que no tengo el programa << ejecutándose >> realmente
no tengo forma de comprobar su calidad.
Realidad.
Desde el principio del proyecto se puede aplicar uno de los mecanismos
más efectivos para garantizar la calidad del software: la revisión técnica
formal. La revisión del software es un << filtro de calidad >> que
se ha comprobado que es más efectivo que la prueba, para encontrar ciertas
clases de defectos en el software.
Mito.
Lo único que se entrega al terminar el proyecto es el programa
funcionando.
Realidad.
Un programa funcionando es sólo parte de una configuración del software
que incluye programas, documentos, y datos. La documentación es la base de un
buen desarrollo y, lo que es más importante, proporciona guías para la tarea de
mantenimiento del software.
Muchos profesionales del software reconocen la falacia de los mitos
descritos anteriormente. Lamentablemente, las actitudes y métodos habituales,
fomentan una pobre gestión y malas prácticas técnicas, incluso cuando la
realidad dicta un método mejor. El reconocimiento de la s realidades del
software es el primer paso hacia la formulación de soluciones prácticas para su
desarrollo.
FUENTE:http://www.sites.upiicsa.ipn.mx/polilibros/portal/Polilibros/P_proceso/ANALISIS_Y_DISEnO_DE_SISTEMAS/IngenieriaDeSoftware/CIS/UNIDAD%20I/1.3.htm.
No hay comentarios:
Publicar un comentario