sábado, 9 de marzo de 2013

Mitos de Software


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