Control de la calidad y sus costos

Olores de software

Existen diversas prácticas que son consideradas inadecuadas para lograr un producto de software calificado, y que en la mayoría de las veces provocan que el costo sea mayor que el planificado desde las primeras etapas de construcción. En este caso, se abordarán consecuencias de algunas de estas malas prácticas reflejadas en el software, consecuencias denominadas “olores de software”, las cuales se detallarán a continuación:

  • Rigidez

Cualidad demostrada cuando es difícil ejecutar un cambio en el software. Un ejemplo de ello es un cambio que es aparentemente sencillo, pero al ejecutarlo resulta más difícil de lo esperado. Una razón de este comportamiento es que un cambio conlleve una cascada de cambios asociados. (BEEVA | Soluciones de tecnología e innovación para empresas, 2017)

  • Fragilidad

Cualidad sumamente relacionada con la rigidez, que consiste en la tendencia a la ruptura del software en sus diferentes partes, cuando se ejecuta un cambio en alguna de ellas.

  • Inmovilidad

Cualidad que consiste en la imposibilidad o dificultad de reutilizar software en otros proyectos. Por ejemplo, el intento de reutilizar código fuente o un módulo, pero al estar tan acoplado al proyecto al que pertenece que el esfuerzo que habría que realizar para usarlo de nuevo es demasiado grande. (Ernesto Ocampo, 2017)

  • Viscosidad

Es la cualidad que tiene el software a cambiar fácilmente, después de una modificación. Es decir, si es fácil realizar cambios que mantengan el diseño, el software es poco viscoso. (BEEVA | Soluciones de tecnología e innovación para empresas, 2017)

  • Opacidad

Cualidad que provoca que sea difícil leer y entender el código fuente del software. Puede ser provocado por diversas razones tales como: falta de documentación del código, nombramiento incoherente al contexto de las variables, clases, paquetes, etc., entre otras.

  • Complejidad innecesaria

Hace referencia a la codificación del software de manera sofisticada anticipándose a futuros cambios, o bien estructuras de código que no son necesarias actualmente, pero que podrían ser usadas posteriormente. (Ernesto Ocampo, 2017)

  • Repeticiones innecesarias

Ocurre cuando se copia y pega una fracción de código en varias partes del código fuente del software. Una consecuencia es que cuando que haya que realizar un cambio, éste se tenga que realizar en varios sitios con lo que multiplica el esfuerzo. (BEEVA | Soluciones de tecnología e innovación para empresas, 2017)

Fuentes bibliográficas

BEEVA | Soluciones de tecnología e innovación para empresas. (2017). Los 7 olores del software. [online] Available at: https://www.beeva.com/beeva-view/desarrollo/los-7-olores-del-software/ [Accessed 13 Aug. 2017].

Ernesto Ocampo. (2017). Síntomas de un diseño en rompimiento.. [online] Available at: https://ocampocicero.wordpress.com/2011/05/04/sintomas-de-un-diseno-en-rompimiento-software/ [Accessed 13 Aug. 2017].

Comentarios

Entradas populares de este blog

Niveles de pruebas

Ejecución de pruebas

Propiedad intelectual y licenciamiento